标题:
使用FlashWrite烧写FLASH
[打印本页]
作者:
yuyang911220
时间:
2015-2-27 13:46
标题:
使用FlashWrite烧写FLASH
这里所指的
FlashWrite
是与
Banyan-U ARM
仿真器配套及其后台服务程序配套使用的
FLASH
烧写工具,可以通过仿真器的
JTAG
接口将程序烧写到
FLASH
存储器中。
使用
FlashWrite
之前要先运行
Banyan Daemon
,在配置和初始化目标板之后,才能将程序烧写到
FLASH
中。
FlashWrite
的配置窗口如下:
主要是配置
FLASH
和
RAM
的起始地址,并且添加初始化命令。图中设置的
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
空间作为缓冲区。
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
电缆。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0