使用JLink间接烧写u-boot,supervivi到mini2440的方法
转自:http://blog.chinaunix.net/uid-25381054-id-3261858.html
以 前有段时间对u-boot的移植特别感兴趣就把我的mini2440上的bootloader换成u-boot的了,可是后来一直忙着也没时间做具体的移 植工作,这些天又需要mini2440来做些驱动的训练,所以急需把mini2440的环境给搭建好,首先是要把板子原带的supervivi给烧写上 去,但是又没有台式机,只好好好研究下如何用jlink间接烧写了。
失败了好多次,就不说废话了,直接把成功的步骤写下来了。
首先我的软硬件环境是:jlinkv8+usb二合一版 + 软件包中的init.bin和u-boot.bin程序/nimi2440(128M)/xp系统/dnw程序和买板子时带的nimi2440 usb驱动程序。
(1) 打开jlink command程序然后输入:
speed 12000 /*设置TCK为12M,设置下载速度*/
(2)loadbin c:\init.bin 0x40000000 /* 下载内存初始化程序到0x4000000地址处*/
(3)h
setpc 0x40000000
g /* 执行内存初始化程序*/
(4) loadbin c:\u-boot.bin 0x33f80000
h
setpc 0x33f80000
g /* 下载u-boot.bin到内存中并运行 */
此时在串口终端中或者其他串口程序中可以看到u-boot已经运行。
h /* 开始下载supervivi到内存中 */
loadbin c:\supervivi-128M.bin 0x30000000
g
以上几步涉及内存操作,所以在此过程中开发版不能断电,否则全部重来。
(5)接下来是u-boot操作命令。
protect off all //解锁
erase 3ffff //擦出从0地址处开始到0x40000的nor flash扇区(大小可为擦除块的整倍数,可运行flash info查看)
cp.b 0x30000000 0 40000 //把前面下载到0x30000000处的程序烧写到nor中去
(6)把开发板设为从nor flash启动就可以看到supervivi的启动画面了,接下来就可以按照mini2440的指导手册进行烧写supervivi、zImage、根文件系统到nand flash中去了。
Good Luck!