Bootstrap

rt_thread_smart移植步骤总结(基于imx6ull开发板)

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.指定通用中断控制器物理地址

查找芯片手册

;