1.设置MMU
内存映射:
a.设置偏移地址
计算偏移地址=内核虚拟地址初始地址(固定值)- 内存物理地址初始值(查找芯片手册)
PV_offset = kernel_vaddr_start - MMDC_start_address
= 0x8000 0000 - 0xC000 0000
= 0xC000 0000
修改偏移地址:
配置环境后进入imx6ull文件夹
menuconfig命令修改
The offset of kernel physical address and virtural address为0xC000 0000
b.设置内存终止地址
指定通用中断控制器地址,imx6ull的内存为512M,转换为十六进制位为512*1024*1024-1=
0x1FFF FFFF
struct mem_desc platform_mem_desc[] = { /* 100ask_imx6ull ddr 512M */
{KERNEL_VADDR_START, KERNEL_VADDR_START + 0x1FFFFFFF, KERNEL_VADDR_START + PV_OFFSET, NORMAL_MEM}
};
修改D:\rtthread\rt-smart\kernel\bsp\imx6ull\drivers\board.c
中第二个参数为0x1FFF FFFF;
c.指定通用中断控制器物理地址
查找芯片手册