使用 JLink 间接烧写 S3C2410、S3C2440 开发板 Nor、Nand Flash 的方法(要求置酷!)
【楼
主
位】
jued
i
积
分:9
8
派
别:
等
级:-
----
-
来
自:
1. 简要说明
JLink 的调试功能、烧写 Flash 的功能都很强大,但是对于 S3C2410、S3C2440 的 Flash 操作有些麻烦:烧写 Nor Flash 时需要设
置 SDRAM,否则速率很慢;烧写 Nand Flash 只是从理论上能够达到,但是还没有人直接实现这点。
本文使用一个间接的方法来实现对 S3C2410、S3C2440 开发板的 Nor、Nand Flash 的烧写。原理为:JLink 可以很方便地读写内存、
启动程序,那么可以把一个特制的程序下载到开发板上的 SDRAM 去,并运行它,然后使用这个程序来烧写。
2. 操作步骤
2.1 连接硬件
对于大多数的 S3C2410、S3C2440 开发板而言,它们所用的 JTAG 接口一般有 3种(如图 1 所示),其中前两种用得比较多。
(原文件名:3 种 jtag.JPG)
但是市面上的 JLink,大多只支持第 3种 JTAG 接口,所以需要用到转接板。或者直接使用 JLink 的变种,如图 2所示的两种改进
版 JLink:
(原文件名:2 种 jlink.JPG)
以 mini2440 为例,如图 3接好 JTAG 线。
(原文件名:JLink_2440.jpg)
2.2 运行 J-Link commander
J-Link commander 启动界面如图 4所示,(如果没有发现检测到 CPU,就在里面执行 usb 命令连接 JLink,再执行 r命令识别处理
器)。
(原文件名:JLINK 启动界面.JPG)
2.3 下载运行特制的程序
对于 S3C2410、S3C2440 处理器,它们内部有 4K 的 SRAM,当使用 Nor Flash 启动时,地址为 0x40000000;当使用 Nand Flash 启
动时,地址为 0。
对于 S3C2410、S3C2440 开发板,一般都外接 64M 的 SDRAM。SDRAM 能被使用之前,需要经过初始化。
所以,先把一个 init.bin 下载到内部 SRAM 去运行,它执行 SDRAM 的初始化;然后再下载一个比较大的程序,比如 u-boot 到 SDR
AM 去动行,它将实现对 Nor、Nand Flash 的操作。
以下是在 J-Link commander 里的命令,假设 init.bin、u-boot.bin 在 e:盘下。
1. speed 12000 //设置 TCK 为 12M,下载程序时会很快
2. 下载并运行 init.bin,这是用来初始化 SDRAM 的
2.1 如果是 NAND 启动:
loadbin e:\init.bin 0
setpc 0
g
2.2 如果是 Nor 启动:
loadbin e:\init.bin 0x40000000
setpc 0x40000000
g
3. 下载特制的 uboot:
h
loadbin e:\u-boot.bin 0x33f80000
setpc 0x33f80000
g
上述操作命令可以参考图 5。
(原文件名:使用 jlink 下载运行 uboot.JPG)
现在,u-boot 已经启动了,在串口工具上可以看到如图 6所示界面,以后就可以通过网络、串口下载文件,然后使用 u-boot 里
的命令进行烧写。
(原文件名:u-boot 启动界面.JPG)
当然,如果没有网络,也不想忍受串口的速率,也可以通过 jlink commander 下载,比如:
h
loadbin your_file.bin 0x30000000
g
这时,你的文件已经被下载到 SDRAM 0x30000000 去了。
后面的操作就是 u-boot 的命令了。
2.4 使用 u-boot 烧写 Flash
以例子为例,假设需要烧写一个名为 leds.bin 的程序到 Nor、Nand Flash,那么请参考:
(1).通过 Jlink 下载:
在 J-Link commander 里执行:
h
loadbin e:\leds.bin 0x30000000
g
注意 leds.bin 的大小
(2).通过 u-boot 烧写到 Nor Flash:
在 u-boot 里执行:
protect off all // 解锁
erase 0 2ffff // 擦除从 0地址开始的大小为 0x30000 的 NOR Flash 扇区(大小为可擦除块的整数倍,可以运行 flash i
nfo 命令查看)
cp.b 0x30000000 0 30000 // 把前面下载到 0x30000000 的程序烧写到 NOR 去
(3).通过 u-boot 烧写到 Nand Flash:
在 u-boot 里执行:
nand erase 0 30000 // 擦除从 0地址开始的大小为 0x30000 的 Nnad Flash 扇区
nand write.jffs2 30000000 0 30000 // 把前面下载到 0x30000000 的程序烧写到 Nand 去
注意,上面用的 2ffff、30000 等数字是 192K,如果你的程序比较小,请自行设置。
本贴被 juedi 编辑过,最后修改时间:2009-03-04,14:30:34.
__________________________
JLink v7/USB 转串口二合一:http://item.taobao.com/auction/item_detail-0db1-7c5ece7925a0451df3e1515dc43f3912.jhtml
JLink v7 with 3 JTAG: http://item.taobao.com/auction/item_detail-0db1-a42180afa5f5fba1ba7025e04aec8dd5.jhtml
OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:http://item.taobao.com/auction/item_detail-0db1-47aeeccb54e9c1c3889a5327
6d52d7f1.jhtml
20
09-0
3-0
4,1
4:2
8:40
资料 邮件 编辑 删除
好东西 【1楼】 heky
积分:702
派别:
等级:------
来自:
2009-03-04,14:37:
36
资料 邮件 编辑 删除
init.bin 用汇编写成,位置无关,可以在任何地方执行。
u-boot.bin 也是经过了我的大量修改,可以适用于友善之臂、优龙、扬创等等开发板,具备以下特
点:
1. 支持 CFI、JEDEC 接口的 NOR FLASH
2. 支持各种 NAND FLASH
3. 支持网络 CS8900、DM9000
4. 支持 USB 下载
5. 支持烧写 YAFFS 文件系统映象
下载地址为:http://ouravr.com/bbs/bbs_upload34876/files_12/ourdev_422781.rar
这两个程序是我为了基于 FT2232D 的 OpenJTAG 编写、修改的,后来想想在 JLink 上也可以使用。
实际上,针对基于 FT2232D 的 USB JTAG 工具,我已经编写了一个 NOR、NAND FLASH 烧写器,目前 JL
INK 烧写 NAND 的工具还在研究中。
这是一种间接的、麻烦的、通过 u-boot 烧写 NOR、NAND 的方法,但是:速度很快,并且对于 JLink
似乎也没人搞定烧写 NAND。
PDF 文档在此:
点击此处下载 ourdev_423580.rar(文件大小:711K) (原文件名:使用 JLink 间接烧写 S3C2410、S3C2
440 开发板 Nor、Nand Flash 的方法.rar)
【2 楼】 juedi
积分:98
派别:
等级:------
来自:
__________________________
JLink v7/USB 转串口二合一:http://item.taobao.com/auction/item_detail-0db1-7c5ece7925a04
51df3e1515dc43f3912.jhtml
JLink v7 with 3 JTAG: http://item.taobao.com/auction/item_detail-0db1-a42180afa5f5fba1b
a7025e04aec8dd5.jhtml
OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:http://item.taobao.com/auction/item_detail-0db1
-47aeeccb54e9c1c3889a53276d52d7f1.jhtml
2009-03-04,14:38:
19
资料 邮件 编辑 删除
顶一个,好东东 【3楼】 yangsen
积分:1199
派别:
等级:------
来自:
2009-03-04,14:49:
02
资料 邮件 编辑 删除
【4楼】 zlei
积分:441
派别:
LZ 的板子吃满灰尘……
本贴被 zlei 编辑过,最后修改时间:2009-03-04,15:09:26.
等级:------
来自:
2009-03-04,15:08:
21
资料 邮件 编辑 删除
请看 OpenJTAG 的说明书.......楼主你的
办法
鲁班奖评选办法下载鲁班奖评选办法下载鲁班奖评选办法下载企业年金办法下载企业年金办法下载
早就被用了,不就是间接利用 UBOOT 么?换汤不换药
哦。
话说现在的 jlink 这么厚道啊,竟然引 3种不同接口的线,不错不错,我的老 jlink 自己做转接板
做的半死 orz
【5 楼】 Etual
积分:287
派别:
等级:------
来自:广东佛山
__________________________
suffering from C library
blog : http://etual.cublog.cn
2009-03-04,15:15:0
8
资料 邮件 编辑 删除
楼上,OpenJTAG 也是我出的,:) 【6 楼】 juedi
积分:98
派别:
等级:------
来自:
__________________________
JLink v7/USB 转串口二合一:http://item.taobao.com/auction/item_detail-0db1-7c5ece7925a04
51df3e1515dc43f3912.jhtml
JLink v7 with 3 JTAG: http://item.taobao.com/auction/item_detail-0db1-a42180afa5f5fba1b
a7025e04aec8dd5.jhtml
OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:http://item.taobao.com/auction/item_detail-0db1
-47aeeccb54e9c1c3889a53276d52d7f1.jhtml
2009-03-04,15:18:
11
资料 邮件 编辑 删除
to 5f:
juedi == weidsh, indirect
【7 楼】 Totry
积分:204
派别:
等级:------
来自:Nanjing.JS
2009-03-04,15:20:
20
资料 邮件 编辑 删除
to 6f:
faint...so fast...
【8 楼】 Totry
积分:204
派别:
等级:------
来自:Nanjing.JS
2009-03-04,15:21:
38
资料 邮件 编辑 删除
飞过~ 【9 楼】 nimo
积分:51
派别:
等级:------
来自:
2009-03-04,16:37:
25
资料 邮件 编辑 删除
噢,原来如此,失敬失敬 :) 【10 楼】 Etual
积分:287
派别:
等级:------
来自:广东佛山
__________________________
suffering from C library
blog : http://etual.cublog.cn
2009-03-05,00:00:5
2
资料 邮件 编辑 删除
bin 文件下不了,留名支持一下,买了 jlink 还没来得及学习 【11 楼】 deadleon
积分:24
派别:
等级:------
来自:
2009-03-05,00:08:
53
资料 邮件 编辑 删除
JLINK 不是"原装"的:) 【12 楼】 stephon1
积分:305
派别:
等级:------
来自:
2009-03-05,08:31: 资料 邮件 编辑 删除
13
应该给裤子 【13 楼】 wangxiaoacc
积分:587
派别:
等级:------
来自:
__________________________
点燃激情,传递梦想。守望汶川!中国不哭!!
2009-03-05,10:42:2
3
资料 邮件 编辑 删除
支持 刚 80 元淘了个 JLINK V7 正不知怎么用
【14 楼】 xiangyuan_1
22
积分:67
派别:
等级:------
来自:
2009-03-05,14:39:4
2
资料 邮件 编辑 删除
顶一个,好东东 【15 楼】 zjn8888
郑建宁
积分:320
派别:
等级:------
来自:深圳
__________________________
/************************************************/
专业销售中小尺寸 TFT 液晶屏,STM32 开发板
QQ : 825425027
MSN: zjn_8888@yahoo.cn
http://shop36409700.taobao.com
/************************************************/
2009-03-05,15:21:
41
资料 邮件 编辑 删除
记号 【16 楼】 zhang7cy
积分:11
派别:
等级:------
来自:
2009-03-05,17:13:
31
资料 邮件 编辑 删除
遗憾,bin 文件下载不了! 【17 楼】 sztv
积分:21
派别:
等级:------
来自:
2009-03-10,18:31:
44
资料 邮件 编辑 删除
难道是太大了?里面有 UBOOT 源码,7、8M 【18 楼】 juedi
积分:98
派别:
等级:------
来自:
__________________________
JLink v7/USB 转串口二合一:http://item.taobao.com/auction/item_detail-0db1-7c5ece7925a04
51df3e1515dc43f3912.jhtml
JLink v7 with 3 JTAG: http://item.taobao.com/auction/item_detail-0db1-a42180afa5f5fba1b
a7025e04aec8dd5.jhtml
OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:http://item.taobao.com/auction/item_detail-0db1
-47aeeccb54e9c1c3889a53276d52d7f1.jhtml
2009-03-11,01:52:
54
资料 邮件 编辑 删除
bin 文件下载不了,楼主从传一下吧! 【19 楼】 chaplin19
99
积分:70
派别:
等级:------
来自:
2009-03-11,08:24:
38
资料 邮件 编辑 删除
【20 楼】 juedi
积分:98
派别:
等级:------
来自:
好,重上传,适用于
64M 32bit SDRAM,512 字节/页的 NAND,CFI、JEDEC NOR FLASH
bin 文件:
点击此处下载 ourdev_424910.rar(文件大小:86K) (原文件名:bin.rar)
源码(把文件重命名为 u-boot-1.1.6_OpenJTAG.tar.bz2):
点击此处下载 ourdev_424911.rar(文件大小:6.29M) (原文件名:u-boot-1.1.6_OpenJTAG.tar.bz2.
rar)
__________________________
JLink v7/USB 转串口二合一:http://item.taobao.com/auction/item_detail-0db1-7c5ece7925a04
51df3e1515dc43f3912.jhtml
JLink v7 with 3 JTAG: http://item.taobao.com/auction/item_detail-0db1-a42180afa5f5fba1b
a7025e04aec8dd5.jhtml
OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:http://item.taobao.com/auction/item_detail-0db1
-47aeeccb54e9c1c3889a53276d52d7f1.jhtml
2009-03-11,11:14:
05
资料 邮件 编辑 删除
用的QQ2440 USB转的串口 按以上步骤下载了U-BOOT 怎么串口终端没有数据返回啊 波特率也是设
置的 115200 USB 转串口的我单独测试 连接 2 3 脚收发段 串口终端发送数据可以接收到
【21 楼】 xiangyuan_1
22
积分:67
派别:
等级:------
来自:
2009-03-17,10:35:2
6
资料 邮件 编辑 删除
你是怎么下载执行的呢?如果串口无输出,那么执行 h 命令,如果发现 PC 值为 0x33f9xxxx,就表明
UBOOT 已经运行,否则再重新试一次。
【22 楼】 juedi
积分:98
派别:
等级:------
来自:
__________________________
JLink v7/USB 转串口二合一:http://item.taobao.com/auction/item_detail-0db1-7c5ece7925a04
51df3e1515dc43f3912.jhtml
JLink v7 with 3 JTAG: http://item.taobao.com/auction/item_detail-0db1-a42180afa5f5fba1b
a7025e04aec8dd5.jhtml
OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:http://item.taobao.com/auction/item_detail-0db1
-47aeeccb54e9c1c3889a53276d52d7f1.jhtml
2009-03-27,00:48:
18
资料 邮件 编辑 删除
标记下! 【23 楼】 qiu1123
积分:39
派别:
等级:------
来自:
2009-04-07,23:20:
35
资料 邮件 编辑 删除
留个爪印 【24 楼】 ShawnLinson
昇
积分:98
派别:
等级:------
来自:广州->南京
__________________________
Email:ShawnLinson@gmail.com
2009-04-08,08:41:2
2
资料 邮件 编辑 删除
cool 【25 楼】 robinyuan
积分:882
派别:
等级:------
来自:
__________________________
----------------------------------------------
常用链接收藏:http://www.21ic.com/ http://www.hotpage.net.cn/
Http://www.stmfans.com/bbs/?fromuid=2480 强烈推荐一个好的 STM32 论坛!煮茶村长搞的!Ver
y Good!
http://www.mcufz.com/bbs ARM proteus 仿真
http://bbs.shejis.com/?fromuid=78191 不错的一个设计论坛 百思
2009-04-12,23:49:3
6
资料 邮件 编辑 删除
标记下! 【26 楼】 lbing2002
积分:98
派别:
等级:------
来自:
2009-04-13,11:26:
25
资料 邮件 编辑 删除
烧写 Nor Flash 时设置内部 SRAM (0x40000000)下载也很快。把 bootloader 下入到 nor 中执行也
好啊。
【27 楼】 babe
积分:1
派别:
等级:------
来自:
2009-04-13,15:50:
25
资料 邮件 编辑 删除
请问 u-boot 为什么要放到 0x33f8000 处呢? 有特别用意吗? 【28 楼】 eyecan
积分:27
派别:
等级:------
来自:
2009-04-13,17:44:
04
资料 邮件 编辑 删除
郁闷啊,为什么下载 init.bin 很正常,我的 4个用户 LED 还会有反应。但是,按照方法下载 u-boo
t.bin 就会出错!怎么会这样呢????我用 NAND 和 NOR 都试过,都不行,是不是那个 0x33f8000
0 有什么用意呢?
【29 楼】 honami520
积分:1035
派别:
等级:------
来自:武汉
2009-04-29,23:26:4
6
资料 邮件 编辑 删除
那个 0x33f8000 是在 uboot 源码里设定的
理论上可以在内存中任何可用位置,但考虑到不能影响内核加载,所以一般放在一个高端地址
【30 楼】 watercat
积分:2860
派别:
等级:------
来自: __________________________
我认为:
赴汤蹈火舍生取义固然是一种境界,但站在安全的彼岸招呼此岸的人们,并尽量把正确的过河方向告
诉此岸之人,则也是一种行动的方式。
2009-04-30,03:00:
33
资料 邮件 编辑 删除
现在继续开始郁闷了!用 sjf2410 下载了 sbc_vivi 到 NAND FLASH 里成功后,怎么都不能启动!用
串口线连接开启了超级终端或者串口助手或者 XXX 各种软件(同时只有 1个存在),都没有收到 VI
VI 发的任何数据!不知道是 VIVI 没有启动还是别的原因!绝望了!!!!!!!!!!
【31 楼】 honami520
积分:1035
派别:
等级:------
来自:武汉
2009-05-01,00:10:4
3
资料 邮件 编辑 删除
为了方便大家,我对楼主提供的 u-boot1.1.6 和官方发布的版本做了一下 diff,方便下载。
diff 文件 ourdev_445775.rar(文件大小:62K) (原文件名:diff.rar)
【32 楼】 crystone
积分:3
派别:
等级:------
来自:
2009-05-18,13:06:
28
资料 邮件 编辑 删除
这段时间正弄 2410,谢谢楼主提供! 【33 楼】 252177861
白色简单
积分:346
派别:
等级:------
来自:湖南
__________________________
把微笑留给伤害你最深的人
2009-05-18,14:04:0
2
资料 邮件 编辑 删除
楼上的们,你们下了 init.bin 了码??我下不了啊? 【34 楼】 kedadiaob
ing
积分:150
派别:
等级:------
来自:
2009-05-20,11:19:
00
资料 邮件 编辑 删除
根本就是用 uboot 烧写 nand flash
如果板子上只有 nand 没有 nor 怎么办?
【35 楼】 laoki8888
阿虚
积分:650
派别:
等级:------
来自:南京东大
__________________________
阿虚的电子小屋
http://hi.baidu.com/aokikyon
2009-05-20,11:28:
57
资料 邮件 编辑 删除
【36
楼】
pwan
geng
311
积
分:1
派
别:
等
级:-
----
-
来
自:
init.bin 下载正常,u-boot.bin 一直停顿没法下载...
(原文件名:未命名.jpg)
200
9-06
-02,
14:0
4:16
资料 邮件 编辑 删除
我用 JLINK 间接烧写 NAND 时,怎么在 J-LINK 界面进入 U-BOOT 命令提示窗口,进行烧写操作呢? 【37 楼】 liuguo053
0
积分:1
派别:
等级:------
来自:
2009-06-07,00:22:
00
资料 邮件 编辑 删除
好
帖子
,收藏了
【38 楼】 jasonell
积分:24
派别:
等级:------
来自:
2009-06-24,16:02:
27
资料 邮件 编辑 删除
mark 【39 楼】 zzwuyu 微
凉的晚风
积分:100
派别:
等级:------
来自:郑州
__________________________
如果你在任何时候,任何地方,你一生中留给人们的都是些美好的东西----鲜花,思想,以及对你的
非常美好的回忆----那你的生活将会轻松而愉快。那时你就会感到所有的人都需要你,这种感觉使你
成为一个心灵丰富的人。你要知道,给永远比拿愉快。
2009-06-24,19:32:
08
资料 邮件 编辑 删除
【40 楼】 conglin20
09 sl
积分:20
派别:
等级:------
来自:
谢谢楼主拿出来分享。
我用的是华恒 S3C2410 实验板,下载完后,可以显示
U-BOOT 1.1.6(.....)
DRAM: 64MB
FLASH:0KB
NAND:0MiB
not find nand device
之后就没下文了
请问可能是哪里出现问题了
2009-07-01,00:43:
49
资料 邮件 编辑 删除
(原文件名:clip_image002.jpg)
图片截图如上。
【41 楼】 congl
in2009 sl
积分:20
派别:
等级:------
来自:
2009-07-01,1
3:37:52
资料 邮件 编辑 删除
我成功了,中间除了点小问题
TQ2440 的 uboot 比 192K 大,一开始没注意,改 2ffff 和 0x30000 就可以了
【42 楼】 lihui_mc
软硬兼施
积分:60
派别:
等级:------
来自:
2009-07-01,23:07:
39
资料 邮件 编辑 删除
【43 楼】 conglin20
09 sl
谁有 J-LINK 带的 init 和 uboot 的 C 文件和 H 文件啦,俺的烧写引导程序还是不能正常运行,想看看
源代码
积分:20
派别:
等级:------
来自:
2009-07-04,23:06:
31
资料 邮件 编辑 删除
lz 你好!我迫切的想知道 init.bin 文件和 u-boot.bin 文件是如何生成的,我把从你这里下载的文
件再建立工程想生成 init.bin 和 u-boot.bin 文件,却有很多错误,生成不了,望赐教!非常感谢,
QQ:303122065
本贴被 wenyu 编辑过,最后修改时间:2009-07-07,10:23:53.
【44 楼】 wenyu
积分:1
派别:
等级:------
来自:
2009-07-07,10:21:
07
资料 邮件 编辑 删除
终于摸索出来了!!这里的 init.bin 只是引导程序的启动代码,引导 U-boot 得以正常启动。可以直
接查看 INIT.BIN 二进制代码。
点击此处打开 ourdev_460179.jpg(文件大小:545K,只有 400K 以内的图片才能直接显示) (原文件
名:init 前 100 字节代码.jpg)
u-boot1.1.6 版本要求核心板有 Nand Flash,否则不能正常启动(尽管 ARM 支持 Nor 和 Nand Falsh 的
管理)。俺的核心板只有 16M 的 Nor Flash,因此出现 41 楼的问题。
归根到底,利用 J-LINK V7 烧写调试,引导程序不一定采用厂家提供的 init.bin 和 U-boot.bin(因
为有一定的局限性)。应该根据自己的实验板采用合适的 bootloader 程序做引导。这些的目的都是
为了方便以后系统文件的烧写和调试。
以上仅是我的心得,有兴趣的大家多多交流。
PS:楼主很少出现!
【45 楼】 conglin20
09 sl
积分:20
派别:
等级:------
来自:
2009-07-11,09:49:
20
资料 邮件 编辑 删除
谁有 init.bin 啊,麻烦传个给我,谢谢
邮箱 xiaowu5016@yahoo.com.cn
从 http://ouravr.com/bbs/bbs_upload34876/files_12/ourdev_422781.rar 地方下载找不到
【46 楼】 xiaowu501
6
积分:1
派别:
等级:------
来自:
2009-07-14,08:39:
41
资料 邮件 编辑 删除
出现 36 楼的问题,一般通过降低速度,如设置为“speed 6000”可以解决~ 【47 楼】 liulx1206
积分:1
派别:
等级:------
来自:
2009-07-14,22:48:
39
资料 邮件 编辑 删除