AM62P: Defragment memory

Part Number: AM62P

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