日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]cramfs+yaffs嵌入式平臺的實(shí)現(xiàn)

首先我們要將我們的某個(gè)分區(qū)格式化成yaffs格式。

制作格式化工具過程如下:

mtd-utils編譯

1、編譯libz:

首先安裝 zlib 庫,這個(gè)是后面的庫的編譯基礎(chǔ)。

http://www.zlib.net/zlib-1.2.3.tar.gz

解壓

tar zxf zlib-1.2.3.tar.gz

由于 zlib 庫的cONfigure 腳本不支持交叉編譯選項(xiàng),可以采用以下方法來解決:

1)CC=ARM-softfloat-Linux-gnu-gcc ./configure --prefix=/*你的安裝目錄*/ --shared

注意:這里配置指向 --prefix=/*你的安裝目錄*/,會自動(dòng)安裝在 --prefix=/*你的安裝目錄*/ [include,lib] 目錄下,

千萬不要裝錯(cuò)目錄了,不然后面會找不到這個(gè)庫的。

2)make

3)make inSTall

安裝完后檢查一下目錄 --prefix=/*你的安裝目錄*/[include,lib] ,假如 include 中沒有 zlib.h 之類的頭文件,lib 中沒有 libz.so.1.2.3 ,那就自己手動(dòng)拷到這些目錄下去,記著拷的時(shí)候把所有的 *.h 都需要拷過去,在拷庫的時(shí)候用 cp –a libz.* /…./lib 就行,要用上 –a 選項(xiàng)

2、編譯mtd-utils:

下載mtd-utils-1.0.0.tar.gz:

ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.0.0.tar.gz

解壓目錄為mtd-utils-1.0.0

#cd mtd-utils-1.0.0

1) 修改Makefile

CROSS=arm-softfloat-linux-gnu-

2) make ( 用file命令查看,如 file mkfs.jffs2 )

#file mkfs.jffs2

mkfs.jffs2: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped

可知:交叉編譯成功。

因?yàn)楦袷交痜lash分區(qū)是在板子上運(yùn)行的,所以要交叉編譯,這個(gè)概念一定要分清楚。

編譯好后將生成的flash_eraseall工具拷貝你的文件系統(tǒng)下的usr/bin下

flash_eraseall /dev/mtd/x

擦除干凈后再

mount -t yaffs /dev/mtdblock/x /mnt

即可掛上了yaffs分區(qū),解釋一下什么是/dev/mtd/x和/dev/mtdblock/x

/dev/mtd/x 是字符設(shè)備 mtd設(shè)備的主設(shè)備號為90,至于次設(shè)備號:單數(shù)為只讀,雙數(shù)為讀寫?!稑?gòu)建嵌入式LINUX系統(tǒng)》一書有介紹,可以參考一下

/dev/mtdblock/x 是塊設(shè)備

最后在linuxrc下添加一句話就可以實(shí)現(xiàn)分區(qū)的自動(dòng)掛載了

/bin/mount -t yaffs /dev/mtdblock2 /mnt/yaffs

部署文件系統(tǒng)到開發(fā)板上

我的分區(qū)信息

dev: size erasesize name

mtd0: 00100000 00004000 "bootloader" //1M

mtd1: 00400000 00004000 "linux-kernel" //4M

mtd2: 02000000 00004000 "cramfs-partition" //32M

mtd3: 01b00000 00004000 "yaffs-partition" //27M

flash燒寫命令和分區(qū)設(shè)置要和內(nèi)核設(shè)置是一樣的

燒寫內(nèi)核

tftp 30008000 zImage

nand erase 100000 400000

nand write 30008000 100000 400000

燒寫cramfs文件系統(tǒng)

tftp 30008000 rootfs.cramfs

nand erase 500000 2000000

nand write 30008000 500000 2000000

啟動(dòng)參數(shù)設(shè)置

setenv bootargs root=1f02 console=ttySAC0,115200 init=/linuxrc devfs=mount display=sam240

setenv bootcmd nand read 30008000 100000 400000 ; go 30008000

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉