使用JTAG Flash Programmer烧写Flash

除了JTAG Probe以外,TopJTAG公司还有一款JTAG Flash Programmer 软件,该软件同样利用JTAG接口和现有的各种仿真器来控制芯片,通过改变一组I/O状态,模拟总线时序来烧写Nor Flash。这种方法在产品设计和调试过程中十分常见,由于采用通用的JTAG接口,软件不用理会与Nor Flash连接的是何种设备(ARM、MIPS、CPLD、FPGA都无所谓),并且不会改变设备中的代码。

比如兔子使用的设备就是这样的结构,CPU通过CPLD进行总线复用,下挂多个存储器。此时可以通过USB-Blaster连接CPLD对Nor Flash进行编程。

 

TopJTAG官网下载地址:

http://www.topjtag.com/files/TopFlash-Setup-1.3.3.exe

 

Flash Programme与Probe售价相同,某位外国友人也为该软件制作了和谐工具,和Probe的集成在一起,需要童鞋的请见前一篇文章。

http://www.eefocus.com/nightseas/blog/13-01/291169_92042.html

 

安装并运行软件,对于新的目标设备需要点Setup进行配置。

 

首先将仿真器和目标设备连好上电,选择检测JTAG链:

 

选择仿真器类型。

 

软件会检测JTAG链上的设备。

 

和Probe一样,这里也需要加载设备的BSDL文件,可以从生产商的官网上下载。只需要加载和Flash相连设备的BSDL文件就可以了。

 

选定文件位置。

 

配置Flash信息,该软件支持大多数的Nor Flash组合形式,如两片8-Bit组成16-Bit,一片16-Bit工作在Byte(8-Bit)模式等。这里兔子使用的是单片16-Bit Flash,支持CFI(Common Flash Interface),编程方式自动即可。如果Flash不支持CFI,则需要手动指定Flash中的Sector数量和每个Sector的字节数。

 

关于Flash是否支持CFI,可以从数据手册中获知。

 

之后需要手动的把Flash的地址、数据总线和控制信号线所连接的芯片引脚一一进行分配,这部分比较麻烦,用不到的信号不用管。这里很特别的一点就是,可以用JTAG链上的多个不同设备共同对Flash进行编程,比如地址线挂在CPLD上,而数据线挂在CPU上(貌似一般没人这么干)。

 

分配完接口信号,还有一步重要操作,就是对Flash的其他控制信号进行配置,比如总线上挂载的其他设备片选要保持Disabled状态,同时Nor Flash的复位引脚需要给出确定的状态。由于不进行配置的芯片引脚默认为高阻,考虑不周会造成一些意想不到的奇怪错误。

 

设置完成后,选择Info即可查看Flash信息(记得要保存设置,不然下一次还要重新选引脚)。

 

软件也会告诉你Flash是否支持CFI。

 

下面就就可以打开要烧写的文件了。

 

烧写步骤一般是:擦除→编程→校验。可在Erase Option选择擦除范围。

 

另外针对Intel的Flash有锁定Sector功能的,编程前还要手动进行解锁。

 

开始编程……搞定!设备成功启动。

 

当然了在此之间经历了漫长的等待过程,这是由JTAG的结构决定的。倒不是说其传输数据的速率低,而是因为每当要通过JTAG的Boundry-scan改变I/O状态——哪怕只有一个引脚——也需要对所有引脚都设定一次状态。这样一来除了TCK时钟,目标芯片的引脚数也会影响编程速度。

因此这种方法多用在研发调试、测试过程中,先烧一个百K字节的Bootloader,然后通过Bootloader烧写更大的文件。不过因为其接口通用性、设备任意性以及软件的智能化,还是非常方便的,哈哈~~

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值