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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

u-boot-2012-07 for tiny210, 支持USB DNW, 支持YAFFS2烧写, 彻底抛弃superboot

發(fā)布時間:2023/12/10 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 u-boot-2012-07 for tiny210, 支持USB DNW, 支持YAFFS2烧写, 彻底抛弃superboot 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

買tiny210開發(fā)板之前, 真不知道連u-boot也不是提供。
superboot雖好,但只提供二進制文件,且只能用SD卡燒寫,太不爽了。 從QQ2440,到Tiny6410, 再到Tiny210,??
感覺硬件越來越超值,可送的軟件卻越來越垃圾了。

痛定思痛,決定移植u-boot, 最早是在2011-12上面搞, 當時把USB DNW做好了(借用6410 usbd-otg-hs.c/.h,??小改了幾處實現),能燒寫u-boot, kernel等二進制文件,
燒寫yaffs2, 卻啟不來,... 因為項目忙,所以就擱置了

最近看到u-boot 2012-07發(fā)布,決定直接在最新版本的u-boot上去把心愿了卻。
主要方法是: 對比superboot燒寫后的OOB數據, IMG原始OOB數據,以及u-boot燒寫后的OOB數據。

通過不斷對比發(fā)現:??
1. 要用友善的mkyaffs2image-128M, 因為它里面才包含了ECC layout相關數據。
2. nand_write_skip_bad的
if (!need_skip && !(flags & WITH_DROP_FFS)) {
????????rval = nand_write (nand, offset, length, buffer);
????????if (rval == 0)
????????????return 0;

????????*length = 0;
????????printf ("NAND write to offset %llx failed %d\n",
????????????offset, rval);
????????return rval;
}
這段代碼要屏蔽 (這段代碼在有些情況下會導致OOB沒有寫入
3. nand_do_write_ops函數的

????if (likely(!oob))
????????memset(chip->oob_poi, 0xff, mtd->oobsize);
要把這個if判斷拿掉 (經驗證, 這個不是必須的
4.??OOB mode要改為MTD_OOB_PLACE。代碼如下:

int nand_write_skip_bad(nand_info_t *nand, loff_t offset, size_t *length,
???u_char *buffer, int flags)

{

......

#ifdef CONFIG_CMD_NAND_YAFFS
??if (flags & WITH_YAFFS_OOB) {
???int page, pages;
???size_t pagesize = nand->writesize;
???size_t pagesize_oob = pagesize + nand->oobsize;
???struct mtd_oob_ops ops;

???ops.len = pagesize;
???ops.ooblen = nand->oobsize;
???ops.mode = MTD_OOB_PLACE; //MTD_OOB_AUTO;
???ops.ooboffs = 0;

?........


5. u-boot要關閉8bit hw ecc, 打開 CONFIG_NAND_4BIT_ECC。?這個很關鍵

在tiny210.h文件中

#define CONFIG_NAND_4BIT_ECC? 1

/*
#define CONFIG_NAND_BL1_8BIT_ECC
#define CONFIG_8BIT_HW_ECC_SLC????? 1

*/

?

6. 修改nand 驅動

int board_nand_init(struct nand_chip *nand)

{

.....

if (!type->pagesize) {
??if (((nand->cellinfo >> 2) & 0x3) == 0) {
???nand_type = S3C_NAND_TYPE_SLC;
???nand->ecc.size = 512;
???nand->ecc.bytes?= 4;

.......

???if ((1024 << (tmp & 0x3)) > 512) {
#if !defined(CONFIG_NAND_BL1_8BIT_ECC)? ?
???
?nand->ecc.read_page = s3c_nand_read_page_1bit;
????nand->ecc.write_page = s3c_nand_write_page_1bit;
????nand->ecc.read_oob = s3c_nand_read_oob_1bit;
????nand->ecc.write_oob = s3c_nand_write_oob_1bit;
????nand->ecc.layout = &s3c_nand_oob_64;
????nand->ecc.hwctl = s3c_nand_enable_hwecc;
??????????????? nand->ecc.calculate = s3c_nand_calculate_ecc;
??????????????? nand->ecc.correct = s3c_nand_correct_data;
??????????????? nand->options |= NAND_NO_SUBPAGE_WRITE;
#else
????nand->ecc.read_page = s3c_nand_read_page_8bit;
????nand->ecc.write_page = s3c_nand_write_page_8bit;
????nand->ecc.read_oob = s3c_nand_read_oob_8bit;
????nand->ecc.write_oob = s3c_nand_write_oob_8bit;
????nand->ecc.layout = &s3c_nand_oob_64_8bit;
????nand->ecc.hwctl = s3c_nand_enable_hwecc_8bit;
????nand->ecc.calculate = s3c_nand_calculate_ecc_8bit;
????nand->ecc.correct = s3c_nand_correct_data_8bit;
????nand->ecc.size = 512;
????nand->ecc.bytes = 13;
????nand->options |= NAND_NO_SUBPAGE_WRITE;
#endif

....


7. kernel也要關閉8 bit hw ecc

差不多完成以上幾步后, 用u-boot燒寫rootfs_android.img就與superboot完全一致了。
android系統也就可以跑了。

總結

以上是生活随笔為你收集整理的u-boot-2012-07 for tiny210, 支持USB DNW, 支持YAFFS2烧写, 彻底抛弃superboot的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 大牛影视剧免费播放在线 | 精品人伦一区二区三 | 97久久久久久 | 日日爱夜夜操 | free性丰满69性欧美 | 五月婷婷六月丁香综合 | 一亲二脱三插 | 伊人网色 | 亚洲香蕉一区 | 在线免费av片 | 俺也去综合 | 黑人100部av解禁片 | 中文字幕在线观看日韩 | 草草影院在线播放 | 蜜臀久久99精品久久久无需会员 | 国产精品蜜臀av | 亚洲精品久久久久久动漫器材一区 | 男女午夜激情视频 | 羞羞在线观看 | 日本熟妇人妻中出 | 给我看高清的视频在线观看 | 午夜在线精品 | 国产成人精品免高潮在线观看 | 日韩欧美一级视频 | 黄色a在线 | 被警察猛c猛男男男 | 欧美91精品久久久久国产性生爱 | 欧美成人日韩 | 国产精品主播视频 | 山外人精品影院 | 麻豆人妻少妇精品无码专区 | 日韩国产成人无码av毛片 | 亚洲精品欧洲精品 | 国产丰满农村老妇女乱 | av网站免费看| 欧美高清在线视频 | 91香蕉在线看 | 免费的av网站 | 日韩精品一区二区三区视频在线观看 | 欧美一区二区三区久久久 | 国产一区二区高清 | 成人香蕉网 | 国产精品成人在线 | 男女啪啪十八 | 夜夜躁日日躁狠狠久久av | 久草视频国产 | 欧美激情va永久在线播放 | 麻豆成人久久精品一区二区三区 | 99re这里有精品 | a在线观看视频 | 亚洲av无码一区二区三区dv | 亚洲专区欧美 | 青娱乐在线视频免费观看 | 久久只有这里有精品 | 免费黄色在线看 | 色七七桃花综合影院 | 成人在线免费播放 | 四虎影| 国产精品无码专区 | 国产黄色精品视频 | 少妇在线播放 | 成人动漫视频 | 67194成人| 国产无遮挡又黄又爽 | 亚洲夜夜夜 | 女同久久另类69精品国产 | 国产98在线 | 手机看片久久 | 国产三级精品三级在线 | xxxx视频在线 | 三上悠亚ed2k | 精品国产乱码一区二区三 | 日本色站| 国产成人综合精品 | 成人在线视频免费 | 欧美性一区二区 | 日本东京热一区二区 | 国产视频黄 | 无码精品人妻一区二区三区漫画 | 亚洲天堂av片 | 拍摄av现场失控高潮数次 | 91久久精品一区二区三 | 精品人妻少妇AV无码专区 | 日本成人在线免费 | 日韩在线观看免费全 | 亚洲av无码电影在线播放 | 亚洲免费精品视频在线观看 | 天天插天天射天天干 | 亚洲色图在线观看视频 | h片免费观看 | www久久久 | 亚洲麻豆av| 久久久亚洲天堂 | 一出一进一爽一粗一大视频 | 免费在线播放av | 99精品福利| 中文字幕一区二区三区在线视频 | 波多野结衣一二区 | 超碰在线日韩 |