打印
[ARM入门]

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

[复制链接]
850|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
龙溪傲|  楼主 | 2015-11-1 11:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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类型
    这样基本就可以了,嘿嘿。


相关帖子

沙发
阿南| | 2015-11-2 09:05 | 只看该作者
不错,支持

使用特权

评论回复
板凳
leihen0525| | 2015-12-17 13:08 | 只看该作者
你的思路是有问题的,知道为什么JLINK没有这个文件吗,这个你对ARM体系架构还是不是很熟悉,在ARM体系架构中,nor flash和nand flash对于下载程序是不同的,nor flash挂在在ARM外围,地址一定要映射到总线上,才能被JLINK下载,但是下载前必须用JLINK初始化ARM内部资源,如果挂载的是nand flash那就没戏了,就只能老老实实的UBOOT吧,原因很简单JLINK 不能直接访问nand flash 只能访问flash控制器,然后用控制器才能操作flash,这个是JLINK实现不了的,就指点到这吧

使用特权

评论回复
地板
龙溪傲|  楼主 | 2015-12-17 22:02 | 只看该作者
leihen0525 发表于 2015-12-17 13:08
你的思路是有问题的,知道为什么JLINK没有这个文件吗,这个你对ARM体系架构还是不是很熟悉,在ARM体系架构中,n ...

嗯嗯,这是从网上转的,正在学习中

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

18

帖子

0

粉丝