您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> 关于BLACKFIN的一些疑问,希望老手赐教
本帖共有1235个阅读者
发表帖子 发表投票 回复主题
关于BLACKFIN的一些疑问,希望老手赐教
xiehaolin1982(论坛新手)
xiehaolin1982
头衔:社区公民
帮派:无帮无派
帖数:15
金钱:237
积分:21
注册时间:2011/10/31
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
关于BLACKFIN的一些疑问,希望老手赐教
首先在这里需要感谢一下ANDY,在他的帮助下,我的blackfin终于跑起来了,
我现在在用ADZS-BF518F-EZ-BRD的开发板(ADI的开发板),我有一些疑问,希望老手们不理赐教:
1. 在把代码烧入外挂的SPI FLASH后,代码是能启动,但是慢得离谱,我数过,大概需要20-30秒(代码大概750K左右吧,我通过查看我烧写后占用得 BANK数目而得),软件才运行,不知这是什么原因。(通过并口的FLASH启动很正常,这应该说明我的软没问题,而且软件是ADI的例子)。
2. 每次代码启动时,是不是先把它load到外部sdram后才运行?能不能在内部的ram运行?如果可以,在烧写的时候,需要做什么设置?还是软件需 做什 么设 置?(我看OPENADS的视频,似乎在FLASH的那一章视频中,有提到如果用内部的L1,可以不用初始化代码)。
3. 代码启动时,我们能不能指定代码load到SDRAM的地址?可以应该如何设定?
4. 在LOAD的OPTIONS的选项下,有一个user default start address ,这个是做什么用得?
5. 在烧写软件是binary的时候,那个offset是做什么用得?(默认是0x0)
6. BLACKFIN我外部存储器映射到内部地址,对于FLASH而言是从0X2000000开始,一共是4M,我想问下,如果我需要用外面的SPI FLASH启动, 需要 用到AMS3,那么我外面的并口的FLASH就只剩下3M了,而对于外挂的这个SPI FLASH,是不是只能用到1M(因为对于BLACKFIN它对 FLASH的映射 地址只有4M)? 还是说用到SPI FLASH的时候,可以没有限制?(如果是这样,那是为什么?)
7. 如何查看我生成的LDR的代码大小?

首先感谢下进来回答的老手,谢谢~~~~~~~~~

「该帖子被 xiehaolin1982 在 2012-01-08 01:14:59 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/1/8 0:50:25
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

1. 在默认情况下,SPIBOOT的速度是500KHz,很慢,这是为了兼容更多的flash而设置的,如果想增加速度,你可以找到在生成load文件时加载的initioncode文件,那个文件主要是用来初始化SDRAM,但也可以通过该文件来配置处理器各个接口的速度,你可以通过该文件配置PLL和SPI接口的速度,然后重新生成DXE,在工程生成load文件时,将该DXE加入即可提高速度。

2. 在我们的视频中,有一章是讲LDF文件的,这个文件可以分配处理器内存,同时也可以通过section指令将代码中使用的内存指向SDRAM或者l1,同样,这个指令也可以将代码中的函数指向你需要放置的位置。

代码生成的烧写文件LDR,其格式是以片段部分排列的,每一个片段都有个10个字节的头,其表示该片段数据需要放置的位置及大小等,如果你通过section指定了该代码放置在SDRAM中,则在代码从flash加载时,会通过BOOTROOM将该片段放入的指定的SDRAM地址中,这些视屏中有讲。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/1/8 2:29:00
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

3. 通过在代码中加入section指定

4. 表示生成的LDR文件会从0地址开始排列,写入flash有效数据从0地址开始,指定后会从指定的地址开始有效数据。

5. 表示要写入的代码从flash的哪个地址开始写入。比如你有一个图片数据,在你的代码中你会从flash地址20040000地址读取这个图片数据,那么你在写入flash时,将你的代码从0地址开始写入,如果flash的40000这个地址没有被占用,那么再次写入flash时,选择不擦除flash,然后将你的图片数据写入地址设置为40000,这样你的代码在flash运行时,就可以从20040000这个地址读取到图片数据。

因为flash默认是bank0地址开始,即0x20000000,所以你设置0x40000,其实际地址是0x20040000


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/1/8 2:36:12
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

6. 这个4M地址,指的是异步bank的地址,即挂载在EBIU上面的flash的地址,如果没有AMS3,其只能访问4Mflash的3M。对于SPIflash来说,其寻址方式是通过命令串行写入地址,所以其大小不会受到限制,其接口不属于EBIU,更不会受到AMS3的限制,其只是在BF518上和SPI共用接口而已。

7.通常将其写入看在flash占用的空间。其他的方法我没注意过。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/1/8 2:40:43
guigu111(论坛新手)
guigu111
头衔:社区公民
帮派:无帮无派
帖数:29
金钱:274
积分:30
注册时间:2011/11/15
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
andy好强大,andy能不能简单介绍下你的履历啊,我猜你以前在西安求学

「该帖子被 guigu111 在 2012-01-08 14:07:17 编辑过」

you can do it
等级:论坛新手 参考IP地址:*.*.*.*
2012/1/8 14:05:03
xiehaolin1982(论坛新手)
xiehaolin1982
头衔:社区公民
帮派:无帮无派
帖数:15
金钱:237
积分:21
注册时间:2011/10/31
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
谢谢ANDY

「该帖子被 xiehaolin1982 在 2012-01-08 14:25:44 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/1/8 14:25:26
尊贵身份标志
夜色飘摇(论坛版主)
夜色飘摇
头衔:社区公民
帮派:无帮无派
帖数:350
金钱:1773
积分:332
注册时间:2011/6/8
6信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
Andy同学是机械专业出身,初中一直到大学主修的外语是日语,英文只能看懂Datasheet里的那些单词,属于一朵走了偏门的奇葩...

「该帖子被 夜色飘摇 在 2012-01-09 23:58:26 编辑过」

我要成为勇敢的海上战士!
等级:论坛版主 参考IP地址:*.*.*.*
2012/1/9 23:55:12
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154373 Call, 1 Queries, Processed in 0.015625 second(s),