首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用FlashWrite烧写FLASH

使用FlashWrite烧写FLASH

这里所指的FlashWrite是与Banyan-U ARM仿真器配套及其后台服务程序配套使用的FLASH烧写工具,可以通过仿真器的JTAG接口将程序烧写到FLASH存储器中。
使用FlashWrite之前要先运行Banyan Daemon,在配置和初始化目标板之后,才能将程序烧写到FLASH中。FlashWrite的配置窗口如下:


主要是配置FLASHRAM的起始地址,并且添加初始化命令。图中设置的RAM起始地址为0x5c000000,是PXA270的内部SRAM的起始地址,因为在烧写FLASH过程中,FlashWrite要占用部分RAM空间;也可以设置为外部SDRAM的地址0xa0000000,这就必须加入初始化SDRAM的命令(这些命令与AXD中加载映像文件到SDRAM中的初始化命令是一样的),如图,通过写相关寄存器来初始化SDRAM。添加好初始化命令后,使用“Export”功能可以把命令保存为一个*.ini文件;如果已经存在包含初始化命令的*.ini文件,可使用“Import”导入命令。(顺便指出,这里的Ram Start Address并不必须要是某一RAM的起始地址,而是供FlashWrite使用的RAM区,因此,只要该地址在RAM空间并且其后的空间足够大就可)

随后要初始化目标板,在FlashWrite主界面点“Initialize”,成功返回如下:


初始化之后,要选择正确的FLASH器件型号,也可以自动检测,在FlashWrite主界面点“Detect”,成功返回如下:


配置好之后,还可以在FlashWrite主界面将当前配置保存为*.cfg文件。这样下次启动FlashWrite时,会自动调用上次的配置(也可手工指定*.cfg文件进行配置),在FLASH芯片窗口的型号为蓝色,初始化成功后变为红色。如图:


初始化成功之后,就可以烧写FLASH了,选Operation->Program,指定好文件路径和选项,点“Start”即可,如图:


如果出错,则需要先在Banyan Daemon中复位目标处理器,再重新初始化进行烧写。



关于烧写FLASH的几点补充说明:

1.烧写FLASH常见的两种方法是:一是使用简易JTAG线(不带仿真器),用边界扫描的办法来烧写FLASH,这种方法中,目标处理器是不工作的,烧写速度很慢,例如在linux下使用jflashmm工具来烧写;二是通过JTAG仿真器,将“烧写FLASH的程序”下载到目标系统RAM中并运行此程序,实现对FLASH的烧写,这种情况下,由目标处理器来执行烧写FLASH的命令,速度较快,这时可使用与仿真器及其上位机服务程序配套的FLASH烧写程序例如本文的FlashWrite,也可以自行编写FLASH烧写程序。这也是为什么FlashWrite要占用部分RAM空间的缘故,当然,要烧写的文件也要占用RAM空间作为缓冲区。

2AXD中的Flash Downloader实际上使用的也是上面的第二种方法。不过,该工具支持的开发板平台、处理器与FLASH芯片类型很少,具体可以参考ADS手册《AXD and armsd Debuggers Guide》。

3AXD中的Load Image.../ Load memory from file.... / getfile / loadbinary 菜单和命令不能对FLASH进行烧写,其操作对象为RAM

4.关于Banyan-U仿真器关盘中的FlashWriteFlashAccessFlashWrite可支持各种ARM处理器,但不支持简易JTAG电缆;FlashAccess只支持带DCCDebug Communications Channel)的处理器,因此不支持XScale核,但能支持简易JTAG电缆。
继承事业,薪火相传
返回列表