对于mini2440来说,通过对其硬件的分析可以得出
- 代码的存储
nor flash : 2M
nand flash : 256M
supervivi
0x00000000 -- 0x0003FFFF -- 256k
0x00040000 -- 0x0005FFFF -- 128K
kernel
0x00060000 -- 0x0055FFFF -- 5M
root
0x00560000 -- END
编译器将代码编译成二进制文件后(.bin),要通过烧入flash中才能运行。
- 代码的运行
sdram : 64M
0x30000000 -- 0x34000000
运行时的划分
kernel
0x30000000 -- 0x33F7FFFF
supervivi
0x33F80000 -- END
我们在编译链接的时候必须考虑以上的地址分配,在移植的时候必须根据自己系统的存储系统
修改.lds文件地址,否则无法正常运行。
- 启动文件的链接地址修改
- linux内核文件链接地址的修改