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.

TMDS243EVM: AM243x - Change DMA resource allocation during run-time

Part Number: TMDS243EVM

Hello,
I've learned that there is the must to allocate the DMA resources in early stage.
(I wanted to use 2SPIs and 7UARTs with packet DMA and it was not possible with default SBL provided):

So, I've changed the resource allocation according to https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/RESOURCE_ALLOCATION_GUIDE.html

I've changed the packet DMA free RX and TX channel count for  MAIN_0_R5_0 and shared these with MAIN_0_R5_1 (non-secure). Afterwards, I've got an error that the ring configuration is not working (these seems not to be shared).
Then I've changed the configuration again - removed the sharing and edited the RX and TX channel count for MAIN_0_R5_1. This is working now.

But by doing this, the question rises how we can change the resource allocation later in field, if a new firmware/application update does need a different DMA resource allocation?

Is it possible to change the allocation during run-time by the application?
If this is not possible and we need to update the SBL too, how can we update the SBL in a safe way even if the power fails during update?

best regards
Bastian

  • Hi Bastian,

    You will require to update the SBL to update the resource allocation table. Resource application is boot time configuration and shouldn't be changed at runtime.

    To update the SBL reliably you can use the standard firmware update mechanism using A/B partitioning and redundant image. refer "OSPI Initialization Process" in TRM

    Regards,

    Ankur