分类:
2007-03-12 22:01:11
这里所指的FlashWrite是与Banyan-U ARM仿真器配套及其后台服务程序配套使用的FLASH烧写工具,可以通过仿真器的JTAG接口将程序烧写到FLASH存储器中。
使用FlashWrite之前要先运行Banyan Daemon,在配置和初始化目标板之后,才能将程序烧写到FLASH中。FlashWrite的配置窗口如下:
主要是配置FLASH和RAM的起始地址,并且添加初始化命令。图中设置的RAM起始地址为0x
随后要初始化目标板,在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空间作为缓冲区。
2.AXD中的Flash Downloader实际上使用的也是上面的第二种方法。不过,该工具支持的开发板平台、处理器与FLASH芯片类型很少,具体可以参考ADS手册《AXD and armsd Debuggers Guide》。
3.AXD中的Load Image.../ Load memory from file.... / getfile / loadbinary 菜单和命令不能对FLASH进行烧写,其操作对象为RAM。
4.关于Banyan-U仿真器关盘中的FlashWrite与FlashAccess:FlashWrite可支持各种ARM处理器,但不支持简易JTAG电缆;FlashAccess只支持带DCC(Debug Communications Channel)的处理器,因此不支持XScale核,但能支持简易JTAG电缆。
【参考资料】
(1)FlashWrite使用手册,上海宏诺信息技术有限公司
(2)通过MULTI ICE烧写FLASH,陈猛
(3)AXD and armsd Debuggers Guide,ARM Limited
【本文PDF文档点此下载 】