This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM6442: Boot Memory Map

Part Number: AM6442

Hi all

Would  you mind if we ask some questions about AM6442 memory address?

<Question1>
In TRM 4.8.1 Memory Layout/MPU, We think ROM code address is Region 1.
And (If OSPI boot) SBL address in OSPI memory is Region 11.
Is our recognition correct?


<Question2>
In the memory layout, and if we select another boot device in ROM code (e.g. eMMC, GPMC, I2C, USB..), which region will executable as SBL?--


<Question3>
If we use sbl_prebuilt/am64x-evm/sbl_ospi.release.hs_fs.tiimage, will software image execute on address 0x60080000?
Is the offset SBL space?
And is offset defined by SBL's linker command file?

Kind regards,

Hirotaka Matsumoto

  • Hello Hirataka-san,

    1/

    In TRM 4.8.1 Memory Layout/MPU, We think ROM code address is Region 1.

    More precisely, the public ROM executes from the Region 1 memory address space.

    And (If OSPI boot) SBL address in OSPI memory is Region 11.

    In case of OSPI boot, the OSPI memory (Region 11) only stores the SBL image. The SBL itself runs from MSRAM (Region 5). The process is: In case of OSPI boot, ROM reads the SBL image from OSPI and loads it into the ROM. Thereafter, on reset, the SBL starts running from MSRAM.  

    2/ In all boot modes, the SBL runs from MSRAM memory.

    3/ The SBL's Linker Command file contains all the information to know where SBL is loaded and run from. If we check the SBL_OSPI's Linker Command file, the memory regions are defined as

    MEMORY
    {
        R5F_VECS : ORIGIN = 0x00000000 , LENGTH = 0x00000040
        R5F_TCMA : ORIGIN = 0x00000040 , LENGTH = 0x00007FC0
        R5F_TCMB0: ORIGIN = 0x41010000 , LENGTH = 0x00008000
        MSRAM_VECS: ORIGIN = 0x70000000 , LENGTH = 0x100
        MSRAM_0  : ORIGIN = 0x70000100 , LENGTH = 0x70000 - 0x100
        MSRAM_1  : ORIGIN = 0x70070000 , LENGTH = 0x10000
    }

    Out of these, only MSRAM_VECS, MSRAM_0 & MSRAM_1 are used. So, the SBL_OSPI is loaded into MSRAM and run from the same.

    Regards,

    Prashant