已解决! 转到解答。
Hello,
1. On a multi-core device, are these operations performed by the enabled core to configure its own registers?
Yes, the core which is active must configure it. You need TCMs of disabled clock to be clocked before you use them. Therefore Master which has access to these registers must configure it first. (enabled core in this case)
2. If it is a single-core device (such as only core0), do I need to configure MC_ME's PRTN2_COFB1_CLKEN[REQ62] and MC_ME's
Yes, if the TCMs are not clocked you need to enable clock for them by other active master, for example DMA.
Best regards,
Peter
Hello,
1. According to the S32K312 Block Diagram in the manual, there is 1 32KB I-TCM and 2 32KB D-TCMs. However, according to the attached memory map, there is 1 32KB I-TCM and 1 64KB D-TCM. This seems to be inconsistent.
I excel there is just size summary of DTCM0 (assigned to core0). Physically there are 2 D-TCM modules.
2. Regarding the use of D-TCM and I-TCM, please confirm if my understanding is correct:
Is the following diagram depicting the rules for using multiple cores or multiple I-TCMs and D-TCMs?
If you use it as system RAM. i.e. you are accessing by different master than the core this TCM is related to, you will have to use backdoor access address range.
For S32K314, which only has 1 core, if I want to use ITCM1, can I only use the Backdoor method?
Yes
I understand that ITCM1 should also be a resource of this core. Is the difference between Direct and Backdoor methods only in the configuration of the ld file's MEMORY, based on the memory map addresses?
It differs based on the accessing master.
So, for S32K312, which also only has 1 core, what is the difference between using ITCM/DTCM with Direct or Backdoor methods?
Answered above.
3. Regarding this diagram, my understanding is that it shows the actions to be taken when using TCM use TCMs of the disabled core on multi-core devices .
Why is the enabled core configured in Wait mode? Does this mean that the operation of the enabled core will be abnormal?
Not sure about the context here, but if the core is in wait state then it is not executing any instruction and waiting for wake up. Usually used in idle loops.
For the previously mentioned S32K314 with only 1 core, is it still necessary to perform these steps when using ITCM1?
Additionally, according to the description in the manual, the chip does not support Wait mode...
Again, it depends on the accessing master.
Best regards,
Peter
Hi @petervlna
Thank you for your response to my post.
Hello,
1. Taking S32K314 as an example, it only has 1 core, 1 I-TCM, and 1 D-TCM. However, in the memory map, there are 2 I-TCM Background and 2 D-TCM Background. Can you please explain why?
The excel sheet is incorrect. there is not available second backdoor instance.
2. Taking S32K312 as an example, it only has 1 core. Is it sufficient to access I-TCM and D-TCM using the Direct method? Why is there a need for Background?
If you need access to TCM from other masters. Like DMA.
3. In the memory map, the numbers("0","1") assigned to ITCM0, ITCM1, DTCM0, DTCM1, etc., do they correspond to the cores of the chip or the masters?
to the cores.
Best regards,
Peter
Hi @petervlna
Thank you for your response to my post.
Hello,
It refer to wait mode which refer as core is disabled.
Usually when you have dummy idle loop you put core in no execution state by instructions halt or wait.
Typically in OS you have idle task. And you don't want to put there while(1) or for(;;) as the core will be executing in loop such instruction which will consume the power.
Instead you will use halt/wait which will stop core execution in iddle loop and lower power consumption.
The situation you posted is exactly for such cores in wait/halt state.
It has nothing to do with mode entry module and device power modes.
Best regards,
Peter
Hi @petervlna
Thank you for your response to my post.
Your response resolved my confusion.
Hello,
1. On a multi-core device, are these operations performed by the enabled core to configure its own registers?
Yes, the core which is active must configure it. You need TCMs of disabled clock to be clocked before you use them. Therefore Master which has access to these registers must configure it first. (enabled core in this case)
2. If it is a single-core device (such as only core0), do I need to configure MC_ME's PRTN2_COFB1_CLKEN[REQ62] and MC_ME's
Yes, if the TCMs are not clocked you need to enable clock for them by other active master, for example DMA.
Best regards,
Peter
Hi @petervlna
Thank you for your response to my post.
Hello,
Hard to say.
I am not familiar with the RTDs here.
Since configuration of RTD for TCM is way out of original questions and require someone with experience with drivers you are using, I suggest to create a new thread for SW team.
I never tried to configure RTDs for this case, nor tested it.
you can possibly have a look here:
https://community.nxp.com/t5/S32K/DTCM-ITCM-example/m-p/1606827#M21008
Best regards,
Peter
Hi @petervlna
Thank you for your response to my post.
Your response resolved my confusion.