嵌入式:使用dd命令制作烧写文件
1. 使用dd命令制作烧写文件
环境:
bootargs=mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:512K(boot),3M(kernel),2560K(rootfs),10M
MTD partitions :
0x000000000000-0x000000080000 : "boot"
0x000000080000-0x000000380000 : "kernel"
0x000000380000-0x000000600000 : "rootfs"
0x000000600000-0x000001000000 : "app"
材料:uboot.bin, kernel,rootfs.jffs2, app.img
kernel是zImage(没有头部)而不是uImage.
由zImage生成uImage: http://www.cnblogs.com/mylinux/p/3994455.html
由uImage生成zImage: dd if=uImage of=zImage bs=64 skip=1
工具脚本:makeprogrammingflashimg
脚本的写法应该和mtd分区保持一致。
#! /bin/sh
rm -rf PROGRAMMING.bin
dd if=$ of=PROGRAMMING.bin bs=1k conv=sync
dd if=$ of=PROGRAMMING.bin bs=1k seek=
dd if=$ of=PROGRAMMING.bin bs=1k seek= conv=sync
dd if=$ of=PROGRAMMING.bin bs=1k seek= conv=sync
#0.5 2.5
echo ''
echo 'flash.bin address map'
echo '0x00000000 : u-boot'
echo '0x00100000 : Linux Kernel'
echo '0x00200000 : JFFS2'
echo '0x00600000 : APP '
操作方法: ./makeprogrammingflashimg uboot.bin kernel rootfs.jffs2 app.img
如果不想使用app分区,直接在脚本里注释掉$4,使用脚本的时候不传入app.img即可。
2. Linux-dd命令详解 http://www.cnblogs.com/dkblog/archive/2009/09/18/1980715.html
使用方式: dd [option]
如果你想要在线看 manual, 可以试试:
dd --help 或是 info dd
如果你想要看看这个版本如何:
dd --version
输入或输出
dd if=[STDIN] of=[STDOUT]
强迫输入或输出的Size为多少Bytes
bs: dd -ibs=[BYTE] -obs=[SIZE]
强迫一次只做多少个 Bytes
cbs=BYTES
跳过一段以后才输出
seek=BLOCKS
跳过一段以后才输入
skip=BLOCKS
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。
cbs = byte 一次转换bytes字节。
count=blocks 只拷贝输入的blocks块。
conv = ASCII 把EBCDIC码转换为ASCIl码。
conv = ebcdic 把ASCIl码转换为EBCDIC码。
conv = ibm 把ASCIl码转换为alternate EBCDIC码。
conv = block 把变动位转换成固定字符。
conv = ublock 把固定位转换成变动位。
conv = ucase 把字母由小写转换为大写。
conv = lcase 把字母由大写转换为小写。
conv = notrunc 不截短输出文件。
conv = swab 交换每一对输入字节。
conv = noerror 出错时不停止处理。
conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)。
嵌入式:使用dd命令制作烧写文件的更多相关文章
- linux/OSX中“DD”命令制作ISO镜像操作系统安装U盘
linux或者OS X系统中,使用“dd”命令可以直接在终端命令行模式下,制作ISO镜像的系统安装盘. 一.linux系统以centOS7为例. sudo dd if=镜像路径 of=USB设备路径 ...
- 使用 DD 命令制作 USB 启动盘
Windows 下有很多很好用的 USB 启动盘制作工具,比如 Rufus,但是 MacOS 下这个类型的工具就少了很多,这里记录下在 MacOS 中用 DD 命令制作 Linux USB 启动盘的操 ...
- 【转载】在Linux系统下用dd命令制作ISO镜像U盘启动盘
#### 将U盘插入USB接口 #umount /dev/sdb* #dd if=/iso存放路径/XXX.iso of=/dev/sdb bs=1M ##### [转载]在Linux系统下用dd命令 ...
- IAR MSP430如何生成烧写文件
IAR生成430烧写方法有2种, 第一种是:将工程的debug模式切换成release模式,看图片操作. 那个.d43文件就是仿真调试模式的文件. 这里的test.txt文件就是烧写文件了,不要 ...
- Jlink使用技巧之合并烧写文件
前言 IAP(In-application-programming),即在应用中编程.当产品发布之后,可以通过网络方便的升级固件程序,而不需要拆机下载程序.IAP系统的固件一般由两部分组成,即Boot ...
- 使用dd命令快速生成大文件或者小文件的方法
使用dd命令快速生成大文件或者小文件的方法 转载请说明出处:http://blog.csdn.net/cywosp/article/details/9674757 在程序的测试中有些场 ...
- 使用dd命令快速生成大文件或者小文件
使用dd命令快速生成大文件或者小文件 需求场景: 在程序的测试中有些场景需要大量的小文件或者几个比较大的文件,而在我们的文件系统里一时无法找到那么多或者那么大的文件,此时linux的dd命令就能快速的 ...
- 嵌入式 hi3518c裸板uboot烧写、kernel烧写、fs烧写小结
1.在uboot中我可以添加自己的命令,添加的方法是找到一个uboot的命令,然后模仿着去增加属于自己的命令代码以及实现函数就可以 2.记住在使用printf进行调试的时候,在遇到指针或者字符串的时候 ...
- Centos使用dd命令制作U盘启动盘 wodim刻录光盘
首先格式化U盘:使用fdisk -l 查看U盘到挂载点,如我的为/dev/sdb1.卸载U盘,运行格式化命令:mkfs.vfat /dev/sdb1 然后又一次挂载U盘,開始制作启动盘: # dd ...
随机推荐
- Java-线程间通信
Java-线程间通信 一 线程通讯 就是多个线程操作同一个资源,可是操作的动作不同 二 停止线程: 控制住run的循环就能够控制线程结束 当线程处于冻结状态,就不会读取标记,线程就不会结束 inter ...
- Maven模块聚合与继承
聚合 假如有account-email和account-persist两个模块,我们想要一次构建这两个项目,这时须要用到聚合. 聚合模块 package值必须为pom 必须有元素modules mod ...
- Foundation Sorting: Quicksort
/* Quick Sorting. * Implementation history:. * 2013-09-15, Mars Fu, first version. */ /* [Quicksort ...
- URAL DP第一发
列表: URAL 1225 Flags URAL 1009 K-based Numbers URAL 1119 Metro URAL 1146 Maximum Sum URAL 1203 Scient ...
- github每次push都需要密码以及用户名的解决办法
git remote set-url origin git@github.com:你的账户/项目名称.git就可以直接git push origin master了.
- 第一章:介绍Django
django简单来说就是一个Web开发框架.Web框架为应用程序提供了一套程序框架,这样你可以专注于编写清晰.易维护的代码,而无需从头做起. models.py文件主要用一个Python类来描述数据表 ...
- HBase 几点思考
1. http://blog.csdn.net/yueyedeai/article/details/14648067 2. http://blog.csdn.net/pirateleo/article ...
- Qt mac QMYSQL(动态加载插件QPluginLoader的用法)
用此段代码查出问题所在 QPluginLoader loader; loader.setFileName("/Users/danny/Qt5.3.2/5.3/clang_64/plugins ...
- 包子IT面试培训
包子IT面试培训 IT 面试不再怕,包子帮你圆个梦!
- FMDB 的基本操作
在FMDB下载文件后,工程中必须导入如下文件,并使用 libsqlite3.dylib 依赖包 FMDB同时兼容ARC和非ARC工程,会自动根据工程配置来调整相关的内存管理代码. FMDB常用类: F ...