尺寸不断增加的适配图像的 DRAM 问题

尺寸不断增加的适配图像的 DRAM 问题

我在带有 Zynq700 SoC 的专有板上拥有 512 MiB 内存容量。这对应于地址范围[0x00000000,0x20000000]。

我在其上运行基于 ram 的操作系统,它工作正常,直到我进行以下更改:

  • 我将 valgrind、gdb、gdbserver 和 strace 包添加到 rootfs,无需进一步更改。

最后:

  • 我的合身图像变大了 (~x2)。
  • 我通过 JTAG 从 clobstart 加载此 itb(我已在地址 0x10000000 处定义)
  • 我计算主机上适合图像的 crc32,然后使用 u-boot crc32 实用程序从该 RAM 地址到文件的大小,crc 是相同的。
  • 我继续启动,内核挂在下面显示的消息上。

我突然想到,也许我可能与 DRAM 那个区域中已经加载的东西重叠。我在下面留下了我的 fitImage 的详细信息以获取更多信息。

==> bootm $clobstart
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf@1' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel@1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x100000cc
     Data Size:    46423824 Bytes = 44.3 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00008000
     Entry Point:  0x00008000
     Hash algo:    crc32
     Hash value:   3d108223
   Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 10000000 ...
   Using 'conf@1' configuration
   Trying 'fdt@1' fdt subimage
     Description:  Flattened device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x12c460c0
     Data Size:    16036 Bytes = 15.7 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   15b17b33
   Verifying Hash Integrity ... crc32+ OK
   Booting using the fdt blob at 0x12c460c0
   Loading Kernel Image ... OK
   Loading Device Tree to 07ff9000, end 07fffea3 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x00000000).

Available machine support:
ID (hex)     NAME
ffffffff     Generic DT based system
ffffffff     ARM Versatile Express
ffffffff     Xilinx Zynq Platform

Please check your kernel config and/or bootloader.

相关内容