电竞比分网-中国电竞赛事及体育赛事平台

分享

mtd_debug:linux下直接讀寫flash扇區(qū) 及 交叉編譯mtd_utils

 希望蠟炬 2013-06-07

mtd_debug是一個linux下直接讀寫flash扇區(qū)的工具,是mtd-utils的一個部件。具體用法如下:

./mtd_debug read <device><offset> <dest-filename> <len>

./mtd_debug write <device><offset> <source-filename> [len]

./mtd_debug erase <device><offset> <len>

具體使用舉例:./mtd_debug erase/dev/mtd/1 0x0 0xc00000  :表示擦寫了0x34300000 ~ 0x34f00000共12MB的空間。

以上命令格式中“device”是指/dev/mtd/0,1,2這種mtd char 設備,不要操作/dev/mtdblock/0,1,2這種塊設備。也就是說:mtd是字符設備,mtdblock是塊設備,它們映射的是同一個空間;但是我們在擦寫的時候就是操作字符設備,這個請注意。

以上不管是write哪一塊,都建議先erase,再write,否則可能導致write失敗


mtd_debug的獲取或者說交叉編譯mtd_utils

1.獲得源碼

 root@:/home/# wget ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.2.0.tar.bz2
root@:/home/# wget http://www./zlib-1.2.3.tar.gz
root@:/home/# wget http://www./opensource/lzo/download/lzo-2.03.tar.gz
root@:/home/# tar xzvf zlib-1.2.3.tar.gz
root@:/home/# tar xzvf lzo-2.03.tar.gz
root@:/home/# tar xzvf mtd-utils-1.2.0.tar.bz2

說明:zlib和lzo是編譯mtd-utils所需庫文件,需提前交叉編譯完成,以供mtd-utils編譯時調(diào)用

2,編譯安裝zlib:
root@:/home/# cd zlib-1.2.3
root@:/home/zlib-1.2.3# CC=arm-linux-gcc ./configure --shared --prefix=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi   
root@:/home/zlib-1.2.3# make
root@:/home/zlib-1.2.3# make install
root@:/home/zlib-1.2.3# cd ..


/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi 為交叉編譯器路徑


3,編譯安裝lzo:
root@:/home/# cd lzo-2.03/
root@:/home/lzo-2.03# CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi
root@:/home/lzo-2.03# make
root@:/home/lzo-2.03# make install
root@:/home/lzo-2.03# 

4,編譯mtd-utils


1) 修改Makefile
CROSS=arm-linux-


2) make WITHOUT_XATTR=1
   在這里會提示沒有定義AI_ADDRCONFIG,在文件頭部加入定義#define AI_ADDRCONFIG    0x0020 就可以了
   
   到這里還是有錯誤提示。不過沒有關系。mtd_debug已經(jīng)出來了。靜靜的躺在arm-linux目錄下面鳥。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多