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.

MCU-PLUS-SDK-AM243X: eXecute In Place (XIP) Benchmark does not work on AM243x-LP

Part Number: MCU-PLUS-SDK-AM243X

On the AM243x Launchpad the XIP Benchmark does not work.

I followed the steps described and flashed via python script with changing DIP switches. Unfortunately I do not get any output on the debug log and cannot debug application with "Load symbols". When connecting the cores in CCS the address where they stop are also rather strange ...

I also have a AM64x-SK and there it worked fine!

Kind regards
Dominik

  • Hi ,

    Let me check the same on my end and come back to you on this by Monday.

    Best Regards,
    Aakash

  • Hi ,

    We have replicated the issue. Let me get more details and come back to you on this by 3/25/2023.

    Best Regards,
    Aakash

  • One additional question: On AM64x-SK board there is a OSPI (Octal) flash assembled on AM243x a QSPI (Quad) flash. Is XIP in general supported for QSPI flash?

  • Hi ,

    No, although the controller is an OSPI controller, the QSPI flash is supported in AM243x LP (ALX package). And in both the cases, XIP is supported as well.

    Best Regards,
    Aakash

  • Hi Aakash,

    anything new on this topic? You said you will come back by 3/25/2023.

  • Hi ,

    I have notified to the concerned team and the analysis for the same is in process. I will let you know if there are any updates on this.

    Best Regards,
    Aakash

  • Hi Domunik,

    Apologies for the delayed response

    This issue is fixed in 8.6 release which was release on 16th May.

    If you are on previous SDK then you need to define the new section for .rodata.cfg as shown below

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    GROUP {
    .text.hwi: palign(8)
    .text.cache: palign(8)
    .text.mpu: palign(8)
    .text.boot: palign(8)
    .text:abort: palign(8) /* this helps in loading symbols when using XIP mode */
    } > MSRAM
    GROUP {
    .rodata.cfg: {} palign(8) /* This is to keep the MPU config, Cache config and other consts */
    } > MSRAM
    /* This is rest of code. This can be placed in DDR if DDR is available and needed */
    GROUP {
    .text: {} palign(8) /* This is where code resides */
    .rodata: {} palign(8) /* This is where const's go */
    } > FLASH
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Regards,

    Ankur

  • Today I had the time to test 8.6.0 and XIP benchmark, it is now working, thanks