我想根据其内容填充分区。在系统启动期间,我想检查闪存区域是否包含任何数据。如果为true - 将其显示为只读或可重写。
我想自动制作,没有U-boot shell ......
在Linux内核级别上,我只能在分区表中静态使用它。 是否可以在U-boot中执行此操作?
感谢您的任何提示。
我检查了两种可能性: U-boot mtd-parts
U-Boot>
setenv mtdparts mtdparts=atmel_nand:2M@0x40000(u-boot),30M@0x200000(kernel),-@0x2000000(user),**0x20000@0x100000(u)**
U-Boot>
mtdparts
填充分区后不允许分区
不幸的是,它无法在表和表中添加分区。如果数据存在于0x100000
区域中,我想将mtd4作为单独的分区。
可以在内核mtd_partition表中使用。但是这个表是在arch / arm ... board文件中声明的(早期启动阶段)。在这个启动阶段,我无法阅读nand。我无法访问nand驱动程序提供的nand读取接口。
感谢您提供的所有提示。在“无艺术噪音”提示后,我决定在u-boot中读取nand区域,并通过不同的内核命令行参数发送有用的参数。这非常灵活。其他一些硬件配置可以存储在闪存中并用于内核初始化。
捕获内核参数可以通过以下方式完成:early_param()
函数。