Hi TI expert,
I am working with qnx on am62px.
I would like to know if TI has a feature for memory fragmentation and organization in the QNX system.
or other measures to prevent or reduce memory fragmentation.
thanks
Hi TI expert,
I am working with qnx on am62px.
I would like to know if TI has a feature for memory fragmentation and organization in the QNX system.
or other measures to prevent or reduce memory fragmentation.
thanks
Hi,
By default, the complete 8GB DDR in AM62P EVM is available for the QNX kernel to use - defined in these 2 mem regions:
//AM62P includes two DDR data regions: 2GB at 0x8000_0000 and 6GB at 0x8_8000_0000 #define IDK_DDR0_BASE 0x80000000ul #define IDK_DDR0_SIZE (MEG(2048)) /* 2GB */ #define IDK_DDR1_BASE 0x880000000ul #define IDK_DDR1_SIZE (MEG(6144)) /* 6GB */
BSP code: bsp/src/hardware/startup/boards/am62p/evm/board.h
However, following carveouts are added in this memory available to QNX kernel:
1. Carveout of 0x0007FFFF (512KB) at 0x80000000 to protect load address of arm trusted firmware
2. Carveout memory for remote cores , Start address is at 0x99A00000 and a total size is 0x26600000
3. For Codec: HighMem region is default and carveout at 0x880000000, total size - 0x30000000
Lowmem region can used for codec starting at : 0xC0000000, total size: 0x30000000
1,2 carveouts above are fixed. But codec region can be changed as per usecase. If you want to use the codec in high_mem region of DDR i.e. 0x880000000, you can remove the memory reserved for codec from the low memory region - -r0xC0000000,0x30000000,1
This chnage can be done in the QNX build file: bsp/images/am62p-evm-ti.build
[+keeplinked] startup-am62p-evm -v -r0x80000000,0x0007FFFF,1 -r0x99A00000,0x26600000,1 -r0xC0000000,0x30000000,1 ,-r0x880000000,0x30000000,1
These details about the carveouts and memory regions is available in PSDK docs, and as comments in the above QNX build file.
Regards,
Links