Load Failure of Large uImage (>23MB) Due to Reserved Memory Overlap - S32G3_RDB3

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Load Failure of Large uImage (>23MB) Due to Reserved Memory Overlap - S32G3_RDB3

212件の閲覧回数
vishalg
Contributor III

Dear community members,

My Setup 

Board S32G3 - RDB3 hardware.
NXP BSP43
u-Boot details:

  • U-Boot 2022.04+gc01b3bf7b1+p0 (Nov 21 2024 - 14:00:36 +0000)
    SoC: NXP S32G399A rev. 1.1
    CPU: ARM Cortex-A53 r0p4 @ max 1300 MHz

________________________________________________________________________________________________________________________________________

Trying to boot uImage at uboot using bootm.

=> ext4load mmc 0:2 0x90000000 s32g399a-rdb3.dtb
50768 bytes read in 4 ms (12.1 MiB/s)
=> ext4load mmc 0:2 0x81200000 LinuxVmwithRamDisk.uimage
** Reading file would overwrite reserved memory **
Failed to load 'LinuxVmwithRamDisk.uimage'

________________________________________________________________________________________________________________________________________
This is my Board INFO:

=> bdinfo
boot_params = 0x0000000000000000
DRAM bank = 0x0000000000000000
-> start = 0x0000000080000000
-> size = 0x0000000080000000
DRAM bank = 0x0000000000000001
-> start = 0x0000000880000000
-> size = 0x0000000060000000
flashstart = 0x0000000000000000
flashsize = 0x0000000000000000
flashoffset = 0x0000000000000000
baudrate = 115200 bps
relocaddr = 0x00000000fffe0000
reloc off = 0x0000000000000000
Build = 64-bit
current eth = pfe0
ethaddr = (not set)
IP addr = 10.0.0.100
fdt_blob = 0x00000000ff891000
new_fdt = 0x00000000ffbc6a60
fdt_size = 0x0000000000009320
lmb_dump_all:
memory.cnt = 0x2
memory[0] [0x80000000-0xffffffff], 0x80000000 bytes flags: 0
memory[1] [0x880000000-0x8dfffffff], 0x60000000 bytes flags: 0
reserved.cnt = 0x8
reserved[0] [0x34500000-0x3450047f], 0x00000480 bytes flags: 4
reserved[1] [0x83400000-0x83407fff], 0x00008000 bytes flags: 4
reserved[2] [0x84000000-0x84ffffff], 0x01000000 bytes flags: 4
reserved[3] [0xc0000000-0xc07fffff], 0x00800000 bytes flags: 4
reserved[4] [0xd0000000-0xd00000ff], 0x00000100 bytes flags: 4
reserved[5] [0xff600000-0xff7fffff], 0x00200000 bytes flags: 4
reserved[6] [0xff8a0000-0xff9cf3e7], 0x0012f3e8 bytes flags: 0
reserved[7] [0xffbc2470-0xffffffff], 0x0043db90 bytes flags: 0
devicetree = board
arch_number = 0x0000000000000000
TLB addr = 0x00000000fffe0000
irq_sp = 0x00000000ffbc6a50
sp start = 0x00000000ffbc6a50
Early malloc usage: 26808 / 40000

________________________________________________________________________________________________________________________________________

Problem: 
The uImage fails to load at address 0x81200000 only when its size exceeds approximately beyond 23 MB, because the loaded image then overlaps with reserved memory regions defined in the system (as seen in bdinfo). This overlap prevents successful loading.
Can you please suggest me how to select a safe, non-overlapping region that can accommodate larger kernel images (e.g., 38–60 MB) without conflicts, and where shall i make changes.

And how shall i rule out the Load address setting, can you please point me to the right file.
Looking for your response.

Regards,

Vishal G

0 件の賞賛
返信
1 返信

198件の閲覧回数
Joey_z
NXP Employee
NXP Employee

hi,vishalg

Thank you for your information and question.

What is the size of your uImage? It should not have conflict between uImage memory and reserved memory. The address of 0x81200000+uImage size should not conflict the scope of 0x83400000-0x83407fff.

Hope it can help you.

BR

Joey

0 件の賞賛
返信