Chinaunix首页 | 论坛 | 博客
  • 博客访问: 677342
  • 博文数量: 516
  • 博客积分: 4119
  • 博客等级: 上校
  • 技术积分: 4288
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-30 17:29
文章分类

全部博文(516)

文章存档

2014年(4)

2013年(160)

2012年(352)

分类: LINUX

2012-11-12 13:41:42

十. 用脚本制作起动用SD 卡
???? 将SD 读卡器插入PC 机USB 端口
???? 得用上节所以用mount 确定SD 卡的挂载位置,如为/dev/sdb
???? 虚拟机进行如下操作
...$ cd ~/icetek-am3517-evm/bin
...$ sudo ./mksdboot.sh --device /dev/sdb --sdk ~/icetek-am3517-evm/
[sudo] password for : 『输入密码,回车』
???? 如果想用sd 卡来恢复nand 上的文件系统,则复制文件系统压缩包到sd 卡根目录
...$ sudo mount -t ext3 /dev/sdb2 /tmp
...$ sudo cp ~/icetek-am3517-evm/filesystem/flashImage_*.tar.gz /tmp/
...$ sync
...$ sudo umount /tmp

从虚拟机退出SD 卡,右键点虚拟机右下角然后左键点"Generic
USB Storage [9451]",这时windows 下会有新移动设备接入提示, 假设为N 盘。
???? 左键点右下角安全
卸载SD 卡,这样一个可起动的SD 卡就做成了。

通过以SD 卡存储为基础的嵌入式系统,更新Nandflash 上的x-loader,u-boot和uImage


5. 更新x-loader
输入如下命令更新存贮在nandflash 里的nandflash 起动的x-loader,如果不能成功见第9 步
的注意事项。
AM3517_EVM # mmc init 『初始化sd 卡』
mmc1 is available
AM3517_EVM # mw.b 0x80000000 0xFF 0x100000 『初始化使用的内存,全部置1』
AM3517_EVM # nand erase 0 40000 『擦除nandflash 中存放x-loader 区域』
NAND erase: device 0 offset 0x0, size 0x40000『以下两行提示擦除进度,和擦除是否成功』
Erasing at 0x20000 -- 100% complete 『如果没有这两行信息,请看后面的9 注意事项』
AM3517_EVM # fatload mmc1 0 0x80000000 MLO 『从sd 卡读x-loader 到内存』
reading x-load.bin.ift
16480 bytes read


AM3517_EVM # nandecc hw 『设定ecc 校验为硬件校验』
HW ECC selected
AM3517_EVM # nand write.i 0x80000000 0 40000 『存x-loader 到nandflash 指定位置』
NAND write: device 0 offset 0x0, size 0x40000
262144 bytes written: OK
AM3517_EVM #

6. 更新u-boot
输入如下命令更新存贮在nandflash 里的nandflash 起动的x-loader。
AM3517_EVM # mmc init 『初始化sd 卡』
mmc1 is available
AM3517_EVM # mw.b 0x80000000 0xFF 0x1C0000 『初始化使用的内存,全部置1』
AM3517_EVM # nand erase 0x80000 0x1C0000 『擦除nandflash 中存放u-boot 区域』
NAND erase: device 0 offset 0x80000, size 0x1c0000
Erasing at 0x220000 -- 100% complete.
AM3517_EVM # fatload mmc1 0 0x80000000 u-boot.bin 『从sd 卡读u-boot 到内存』
reading u-boot.bin
214944 bytes read
AM3517_EVM # nandecc bch4_sw 『设定ecc 校验为4 位软件校验』
SW ECC selected
AM3517_EVM # nand write.i 0x80000000 0x80000 0x1C0000 『存u-boot 到nandflash 指
定位置』
NAND write: device 0 offset 0x80000, size 0x1c0000
1835008 bytes written: OK
AM3517_EVM #



7. 更新内核uImage
输入如下命令更新存贮在nandflash 里的uImage。
AM3517_EVM # mmc init 『初始化sd 卡』
mmc1 is available
AM3517_EVM # mw.b 0x80000000 0xff 500000 『初始化使用的内存,全部置1』
AM3517_EVM # nand erase 280000 500000 『擦除nandflash 中存放uImage 区域』
NAND erase: device 0 offset 0x280000, size 0x500000
Erasing at 0x760000 -- 100% complete.
AM3517_EVM # fatload mmc1 0 0x80000000 uImage 『从sd 卡读uImage 到内存』
reading uImage


2284888 bytes readWriting to Nand... done
AM3517_EVM # nandecc bch4_sw 『设定ecc 校验为4 位软件校验』
SW ECC selected
AM3517_EVM # nand write.i 0x80000000 280000 500000 『存uImage 到nandflash 指定置』
NAND write: device 0 offset 0x280000, size 0x500000
5242880 bytes written: OK
AM3517_EVM #


8. 更新nandflash上的文件系统
输入如下命令更新存贮在nandflash 里的uImage。
AM3517_EVM # boot 『从SD 卡起动』
……
am3517-evm login: root 『输入root 登录』
:~# flash_eraseall -j /dev/mtd4 『用jffs2 文件系统板式格式化mtd4』
:~# mount –t jffs2 /dev/mtdblock4 /mnt 『以jffs2 格式挂载mtd4 到/mnt』
:~# cd /mnt 『以jffs2 格式挂载mtd4 到/mnt』
:~# tar -xvf /flashImage_icetek.tar.gz 『解压文件系统到当前目录』
:~# cd / 『退出当前目录』
:~# umount /mnt 『卸载挂载到/mnt 的mtd4』
:~# halt 『停止系统』
在出现System halted.提示后取出SD 卡,拨动拨码开关SW1, 将BOOT0,BOOT5 的状态拨成为,
按reset 按钮,则开发板就会从板载的nandflash 起动了。

阅读(905) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~