S32K314 TCM1 backdoor problem

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

S32K314 TCM1 backdoor problem

ソリューションへジャンプ
3,008件の閲覧回数
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 解決策
2,950件の閲覧回数
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

 

 

 

元の投稿で解決策を見る

3 返答(返信)
2,961件の閲覧回数
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).

1,142件の閲覧回数
changyiguo
NXP Employee
NXP Employee

Hi David, 

I see the same issue, when using C code to initialize ECC, "STRD" instruction was used, but with ASM "STM" instruction is used, can you explain why STRD not work but STM works? 

Thanks. 

0 件の賞賛
返信
2,951件の閲覧回数
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