历史上的今天

今天是:2024年08月30日(星期五)

正在发生

2019年08月30日 | S5PV210开发 -- Linux dd命令

发布者:EnchantedMagic 来源: eefocus关键字:S5PV210  Linux  dd命令 手机看文章 扫描二维码
随时随地手机看文章

昨天群里有人询问,为什么破坏 BootLoader 破坏不掉。


出现错误:dd: writing '/dev/mtdblock0': Operation not permitted


我说需要插着 SD卡才可以。(这个也不对,不插SD卡也可以,那这个错误还是没有搞清楚)


然后我们来看一下它操作指令:


    busybox dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1 count=1 conv=sync


    为了确保执行数据有效,再执行 sync 同步一下,即可破坏掉前一个块的数据。


进而引出了我们今天要讲的 dd命令。


参看:Linux dd命令


参看:Learning Linux commands: dd


一、dd 命令

Linux dd命令用于读取、转换并输出数据。

dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。


二、参数说明

if=文件名:输入文件名,缺省为标准输入。即指定源文件。

of=文件名:输出文件名,缺省为标准输出。即指定目的文件。

ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。

obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。

bs=bytes:同时设置读入/输出的块大小为bytes个字节。

cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。

skip=blocks:从输入文件开头跳过blocks个块后再开始复制。

seek=blocks:从输出文件开头跳过blocks个块后再开始复制。

count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

conv=<关键字>,关键字可以有以下11种:

    conversion:用指定的参数转换文件。

    ascii:转换ebcdic为ascii

    ebcdic:转换ascii为ebcdic

    ibm:转换ascii为alternate ebcdic

    block:把每一行转换为长度为cbs,不足部分用空格填充

    unblock:使每一行的长度都为cbs,不足部分用空格填充

    lcase:把大写字符转换为小写字符

    ucase:把小写字符转换为大写字符

    swab:交换输入的每对字节

    noerror:出错时不停止

    notrunc:不截短输出文件

    sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

--help:显示帮助信息

--version:显示版本信息


三、实例

 


[root@localhost text]# dd if=/dev/zero of=sun.txt bs=1M count=1 

1+0 records in 

1+0 records out 

1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s 

 

[root@localhost text]# du -sh sun.txt 

1.1M sun.txt


该命令创建了一个1M大小的文件sun.txt,其中参数解释: 


if 代表输入文件。如果不指定if,默认就会从stdin中读取输入。 


of 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。 


bs 代表字节为单位的块大小。 


count 代表被复制的块数。


 /dev/zero 是一个字符设备,会不断返回0值字节()。


块大小可以使用的计量单位表:

以上命令可以看出dd命令来测试内存操作速度:


1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s


四、解释破坏指令

接下来我们根据 dd 指令参数说明来看一下破坏指令: 


busybox dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1 count=1 conv=sync


if 代表输入文件。 /dev/zero 是一个字符设备,会不断返回0值字节()。


of 代表输出文件。/dev/mmcblk0 是一个块设备。


bs 代表512字节为单位的块大小。 


seek 代表从输出文件开头跳过 1个块后再开始复制。


count 代表被复制1个块。


conv:若读取的输入块不足512字节,不足部分用空(NUL)字符补齐。


注释:输入以上命令的意思为,把板载中iNand的第一个扇区用0来填充,即擦除了iNand的第一个扇区,当再次启动时,IROM还是会先去读取iNand中的前16kb的数据,计算校验和,校验和不通过,启动失败,此时就会执行第二种启动方式即从SD卡启动。

若此时未检测到SD卡,SecureCRT中将会显示:SD checksum Error


分析:


然后参看:How to make an image (.img) from what's on the SD card?


使用指令 fdisk -l /dev/mmcblk0 查看:

翻译一下:


    磁盘/ dev / mmcblk0:3959 MB,3959422976字节

    229头,33个部门/轨道,1023个汽缸,总计7733248个部门

    单位= 1 * 512 = 512字节的扇区

    扇区大小(逻辑/物理):512字节/ 512字节

    I / O大小(最小/最佳):512字节/ 512字节

    磁盘标识符:0x00000000


可知磁盘大小为 4G,我们的 eMMC 内存大小正好就是 4G 的。可以得出 mmblk0 是 eMMC 的块设备。


然后它的单位是 512 字节的扇区。这就是为什么 bs=512 的原因。我们使用 dd 擦除了它的第一个扇区。

关键字:S5PV210  Linux  dd命令 引用地址:S5PV210开发 -- Linux dd命令

上一篇:S5PV210开发 -- 交叉编译器
下一篇:S5PV210开发 -- SPI 你知道多少?

推荐阅读

8月29日,广东旭业光电科技股份有限公司在贵州铜仁设立的全资子公司贵州旭业光电有限公司,于贵州省铜仁市高新技术产业开发区隆重举行一期生产项目投产庆典仪式。这是旭业光电强力推动手机高端镜头项目落地见效,吹响“强产兴市”冲锋号的又一次集中成果展示。 贵州旭业光电一期项目投资1.3亿元 预计年产1亿颗镜头 现场获悉,贵州旭业光电有限公司(以下...
这个烧写过程真是一波三折啊,足足搞了两天才实现 通过 DNW 将 uboot 烧写到 RAM 中,再通过 fastboot 更新 。首先说一下,SD 卡烧写 暂时没有完成。其中遇到的问题,在于制作量卡和烧写uboot。制作量卡时,我的电脑的虚拟机不识别 SD 卡。这尴不尴尬。。。然后没办法 使用公司的另一台电脑 OK 可以识别了。下载 gparted 进行分区操作...
8月28日,商务部会同科技部调整发布了《中国禁止出口限制出口技术目录》。此次调整有何意义?带来哪些管理新规?对科创企业影响几何?记者就此采访了长期跟踪研究技术贸易法规的中国对外经济贸易大学教授崔凡。对技术出口实行负面清单管理是国际惯例此次并非我国首次调整《中国禁止出口限制出口技术目录》。商务部服贸司负责人就此答记者问时说,上一次目...
广告摘要声明广告近日,极智嘉(Geek+)宣布与中国领先的物流服务供应商──顺丰供应链旗下丰豪供应链(香港)有限公司达成战略合作。根据战略协议,极智嘉将成为顺丰供应链在中国香港和澳门地区的指定智慧物流解决方案供应商,为其在不同地点部署逾千台AMR机器人。双方还将强强联手,共同探索最适合当地仓库的自动化解决方案,助推物流行业的智能发展。极智嘉...

史海拾趣

问答坊 | AI 解惑

急求!!!

求助高手给些资料,我要做个悬梁振动测频系统的设计,就是用单片机测量桥梁的自振频率来确定桥梁的承载能力,希望高手能给些测频方面的资料!谢谢!!!…

查看全部问答∨

常用电子元器件的识别(1)

常用元器件的识别 电阻 电阻在电路中用“R”加数字表示,如:R1表示编号为1的电阻。电阻在电路中的主要作用为 分流、限流、分压、偏置等。 1、参数识别:电阻的单位为欧姆(Ω),倍率单位有:千欧(KΩ),兆欧(MΩ)等。换算 方法是:1兆欧 ...…

查看全部问答∨

用单片机设计的音乐喷泉控制器

用单片机设计的音乐喷泉控制器…

查看全部问答∨

电动机常见机械故障维护

1.定、转子铁芯故障检修   定、转子都是由相互绝缘的硅钢片叠成,是电动机的磁路部分。定、转子铁芯的损坏和变形主要由以下几个方面原因造成。   ①轴承过度磨损或装配不良,造成定、转子相擦,使铁芯表面损伤,进而造成硅钢片间短路,电动机 ...…

查看全部问答∨

09国赛c题

本帖最后由 paulhyde 于 2014-9-15 09:34 编辑 建议一下C题有什么方案哦,各位大吓  …

查看全部问答∨

华为内部——射频知识培训ppt

好东西,拿出来分享给大家,下载的顶帖啊。…

查看全部问答∨

C语言学习集合

批量上传传不上来我就一个一个传了 [ 本帖最后由 yuandayuan6999 于 2010-4-27 22:05 编辑 ]…

查看全部问答∨

wince 5.0支持不支持directsound?

本人正在移植一段程序,现在用pb5.0定制了一个sdk,但是安装sdk后发现只有dsound的头文件,没有库文件,主要移植的是directx的调用。 在论坛里也搜索了下过去的帖子,喜忧参半,有说有库文件,也有说没有库文件的,都没有具体的明白。我查了下msdn ...…

查看全部问答∨

【求助】keil中使用lib文件中的问题

LIB_VER2.0.LIB(1): error C100: unprintable character 0x07 skipped LIB_VER2.0.LIB(1): error C141: syntax error near \',\' LIB_VER2.0.LIB(2): error C100: unprintable character 0xFD skipped LIB_VER2.0.LIB(3): error C129: missing \ ...…

查看全部问答∨

关于地址分配

西门子PLC,各模块的地址是固定分配的,可是他的地址又不是连贯的(比如做组态时,两块相同的16路DI模块分别插入两个相邻的SLOT  中,可是两块模块之间的地址不连续。第一块开始0,结束1,;第二块开始4,结束5)。系统默认选项去掉后可以 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved