S32K314 TCM1 backdoor problem

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

S32K314 TCM1 backdoor problem

ソリューションへジャンプ
813件の閲覧回数
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 解決策
755件の閲覧回数
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 返答(返信)
766件の閲覧回数
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).

756件の閲覧回数
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