【发布时间】:2014-11-24 09:42:17
【问题描述】:
我们有基于 BBB 的定制板,
我们板上有 SPI NOR 闪存和 NAND 闪存,
我们能够为 NAND 制作 mtd 分区。但是 NOR 分区不起作用 :(
我们添加了以下定义来制作 mtd NOR 分区。
#define MTDIDS_DEFAULT "nand0=omap2-nand.0, nor0=omap2-nor.0"
#define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:" \
"128k(SPL)," \
"128k(SPL.backup1)," \
"128k(SPL.backup2)," \
"128k(SPL.backup3)," \
"1024k(u-boot)," \
"1024k(u-boot.backup1)," \
"128k(u-boot-env)," \
"5m(kernel)," \
"5m(kernel.backup1)," \
"512k(fdt)," \
"512k(fdt.backup1)," \
"100m(rootfs)," \
"100m(rootfs.backup1)," \
"13m(reserved)," \
";" \
"mtdparts=omap2-nor.0:" \
"128k(SPL1_nor)," \
"128k(SPL2_nor)," \
"128k(SPL3_nor)," \
"128k(SPL4_nor)," \
"512k(usr_nor)," \
另一个疑问是,
是否可以在 u-boot 中使用 mtd 设备文件进行读/写?
据我了解,u-boot 也使用 Linux 的 mtd 驱动程序,所以
是否可以从 u-boot 代码中执行类似 fd = open("/dev/mtd0",O_WRONLY) 的操作?
【问题讨论】:
-
"是否可以从 u-boot 代码中执行 fd = open("/dev/mtd0",O_WRONLY) 之类的操作?" u-boot 不是一个操作系统,它只是一个引导加载程序。您不能在 u-boot 中执行该代码。
-
@sessyargc.jp 感谢您的关注,我同意 u-boot 代码可能无法实现,但我也很想知道它是否可行。我想知道 u-boot 是否使用 Linux mtd 驱动程序,那么是否可以像 Linux 一样使用它。
-
确实 u-boot 使用的是精简版的 Linux mtd 驱动程序,但使用 u-boot 的其他要求对于 u-boot 不可用。一方面,u-boot 没有完整的文件系统。
-
我同意你的观点。
标签: embedded-linux beagleboneblack u-boot