Chinaunix首页 | 论坛 | 博客
  • 博客访问: 465179
  • 博文数量: 68
  • 博客积分: 2606
  • 博客等级: 上尉
  • 技术积分: 1308
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-13 23:01
文章分类
文章存档

2012年(6)

2011年(62)

分类: LINUX

2011-12-31 09:46:03

------------------------------------------
本文为本人原创,欢迎转载!
转载请注明出处:snowboy.blog.chinaunix.net
雪夜流星
------------------------------------------
本文参考了下面几篇文章,在此表示感谢。
http://againinput4.blog.163.com/blog/static/1727994912011760847746/
http://blog.mcuol.com/User/Leo_lei/Article/36503_1.htm
JLink烧写Nor Flash步骤 -上海嵌入式家园-开发板商城.pdf(这里由于版权问题就不贴出了)

成都国嵌的课程:国嵌体验入门班-2-1(开发板系统安装-Jlink方式).rar毒害了不少人,那种直接烧写nor flash,不进行任何配置的方法,能够成功纯属偶然,他自己在视频中烧写时也出现了两次错误,可却没有意识到他的操作有问题,误认为是jlink不稳定,先将此文贴出,将其错误方法纠正。

如果你用国嵌的方法直接烧写nor flash,会出现下面的错误:
如果你按照国嵌的说法认为这是jlink不稳定,多试几遍就好了,你就会发现这个错误像魔鬼一样跟着你,对你不离不弃,这个方案我验证了几十次,没有一次是成功的,于是我开始寻找错误的根源。后面问题得到解决,现将方案总结如下:
方案1.
如果你有mini2440或者是你板子对应的配置文件,这个问题就很好解决,file->open project,选中初始化工程文件:

其次,option->project settings选择Flash,点击select flash device,选中开发板对应的nor flash芯片型号,我的板子采用得是s29AL016M90TFI02,这里我选择s29AL016M90TFI02
设置好前面这些之后,就可以进行下面的烧写工作了,通过这种方式一次烧写成功。

如果你没有这个配置文件,不要紧,下面我将这个配置文件对应j-Flash配置的内容截图如下,大家可以作为参考:

方案2:

1. 看着这现象,貌似是RAM不稳定或者没有初始化好,而导致J-Flash ARM运行有问题,没有正常烧写。

所以去尝试取消了RAM,即Options -> Project Settings -> CPU中,取消Use target RAM(faster)的话,好像是不会出错的,但是烧写起来,速度就太慢了,是一个一个字节烧写的,烧个200多K的u-boot.bin的话,估计得几十分钟,所以无法忍受。

还是需要用到Use target RAM(faster)来实现快速烧写的,这个只要一二十秒即可。

2.后来又去更改JTAG的工作频率,从很低的100KHZ到很高的4MHz,12MHz等,或者是Auto模式,都试了试,但是还是会出错。

3. 后来又去折腾,更改很多设置,看看是否有用。最后的最后,幸运地,终于找到解决办法了:

Options -> Project Settings -> CPU -> 'Use following init sequence:'中,默认只有一行:

0 reset  0 0ms reset and Halt target,

然后选中该行,点击Edit,修改Delay为2ms,确定,即可。

方案3:
options-->project settings-->CPU中的Use following init sequence中的Action一定要把Reset改成Halt

方案3我试了一次,没有成功,也许可行,但方案1是最保险的,大家可以几种方法都尝试一下,如果有任何问题,欢迎大家多多交流。
阅读(14107) | 评论(6) | 转发(3) |
给主人留下些什么吧!~~

diyff832014-01-07 16:15:18

这个问题也困扰了我很久,分享一下我的经验和疑惑:

1.
Options -> Project Settings -> CPU中Use target RAM(faster)
这个按道理应该设成 40000000 4K 就是极限的,但是我设成64K居然也没出错,有大牛解释一下不??

2.
Options -> Project Settings -> CPU -> 'Use following init sequence:'中,默认只有一行:
0 reset  0 0ms reset and Halt target,
这一行我试过改成 5ms 10ms,反而出错更频繁了,和楼主的情况正好相反
改成0ms反而效果最好

3.我现在是就加一句关看门狗,就很OK了,下载1.1M的bin文件到Nor Flash 都能成功

licongyu952012-09-11 19:21:24

楼主有爱啊,今天刚遇到这问题,烧写提示错误,尤其列出寄存器的值,我还以为是我把cpu寄存器有些保留位弄坏了,吓了一身汗啊,谢谢楼主

snowboy98592012-03-06 16:52:28

cool2515: 多谢楼主,被这个东西搞得苦不堪言,还真以为不稳定!.....
不客气,不要太相信教程,要相信自己的实践,尽信书不如无书。

cool25152012-03-06 15:31:36

多谢楼主,被这个东西搞得苦不堪言,还真以为不稳定!