<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 在U-Boot中實(shí)現對Yaffs鏡像的支持

在U-Boot中實(shí)現對Yaffs鏡像的支持

作者: 時(shí)間:2009-08-26 來(lái)源:網(wǎng)絡(luò ) 收藏

2 具體
在此,采用 1.1.6版,NAND FLASH使用三星公司的K9F1208UOM。該NAND FLASH每頁(yè)為512 B,外加16 B額外空間,整個(gè)芯片容量為64 MB。在此之前,已經(jīng)正確配置了相關(guān)的宏定義,并移植了相關(guān)NAND FLASH的驅動(dòng)程序,使能夠正確操作該芯片。
2.1 為添加新的命令
實(shí)際上,U-Boot中已經(jīng)了所需的nand命令,只要編寫(xiě)好正確的NAND FLASH驅動(dòng)程序,并定義相應的宏,就可對NAND FLASH的基本讀寫(xiě)操作。欲添加對鏡像的,只要實(shí)現一個(gè)新的參數即可。為了給下述工作一個(gè)清晰的步驟,在此先簡(jiǎn)述如何向U-Boot中添加一個(gè)新命令。以下所述的路徑均在U-Boot源碼目錄下。
(1)在include/cmd_confdefs.h文件中定義相應命令的宏,不能與已有的宏值重復。
(2)在common/cmd_name.c中實(shí)現命令操作的具體代碼,文件名中的name即為相應命令的名稱(chēng)。在這個(gè)文件中,首先要編寫(xiě)命令的實(shí)現函數;此外還要使用一個(gè)U_BOOT_CMD()的宏函數來(lái)填寫(xiě)該命令的cmd_tbl_t結構體。該結構體的原型是在include\command.h 中定義的,包含相應命令的名稱(chēng)、參數個(gè)數、實(shí)現函數、用法說(shuō)明、幫助等信息。最后還要修改common/Makefile文件,將該文件添加為編譯的目標。
(3)在相應的開(kāi)發(fā)板頭文件(位于include/con-figs/下)中的CONFIG_COMMANDS宏中添加(1)所定義的宏即可使用該命令。
在實(shí)現以上步驟時(shí),參照已有命令的相應代碼作適當修改即可。
2.2 為nand命令添加新參數
根據以上分析,下面給nand命令添加write.yaffs參數,從而實(shí)現對鏡像的。按照第2.1節中的步驟,由于nand命令已經(jīng)實(shí)現,僅需要修改com-mon/cmd_nand.c文件即可。
(1)在common/cmd_nand.c文件的U_BOOT_CMD()宏函數中仿照其他參數,添加該參數的使用說(shuō)明

定義讀寫(xiě)操作的結構體原型中一部分參數沒(méi)有使用,這些參數與選擇ECC的方式有關(guān),由于文件系統已包含了OOB數據,故不使用這些參數。另外, opts.skipfirstblk是向nand_write_options_t結構體中新添加的變量,因此需要修改該結構體。在 include/nand.h中,向struct nand_write_options結構體添加如下變量定義:
int skipfirstblk;
此外,需要再修改nand_write_opts函數,以增加對此變量的。
2.3 修改nand_write_opts函數
在drivers/nand/nand_util.c中,根據其代碼,在while(blockstart!=(mtdoffset(~erasesize_blockalign+1)))循環(huán)體之后添加如下代碼:



關(guān)鍵詞: 支持 Yaffs 實(shí)現 U-Boot

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>