日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

移植uboot第九步:支持yaffs映像烧写

發(fā)布時間:2025/10/17 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 移植uboot第九步:支持yaffs映像烧写 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

寫在前面:

我的博客已遷移至自建服務器:博客傳送門,CSDN博客暫時停止,如有機器學習方面的興趣,歡迎來看一看。

此外目前我在gitHub上準備一些李航的《統(tǒng)計學習方法》的實現(xiàn)算法,目標將書內算法全部手打實現(xiàn),歡迎參觀并打星。GitHib傳送門

正文

uboot啟動以后,先燒寫jffss看看能不能用

tftp 30000000 fs_mini_mdev.jffs2 nand erase.part rootfs nand write.jffs2 30000000 0x00260000 5b89a8

“5b89a8”是實際文件的大小,下載以后會顯示的,直接copy過來就可以了。這個時候還不能直接啟動,uboot傳給內核的參數需要修改

bootargs=console=ttySAC0 root=/dev/mtdblock3

修改為

bootargs=console=ttySAC0 root=/dev/mtdblock3 rootfstype=jffs2

說明根文件系統(tǒng)的格式是jffs2的。
命令:boot 啟動。
結果:成功啟動jffs格式的根文件系統(tǒng)

再來試試yaffs格式的根文件
uboot的參數修改為

bootargs=console=ttySAC0 root=/dev/mtdblock3 rootfstype=yaffs2

燒寫YAFFS

tftp 30000000 fs_mini_mdev.yaffs2 nand erase.part rootfs nand write.yaffs 30000000 260000 889bc0

出現(xiàn)錯誤,說沒有yaffs,進入文件查找

#ifdef CONFIG_CMD_NAND_YAFFS} else if (!strcmp(s, ".yaffs")) {if (read) {printf("Unknown nand command suffix '%s'.\n", s);return 1;}ret = nand_write_skip_bad(nand, off, &rwsize,(u_char *)addr, WITH_YAFFS_OOB); #endif

CONFIG_CMD_NAND_YAFFS沒有宏定義,將其在s3c2440.h文件中宏定義。
此外還需要一些修改,我直接跟著韋東山改的,是uboot里面邏輯之類的錯誤,不好好查代碼根本查不出來。
在剛才的函數中找到nand_write_skip_bad函數,進入
a.找到下面這段代碼

for (page = 0; page < pages; page++) {WATCHDOG_RESET();ops.datbuf = p_buffer;ops.oobbuf = ops.datbuf + pagesize;rval = nand->write_oob(nand, offset, &ops);if (!rval) break;offset += pagesize;p_buffer += pagesize_oob;}

修改為

for (page = 0; page < pages; page++) {WATCHDOG_RESET();ops.datbuf = p_buffer;ops.oobbuf = ops.datbuf + pagesize;rval = nand->write_oob(nand, offset, &ops);if (rval) /* 原先是非,這樣是錯的,把非去掉 */break;offset += pagesize;p_buffer += pagesize_oob;}

b.在上面代碼的上方的

ops.mode = MTD_OOB_AUTO;

修改為

ops.mode = MTD_OOB_RAW;

編譯,燒寫。成功啟動根文件系統(tǒng)

總結

以上是生活随笔為你收集整理的移植uboot第九步:支持yaffs映像烧写的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。