更改Linux的起始地址

时间:2015-03-06 14:50:49

标签: linux linux-kernel

我们正尝试在zedboard上启动linux并通过可编程逻辑监视所有内存访问。我们首先尝试使用以下0x40000000的起始地址启动Linux:

$ make ARCH=arm UIMAGE_LOADADDR=0x48008000 uImage

到目前为止,我们得到了:

reading uImage
3453656 bytes read in 568 ms (5.8 MiB/s)
reading devicetree.dtb
9209 bytes read in 16 ms (561.5 KiB/s)
reading uramdisk.image.gz
5310018 bytes read in 865 ms (5.9 MiB/s)
memstart 0
## Booting kernel from Legacy Image at 43000000 ...
Image Name: Linux-3.18.0-xilinx-06434-g1f570
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3453592 Bytes = 3.3 MiB
Load Address: 48008000
Entry Point: 48008000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 42000000 ...
Image Name:
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 5309954 Bytes = 5.1 MiB
Load Address: 48000000
Entry Point: 48000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 42a00000
Booting using the fdt blob at 0x42a00000
Loading Kernel Image ... OK
Loading Ramdisk to 1e812000, end 1ed22602 ... OK
Loading Device Tree to 1e80c000, end 1e8113f8 ... OK
## Transferring control to Linux (at address 48008000)...
Starting kernel ...

在尝试使用以下命令启用mmu后,看起来Linux挂起了:

mcr    p15, 0, r0, c1, c0, 0        @ write control reg

arch/arm/kernel/head.S内。

我怎样才能让它发挥作用?

0 个答案:

没有答案