S32K314 TCM1 backdoor problem

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

S32K314 TCM1 backdoor problem

跳至解决方案
877 次查看
zhengjianfei1
Contributor III

Hi Nxp,

    I found S32K314 TCM1 cannot work.  As we Know,S32K314 has only core 0, so if we want to have access to TCM1,we can use TCM backdoor address.

    ITCM_1 Backdoor address is 0x11400000, length is 32KB.

    DTCM_1 Backdoor address is 0x21400000, length is 64KB.

    But I found DTCM1 can work well, ITCM1 can not. Only few addrees can have access right as picture bellow.

zhengjianfei1_0-1688455261825.png

    Before using TCM1, I have initialized TCM1 ECC , disable MPU and Cache. 

   Could some one help me how to use TCM1 correctly on S32K314?Thanks a lot!

 

 

 

标记 (3)
0 项奖励
1 解答
819 次查看
zhengjianfei1
Contributor III

Hi @davidtosenovjan ,

Thanks for your Suggestion. Now ITCM can work OK. I found we cannot use a uint64_t pointer to init ITCM ECC as picture bellow.

zhengjianfei1_0-1688726677934.png

The correct way to init ITCM ECC is picture bellow:

zhengjianfei1_1-1688726866068.png

 

 

 

在原帖中查看解决方案

2 回复数
830 次查看
davidtosenovjan
NXP TechSupport
NXP TechSupport

Hi, have you initialized ECC by 64-bit writes? it is necessary for ITCM, as it used different ECC checksum boundary.

ITCM is basically intended for instruction fetching, so it is possible there is some limitation for address alignment for writes (64-bit) or read (16/32-bit).

820 次查看
zhengjianfei1
Contributor III

Hi @davidtosenovjan ,

Thanks for your Suggestion. Now ITCM can work OK. I found we cannot use a uint64_t pointer to init ITCM ECC as picture bellow.

zhengjianfei1_0-1688726677934.png

The correct way to init ITCM ECC is picture bellow:

zhengjianfei1_1-1688726866068.png