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.

AWRL6844: How to remap TCM (vector table) to 0x00000000 on AWRL6844?

Part Number: AWRL6844

Tool/software:

Hello,

I'm working with an AWRL6844EVM in SOP_MODE4 (Debug/Development Mode) using a Lauterbach debugger.

My debug scripts connect to both the HSM ARM-CM4 and the APPSS ARM Cortex-R5F cores.

I'm loading my .elf file into APP_CPU_TCMA_A at address 0x00018000, and my vector table is located at that address (0x00018000).

As ARMv7-R (Cortex-R5F) doesn't support a VBAR register, it expects the exception vector table to be located at 0x00000000.

Is there a way to remap the TCMA region to 0x00000000 in this setup so that my vector table is correctly used?

Thanks in advance!

Best regards,
Stefan

  • Hey Stefan,

    Thanks for reaching out here. I will look into this later today and get back to you.

    Regards,

    Kristien

  • Hello Kristien,

    It was possible to write the vector table with DATA.LOAD.ELF to the address 0x00000000. So far everything works as expected.

    However, according to the APPSS Cortex R5F memory map, address 0x00000000 actually belongs to APP_CPU_ROM_A, i.e. a ROM area. Direct write access without a flash tool should therefore not be possible.

    I therefore assume that remapping takes place in development or debug mode and that 0x00000000 points to a writable memory (e.g. RAM) in this case. However, at the moment I do not know exactly which physical memory is actually mapped to this address.


    BR
    Stefan

  • Hey Stefan,

    I'm glad you were able to remap the vector table. Address 0x00000000 initially belongs to the APP_CPU_ROM, but during the ROM bootloader, this gets eclipsed by the APP_CPU_TCMA RAM, so that accessing 0x00000000 would map to the APP_CPU_TCMA instead of the ROM. You can see the eclipsed address mapping by looking at the linker files of our example projects such as the mmWave demo (<MMWAVE_LSDK6_INSTALL_DIR>\examples\mmw_demo\mmwave_demo\xwrL684x-evm\r5fss0-0_freertos\ti-arm-clang\linker.cmd).

    Hopefully this helps, but let me know if you have any other questions.

    Cheers,

    Kristien