2

有一个嵌入式系统,我有 root shell 访问权限。我无法进入 U-boot 启动菜单。(启动延迟=0)

设备从 nor flash 启动并在 emmc 上加载文件系统。它不设置 /dev/mtd 设备。

我想访问nor flash。

系统上有 MTD 驱动程序,因此这似乎是最佳选择。(完全没有这方面的经验,所以如果我错了请纠正我)

drwxrwxr-x 2 1000 root  1024 Jul 29  2013 chips
drwxrwxr-x 2 1000 root  1024 Jul 29  2013 maps
-rw-rw-r-- 1 1000 1000 21544 Jul 29  2013 mtd.ko
-rw-rw-r-- 1 1000 1000  8560 Jul 29  2013 mtd_blkdevs.ko
-rw-rw-r-- 1 1000 1000  6132 Jul 29  2013 mtdblock.ko
-rw-rw-r-- 1 1000 1000  9648 Jul 29  2013 mtdchar.ko

如果使用 modprobe 启动 MTD,则会创建 /proc/mtd。dmesg 中没有任何内容。

root:/proc# cat /proc/mtd
dev:    size   erasesize  name

所以没有分区。如何配置 mtd 才能访问 nor flash。(物理地址已知)

谢谢

4

1 回答 1

0

您需要在内核中特定于板的文件中描述您的 NOR 分区。在 u-boot 中,您应该能够使用smeminfo.

在您的 linux 内核中,您需要填充一个mtd_partitions.

在这里找到更多:http: //free-electrons.com/blog/managing-flash-storage-with-linux/

于 2015-06-26T21:52:47.517 回答