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.

LP-AM243: Using flash driver and XIP

Part Number: LP-AM243

Hi experts,

I am working on the flash driver example (ospi_flash_io) using a LP-AM243 (E3) and MCU+SDK 08.05.00.24.

The example works fine for me as long as I execute it from RAM. As soon as I try to use it with XIP it doesn't work anymore.

  • In general: Is it possible to use the flash driver in conjunction with XIP? What are the limitations? What need to be considered doing so? 
  • To use the example with XIP I changed the .text section in the linker file and added a MPU region at start address 0x6000000 in syscfg. Am I missing something? 

Additional information: executing the flash driver example from RAM and just adding a MPU entry for XIP configuration will cause the example to get stuck or fail (the behaviour depends on the Access Permissions and Region Attributes MPU configuration in syscfg).

Thanks!

Best regards,

Jan

  • Hi Jan,

    Unfortunately, the XIP from flash is not currently supported on the AM243x. 

    Best regards,

    Ming

  • Hello Ming,

    thanks for your fast response! Could you please clarify the following:

    1. Executing the flash driver from flash itself (XIP) is not supported?
    2. Can the flash driver be executed from RAM while other code parts are executed from flash (XIP)?

    Thanks!

    Best regards,

    Jan

  • Hi Jan,

    The AM243x does not support XIP at all, not only flash driver but any program from flash. All programs including flash driver has to run from RAM.

    Best regards,

    Ming

  • Hi Ming,

    I see this differently looking at this AM243x MCU+ SDK  08.05.00: Enabling XIP or eXecute In Place

    Can you comment?

    Regards, Bernd

  • Hi Jan and Bo,

    I am sorry for the incorrect answer provided in the previous post. In fact, the AM243x does support XIP from OSPI flash via FSS+OSPI controller.

    Here is the XIP example in MCU+ SDK for AM243x 08.05.00.24: C:\ti\mcu_plus_sdk_am243x_08_05_00_24\examples\kernel\dpl\xip_benchmark.

    You can also refer to the user guide at: AM243x MCU+ SDK: XIP Benchmark (ti.com)

    I also noticed that the memory address for OSPI flash you used for "MPU region at start address 0x6000000 in syscfg" is incorrect. It should be 0x60000000.

    Best regards,

    Ming

  • Hi Ming,

    customer has already verified that the XIP on the AM24 is working in principle. In conjunction with the Flash driver, it has not worked yet, so the following questions remain:

    1. Is it possible to use the flash driver in conjunction with XIP? What are the limitations? What needs to be considered doing so?
      1. Executing the flash driver itself from flash
      2. Executing the flash driver from RAM while other code parts are executed from flash

    Regards, Bernd

  • Hi Bo,

    First of all, if the flash driver is in the flash, how can the flash be initialized first time? If the flash cannot be initialized , then how the code be XIPed from flash. The simple answer is the "Executing the flash driver itself from flash" is not possible.

    On the other hand, "Executing the flash driver from RAM while other code parts are executed from flash" is possible, but the performance may not be ideal.

    Best regards,

    Ming

  • Hi Ming,

    the answer is sufficient at this point for the time being. If more questions arise on this topic, I will come back more specifically.

    Regards, Bernd