Chinaunix首页 | 论坛 | 博客
  • 博客访问: 714035
  • 博文数量: 96
  • 博客积分: 2110
  • 博客等级: 大尉
  • 技术积分: 1018
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-23 19:36
文章分类

全部博文(96)

文章存档

2013年(2)

2012年(17)

2011年(77)

分类: LINUX

2012-11-12 20:38:59

今天要动手将uImage写入sdcard的未format区域,其实很简单,网上很快就能找到,可是自己其中犯了低级的错误,浪费的很长的时间,顺便把调试的手段给记录下来。
 
我使用的dd两条命令
write:dd if=uImage of=/dev/mmcblk0 seek=4096
(未format区域的offset:0x1000), seek写入的时候从/dev/mmcblk0偏移4096个blocks,dd默认bs=512bytes。这里提到block的是相对于bs来说的,默认bs是512bytes,那么1block=512bytes,如果将bs改为1M,那么1block=1M。
 
read:dd if=/dev/mmcblk0 of=uImage_read bs=512 count=5120 skip=4096
bs是每次读写的大小为512k,count总共读写5120个blocks,读入的时候skip过4096个blocks。uImage_read:2.5M
调试的时候只要将两个文件uImage和uImage_read比较下,就能知道是否一样了。

dd命令还有使用多的就是制作镜像文件
dd if=/dev/zero of=100M.img bs=1M count=100
/dev/zero从名字就能看出是他他带的意思,输出0的字符设备
bs后面的单位可以参考man手册,M=1024*1024, MB=1000*1000
上面命令是 创建一个空的100M的镜像文件100M.img,100M.img数据全为0



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