加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

利用jlink command 烧写uboot到mini2440 nand flash方法

发布时间:2020-12-15 17:39:37 所属栏目:百科 来源:网络整理
导读://说明:我的板子是mini2440 有2M的s29al016j nor flash 和一块 256M的 k9f2608u0b nand flash。 //这篇文章并非全部原创,只是把网友“ sblpp ” 在http://bbs.eeworld.com.cn/thread-144846-1-1.html?的帖子修改了并附图。 需要说明的是uboot.bin这个文件
//说明:我的板子是mini2440 有2M的s29al016j nor flash 和一块 256M的 k9f2608u0b nand flash。
//这篇文章并非全部原创,只是把网友“sblpp在http://bbs.eeworld.com.cn/thread-144846-1-1.html?的帖子修改了并附图。需要说明的是uboot.bin这个文件必须支持nand flash 驱动
//使用的uboot.bin 是网友tekkaman移植的。大家可以到这里下载:http://blog.chinaunix.net/uid-20543672-id-94362.html,也可以从这里下载

?u-boot.zip??
//下面用的初始化程序init也是网友提供的,我会在附件中提供

?init.zip?
?
//下面说明烧写方法,在jlink-command里输入的命令用蓝色字体标明,在uboot的终端环境输入的命令用红色标明.
注:烧写时 最好先 nand erase 0 擦除正片FLASH
//----------准备工作
打开j-Link command
命令:
usb?? ? //初始化usb 连接
?r??????? //重置
效果如图:

//经过上面步骤,就表示jlink已经连接了arm 核
//----------------------初始化SDRAM

1?speed 12000???? ?//设置TCK为12M
2?loadbin d:init.bin 0
3?setpc 0
4?g?????????


做完这一步,你会发现你得mini2440的led灯变成了流水灯,说明初始化sdram成功了


//----------------------下载UBOOT 内存中运行的uboot
5?h???????? //暂停
6?loadbin d:u-boot.bin 0x33f80000
7?setpc 0x33f80000
8?g

?

//经过上面步骤后,mini2440的蜂鸣器会笛的一声,终端可以看到uboot启动了,并打印出了信息

//下面的步骤我就不截图了,只要分区是在超级终端输入命令还是在jlink command输入命令就ok了。需要注意的是上面的烧写uboot到 0x33f80000?这个地址不能修改,这是编译的时候就指定的基地址。下面的 0x30000000可以变。
//----------------------烧写Uboot至NandFlash
9?loadbin d:u-boot.bin 30000000????????? ?//重新将uboot load 指内存3000 0000处 不运行,因为在0x33f800地址处的uboot已经运行过,也就是被修改了,所以要重新下载新的uboot.bin映像,以前我失败过就是因为这里
10?nand erase 0 40000????????????????????? ??? //擦除从0地址开始的大小为0x40000的NandFlash扇区 256K
11?nand write.jffs2 30000000 0 40000?? //把前面下载到0x33f80000的程序烧写到NandFlash去
//----------------------烧写内核
12?loadbin e:uImage 30000800
13?bootm 30000800?????????????????????????????????????????????? //可以直接运行内存中内核
14?nand erase 60000 200000???????????????????????????? ? //擦除从60000开始 2MB的空间放内核
15?nand write.jffs2 30000800 60000 200000????? //将内存中30000800中的内核映像烧写至60000开始的NandFlash
//烧写文件系统 260000开始?
16?loadbin e:myfs.img 30000800
17?nand erase 260000?//擦出260000后面所有的FLASH空间
18?nand write.yaffs 30000800 260000
注:块大小是2048 64字节; 在烧写的时候 一定是要2112的倍数才行 比如 我要烧写的文件是6.38 MB (6,699,264 字节) 那么? nand write.yaffs 30008000 260000 663900
//good luck my friends!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读