Chinaunix首页 | 论坛 | 博客
  • 博客访问: 150806
  • 博文数量: 28
  • 博客积分: 1476
  • 博客等级: 上尉
  • 技术积分: 356
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-11 11:39
文章分类
文章存档

2011年(1)

2010年(18)

2009年(9)

我的朋友

分类: 嵌入式

2010-08-12 18:12:22

压缩包里的文件为图片
 
文件: SD卡启动6410.rar
大小: 2665KB
下载: 下载
   
三星提供的关于各种启动模式的设置,包含了从SD卡启动相关
文件: CHxx_IROM_ApplicationNote_Rev1.pdf
大小: 227KB
下载: 下载
 
使用Windex工具将u-boot.bin二进制文件写入到SD卡中:
1,将WinHex-v15.1sr-8H.rar直接解压到到当前文件夹中,然后进入WinHex15.1SR-8文件夹,双击WinHex.exe打开工具,然后打开你的u-boot.bin文件,这里假设为u-boot_insnand.bin,如下图:
 
图片上传不了,请查看附件,图片序号可能会有点乱,但应该不成问题的

然后单击文件的起始位置,如下图:
用鼠标点击上图中的13后,13的背景色会变色
2,按alt+1设置写入数据的起始位置,将文件拉到最后的位置,如下图:

然后用鼠标点击最的一个数字,如下图:

点击上图中最右边的数字E5,设置写入数据的结束位置,之后这之间的数据的背景色会变色。
3,复制要写入的数据,按下ctrl+c进行复制
4,将SD卡插入读卡器中,然后在插入电脑的USB口,然后按下F9打开设备,第一次打开的时间稍长,如下图:

注意一定要是图中Physical Media下的阴影部分的设备,然后点OK打开设备,如下图:

注意 :目前板子上的SD卡启动只支持2G的SD卡,而这时只介绍2G的SD卡的写入情况,请确认所使用的是否是2G的SD卡,而且卡上不能印有SDHC的字样,SDHC是高速的SD卡,这里也不支持。
5,点软件最下栏的Offset字样,跳到所要写入的SD卡的具体位置,如下图:

图中设置的偏移是错误的,正确的应该为3961678块,转换成地址为:1977179136字节, 然后点击OK,就会跳到设备中的具体位置:
上图为写入后的数据所在的位置,请检查最后写入数据后的这个位置是否与上图的一样。
写入SD卡的偏移地址计算公式:偏移=总扇区数-二进制文件大小-2,总扇区数为软件最左下角处读出的数,相同的SD卡读出的总扇区可能会不同,此处为3862528块,二进制文件即为制作出来的专门用于写入SD的.bin文件,此处为u-boot_insnand.bin,关于这个特定的二进制文件的制作将在后面讲到,最后的2为规定的大小不用关心。注意图中所计算的偏移都是以十进制计算的,如果为十六进制,则要重新计算。在offset下的地址上点击鼠标可以进行十进制与十六进制的切换。单位换算:1K=2块=1024字节, 1块=512字节
6,按下ctrl+b将数据写入SD卡,其中弹的窗口按下OK即可,然后将鼠标放到如下图的文件中,如下图
在Removable medium 1中单击右键,会弹出一个close的字样,点击后会弹出如下窗口:
 
点击Yes后会在弹出一个窗口,在点击Yes后,数据就写入到了SD卡中了,如下图:

7,与SD卡特定的二进制文件的制作,使用提供的脚本文件cut-boot.sh, 将编译好的u-boot.bin文件与cut-boot.sh文件拷贝到一个目录下,然后在linux的终端里输入: sh cut-boot.sh就会在该目录下生成制作好的二进制文件,名为:u-boot_mmc.bin,名字可以在脚本中修改。脚本内容如下:
cat u-boot.bin >> temp
cat u-boot.bin >> temp
split -b 384k temp
mv xaa u-boot_384k.bin
rm x*
split -b 8k u-boot.bin
mv xaa u-boot_8k.bin
cat xab >> u-boot_env.bin
cat xab >> u-boot_env.bin
cat xab >> u-boot_env.bin
cat xab >> u-boot_env.bin
rm x*
cat u-boot_384k.bin >> u-boot_mmc.bin
cat u-boot_env.bin >> u-boot_mmc.bin
cat u-boot_8k.bin >> u-boot_mmc.bin
注意:这里我使用的384K的文件,因为我的u-boot.bin大于了256K,为了方便计算所以使用了256+128K,如果u-boot.bin大小没有超过256K,而也不想使用这里的384K,将上面的脚本中的384改为256,同时在movi.h中修改相应的数据。
阅读(2334) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~