使用J-Link下载程序到Nor Flash

TX-2440A的开发板入手了,很兴奋呐。 教程也是认真的看。但是遇到了一个问题,教程中讲解了使用H-JTAG烧写整板测试程序的方法,但是没有讲如何用J-Link下载,这使我这个只能使用J-Link(我的笔记本只有USB口,没有并口,也没有串口。郁闷...)的人相当无语了,当然视频教程我还没全看完,也许后边有方法。就不找了,自己搞定吧。这中间遇到了不少问题,记录一下(前辈就不要笑我了,毕竟我新学):

1. 熟悉J-Link。

安装完J-Link程序后出来两个图标:J-Link ARM V4.02a 和J-Flash ARM V4.02a。其中J-Link ARM就是一个命令行工具,个人感觉这个工具相当不错,其中几个比较有用的命令如下:

    1)speed  //用来设置传输速度,例如speed 12000可以设定速度为12000KHz

    2)mem //用来读取地址数据,用法mem <地址>,<长度>;例如mem 0x40000000, 10就可以打印出从地址40000000开始向后的10个字节内容

     3)loadbin // 用来下载bin文件到存储器的任意地址。用法loadbin  <文件名> <地址>,例如loadbin e:/u-boot.bin 0x0就可以把u-boot下载到0x00000000地址处

 J-Flash ARM是用来单独编程flash的,我用它来烧写程序。

2. J-Flash ARM的配置。

   一般说来file-->open project里面会找到一些*.jflash的配置文件,加载他们就行了,但是我没找到适合S3C2440的。所以自己建了一个TX-2440.jflash,手动进行配置:

     1) options-->project settings-->CPU中不选check core ID(这个ID实际上可以用命令行工具看到),选中Use Target RAM(faster),如果不选这个的话下载巨慢。addr中填40000000,4KB(根据2440的datasheet)。

      2) options-->project settings-->CPU中的Use following init sequence中的Action一定要把Reset改成Halt(改成别的不知道行不行,没有试),不然会在烧写过程中出现如下错误:PC of target system has unexpected value after erasing sector. 就是这个错误困扰了我两个小时有余。 原因我想是这样的:烧写时不知为啥可能watchdog还在动作,所以写着写着系统reset了。 不知道我的理解对不对,有知道的大侠帮助确认一下,多谢了!

      3)options-->project settings-->Flash中选中Automatically detect flash memory自动检测flash类型

    这样基本就可以了,嘿嘿。

你可能感兴趣的:(Flash)