哪位大侠帮帮忙啊,我用mtd层的nftl将nand的某一分区转化为vfat格式

发布于 2022-10-15 06:16:25 字数 3303 浏览 11 评论 0

我可以将nand分成六个分区(mtdblock0 ~ mtdblock5)用NFS挂到开发板上,但是将NFTL模块加载时就用ls 查看不到nftl设备
正常情况应该是:
# ls /dev/n*
/dev/network_latency /dev/nftla0
/dev/network_throughput /dev/null
但是我出现
/dev/network_latency  
/dev/network_throughput /dev/null
很显然ntfl没挂载上去,怎么样可以将nftl和nand中的分区4(mtdblock3)衔接起来呢?怎么修改nftl中的代码可以用nftl访问nand中的分区呢?

if (retlen < 6 || memcmp(buf, "ANAND", 6)) {
                        /* ANAND\0 not found. Continue */
#if 0
                        printk(KERN_DEBUG "ANAND header not found at 0x%x in mtd%d\n",
                               block * nftl->EraseSize, nftl->mbd.mtd->index);
#endif
                        continue;
                }
我可以将nand分成五个分区(mtdblock0 ~ mtdblock5)用NFS挂到开发板上,但是将NFTL模块加载时就用ls 查看不到nftl设备
正常情况应该是:
# ls /dev/n*
/dev/network_latency /dev/nftla0
/dev/network_throughput /dev/null
但是我出现
/dev/network_latency  
/dev/network_throughput /dev/null
很显然ntfl没挂载上去,怎么样可以将nftl和nand中的分区4(mtdblock3)衔接起来呢?怎么修改nftl中的代码可以用nftl访问nand中的分区呢?

与mtd的nftl相关的两个.c文件是nftlcore.c和nftlmount.c,我已经研究到需要修改两个地方:
nftlcore.c中:
if (memcmp(mtd->name, "DiskOnChip", 10))
                 return;
DiskOnChip需要修改为,nand第四个分区mtdblock5的分区名

nftlmount.c中:
if (retlen < 6 || memcmp(buf, "ANAND", 6)) {
                        /* ANAND\0 not found. Continue */
#if 0
                        printk(KERN_DEBUG "ANAND header not found at 0x%x in mtd%d\n",
                               block * nftl->EraseSize, nftl->mbd.mtd->index);
#endif
                        continue;
                }
需要使用nftl_format 将ANAND头加载入nand4分区中
但是最后我用开发板加载nftl时出现死机,我调试可以看到是在这个地方出现问题:

if (add_mtd_blktrans_dev(&nftl->mbd)) {
                 kfree(nftl->ReplUnitTable);
                 kfree(nftl->EUNtable);
                 kfree(nftl);
                 return;
}
add_mtd_blktrans_dev函数执行不了,恳求哪位大侠可以帮帮忙啊,小弟感激不尽!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文