我在下面的doc embedded-linux-labs.pdf中找到了第27页的问题 http://free-electrons.com/doc/training/embedded-linux/embedded-linux-labs.pdf
参见附图。使用的板是Atmel SAMA5D3 Xplained板。
在图中,UBI用于进入MDT分区。
以下是否也涉及单个MDT分区: -
AT91Bootstrap,U-Boot,U-Boot env& U-Boot env backup
或者这些(AT91Bootstrap,U-Boot,U-Boot env和U-Boot env备份)也会在预定位置进入NAND Flash而不是MDT分区?
rom代码如何知道从NAND闪存加载的AT91Bootstrap的大小。
答案 0 :(得分:0)
您必须按照本文档中的指示将每个部分放入NAND中。我不熟悉他们的想法,但据我了解你已经有了UBI分区,你必须使用AT91 + U-boot + env + env-backup创建额外的分区。然后将其闪存到NAND中。因此,您的问题的答案是肯定的(AT91Bootstrap,U-Boot,U-Boot env和U-Boot env备份)转到NAND。通常,嵌入式系统使用NAND来存储第一个引导加载程序,第二个引导加载程序,以及ENV,内核和dtb文件。
关于尺码: 当您创建AT91Bootstrap时,您必须(或某些脚本)添加有效的“魔术”标头。在你的情况下,它被称为“有效代码”。内部引导加载程序读取它(我的意思是它读取几个第一个字节或一个页面;它取决于您使用的内存类型),解析它并从那里获取有关引导过程的详细信息,包括AT91Bootstrap数据的大小。 您可以从此链接(页68)中找到有关此过程的详细信息 http://www.atmel.com/Images/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet.pdf