LV04-00-IMX6ULL-01-内存映射

本文主要是I.MX6ULL——内存映射的相关笔记,若笔记中有错误或者不合适的地方,欢迎批评指正😃。

点击查看使用工具及版本
Windows版本 windows11
Ubuntu版本 Ubuntu16.04的64位版本
VMware® Workstation 16 Pro 16.2.3 build-19376536
终端软件 MobaXterm(Professional Edition v23.0 Build 5042 (license))
Linux开发板 正点原子 i.MX6ULL Linux 阿尔法开发板
uboot NXP官方提供的uboot,NXP提供的版本为uboot-imx-rel_imx_4.1.15_2.1.0_ga(使用的uboot版本为U-Boot 2016.03)
linux内核 linux-4.15(NXP官方提供)
Win32DiskImager Win32DiskImager v1.0
点击查看本文参考资料
分类 网址 说明
官方网站 https://www.arm.com/ ARM官方网站,在这里我们可以找到Cotex-Mx以及ARMVx的一些文档
https://www.nxp.com.cn/ NXP官方网站
https://www.nxpic.org.cn/NXP 官方社区
https://u-boot.readthedocs.io/en/latest/u-boot官网
https://www.kernel.org/linux内核官网
点击查看相关文件下载
分类 网址 说明
NXP https://github.com/nxp-imx NXP imx开发资源GitHub组织,里边会有u-boot和linux内核的仓库
nxp-imx/linux-imx/releases/tag/rel_imx_4.1.15_2.1.0_ga NXP linux内核仓库tags中的rel_imx_4.1.15_2.1.0_ga
nxp-imx/uboot-imx/releases/tag/rel_imx_4.1.15_2.1.0_ga NXP u-boot仓库tags中的rel_imx_4.1.15_2.1.0_ga
I.MX6ULL i.MX 6ULL Applications Processors for Industrial Products I.MX6ULL 芯片手册(datasheet,可以在线查看)
i.MX 6ULL Applications ProcessorReference Manual I.MX6ULL 参考手册(下载后才能查看,需要登录NXP官网)
Source Code https://elixir.bootlin.com/linux/latest/source linux kernel源码
https://elixir.bootlin.com/u-boot/latest/source uboot源码

这一部分主要看《i.MX 6ULL Applications Processor Reference Manual 》的Chapter 2 Memory Maps 。

一、ARM Platform Memory Map

i.MX6UL外设寄存器以及内存被映射到4G的地址空间

image-20241105234605141

这里我们只关关心内存映射,结合上图说明如下:

标号①,DDR映射区域。DDR作为i.MX6UL的主内存区域,它被映射在0x8000 0000地址处,最大空间为2G, 实际可用大小与选择的DDR芯片容量有关。

标号②,QSPI1映射区域,i.MX6UL可以外接串行norflash,norflahs映射到0x6000 000起始地址处。 norflash,支持“本地执行”作用类似于STM32的内部FLASH。NXP的跨界处理器RT1050系列 就是用这个外部norflah存储代码。因为开发板已经使用了容量更大的EMMC或nand flash作为主存储器, 所以配套开发板并没有外接norFlash

标号③,EIM外扩存储器映射区域。i.MX6UL可以通过EIM总线外扩存储器,我们这里没有用到,不做过多介绍。

标号④,启动引导程序(Boot ROM)内存映射区域,它位于芯片内部。启动引导程序(Boot ROM)位于起始 地址0x0000 0000 处。我们知道芯片上电后(或硬件复位)会自动从“0”地址处开始执行。和容易得出,这里 就是保存的启动引导代码。有关启动引导程序(Boot ROM)是如何工作的,我们将在下一小节详细介绍。

从上图我们可以知道i.MX6UL支持将多种存储器映射到4G的地址空间,我们只使用了DDR作为i.MX6UL的主内 存区域,起始地址为0x8000 0000 ,大小由实际使用的DDR芯片决定。启动引导程序(Boot ROM)位于“0”地址处,大小为96Kb。

二、DMA memory map

这个没仔细研究,后面再学习吧。

image-20241105234735741