讯为终结者Linux开发板 i.MX6ULL cortex-A7 ARMv7

板载ram 和 rom

内置

资源大小范围说明
sram128 KB0x00900000 ~ 0x0091FFFFOCRAM 类型RAM
srom92 KB0x00000000 ~ 0x00016FFFBoot ROM (Protected area) 用户不可编程
srom4 KB0x00017000 ~ 0x00017FFFBoot ROM (ROMCP)用户不可编程

外扩

资源大小范围说明
DDR3512 MB0x80000000 ~ 0xFFFFFFFF升级版的DRAM
EMMC8 GB通过sdio接口访问,没有编址KLM8G1GET带闪存管理器的NAND Flash

最终内存布局

在 uboot 运行后,DDR3上内存的最终布局如下下图所示(代码大小影响地址),内存情况被存储在 struct globd_data 中,后期传递给kernel 使用。
2.1.jpg

zImage 地址: 0x80800000
imx6ul_xxx.dtb 地址: 0x83000000
rootfs 地址: 0x83800000

uboot 烧录到 EMMC 上后,是最早被 OCRAM 中固化程序读取到 RAM 中的,此时 uboot 的链接地址和运行地址都在 #define CONFIG_SYS_TEXT_BASE 0x87800000,所以在被 OCRAM 读取到 RAM 中后可以直接运行,之后为了给 kernel 腾出空间会把自己重新重定位(包括动态符号表)到 EMMC 尾部地址上。

EMMC分区情况

/dev/mmcblk1p0/dev/mmcblk1p1/dev/mmcblk1p2
分区表(前两个扇区) + uboot(第三个扇区)kernel 内核和 dtb设备树rootfs根文件系统

EMMC三个分区:

  • 0分区(/dev/mmcblk1boot0):0分区前两个块 (扇区 )保存着分区表,从第三块开始存放uboot;
  • 1分区(/dev/mmcblk1p1):存放 Linux 内核 kernel 和 dtb 设备树;
  • 2分区(/dev/mmcblk1p2):存放 rootfs 根文件系统;
文章作者: 路西法
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 以梦为马
imx6ull imx6ull Linux
喜欢就支持一下吧