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.

AM2434: How to configure the mulit-core TCM memory and put some function and data into the TCM

Part Number: AM2434

In the AM2434, the R5 core totally have the 64*4KB TCM, which the each core has 64KB, including the 32KB TCMA, and 16KB TCMB0, and 16KB TCMB1.

By the example setting, for each R5 core addres map table like :

And I have configured the link.cmd for each core,as the link.cmd of the four cores setting as same like:

Question 1:

Based on the above setting, the project map file like the followed pic, the same address in the different core has the different function, I think it will occurr the conflict in the program running:

Question 2:

But In the main domin memory map table define as followed: why?  and how to defined in the fore cores link.cmd?

Question 3:

I try to define the TCM for the four cores,like the followed table, But failed, why?

  • Hello Nana tang,

    I was on training last week and yesterday was on leave.

    I am catching up all pending issues along with by them looking at your queries, and please give me two or three days to get back to you.

    Regards,

    Anil.

  • Hello Anil:

          OK  Thanks.

    BR/Nana Tang

  • Hello Nana Tang,

    Based on the above setting, the project map file like the followed pic, the same address in the different core has the different function, I think it will occurr the conflict in the program running:

    No, it will not create an issue.

    The TCM memory is different for each core.

    In the linker command file you have seen that 

    TCMA memory starts from 0x0 to 0x7FC0, which is equal to 32Kbytes. 

    TCMB is divided into 32KB and the total TCM memory is 64 Kbytes.

    The same thing can be done for all cores. So, in total, we have 4 cores and each one is 64 Kbytes.

    The total TCM memory is 256 Kbytes.

    The above memory is processor view memory and the R5F processor should use the local processor  memory space rather than the SOC space address.

    Which means that R5F uses only the 0x00 address for TCMA and will not use the 0x78000000 address space.

    Now , how this local view memory map will be assigned to specific core .

    When R5F accesses the TCM memory, we can use only the local address memory map view only and if other than R5F cores access the TCM, then we can use the SOC address memory map and, instead of using local address space, if you use the SOC address map accessing the TCM memory may see the latency issues .

    Example : 

    TCMA starts  from 0x00 to 0x7FC0 for all cores .

    If you look at the main memory address map.

    TCMA starts from 0x7800 0000.

    Now, R5F0_0 Local Address Memory - > 0x00 to 0x7FC0 which can be mapped to 0x7800 000 to 32Kbytes 

    R5F0_1 Local address memory - > 0x00 to 0x7FCo which can be mapped to 0x7820 0000 to 32Kbytes .

    The same approach for all cores and TCMB as well.

    I hope now it will clear all your queries .

    Please let me know still if you have any doubts .

    Regards,

    Anil.

  • Hello Anil:

          Thank you very much for your reply.

           I have cleared with those queries.

      BR/ Nana Tang

  • Hello Nana Tang,

    I am closing this thread and open new threads for new queries .

    Regards,

    Anil.