嵌入式 使用dd命令製作燒寫檔案

2022-09-16 10:51:12 字數 1847 閱讀 2474

1. 使用dd命令製作燒寫檔案

環境:bootargs=mem=64m console=ttyama0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:512k(boot),3m(kernel),2560k(rootfs),10m

kernel是zimage(沒有頭部)而不是uimage.

由zimage生成uimage: 

工具指令碼:makeprogrammingflashimg

指令碼的寫法應該和mtd分割槽保持一致。

#! /bin/sh

rm -rf programming.bin

dd if=$1 of=programming.bin bs=1k conv=sync

dd if=$2 of=programming.bin bs=1k seek=512

dd if=$3 of=programming.bin bs=1k seek=3584 conv=sync

dd if=$4 of=programming.bin bs=1k seek=6144 conv=sync

#0.5

32.5

10echo

''echo

'flash.bin address map

'echo

'0x00000000 : u-boot

'echo

'0x00100000 : linux kernel

'echo

'0x00200000 : jffs2

'echo

''

2.  linux-dd命令詳解 

使用方式: dd [option]

如果你想要看看這個版本如何:

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填充)。 

嵌入式檔案系統映象製作及燒寫

一 cramfs 檔案系統 jffs2檔案系統。1.cramfs 檔案系統 存放系統檔案 唯讀。jffs2檔案系統 存放使用者檔案 讀寫。修改檔案系統的自啟動指令碼 vim etc init.d rcs 在其中新增 mount t jffs2 dev mtdblock3 home y 給使用者 2....

嵌入式開發 Bootloader的燒寫

在開發時,通常使用各種命令操作bootloader,一般通過串列埠來連線pc和開發板,可以在串列埠上輸入各種命令 觀察執行結果 燒寫核心和檔案系統等。這也只是堆開發人員才有意義,使用者使用產品時是不用串列埠來控制bootloader的。從這個觀點看,bootloader可以分為以下兩種工作模式 啟動...

嵌入式Linux燒寫原理 MfgTool工具

因此mfgtool工作過程主要分兩個階段 經過第 步的操作,此時linux系統已經執行起來了,系統執行起來以後就可以很方便的完成對emmc的格式化 分割槽等操作。emmc分割槽建立好以後就可以從firmware中讀取要燒寫的uboot linux kernel dtb 裝置樹 和rootfs這4個檔...