S32K324 Can't debug in FLASH mode

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

S32K324 Can't debug in FLASH mode

跳至解决方案
995 次查看
Simone9
Contributor III

Hello,

I have created a project for the S32K324 microcontroller and started development.
Debugging in RAM gives me no problems and I can work normally.
However, when I try to debug in FLASH I get a hard fault.
In particular, the console log shows the following message:

"MemManage: The processor attempted an instruction fetch from a location that does not permit execution.
HardFault: A fault has been escalated to a hard fault."

Instead, in the call graph, the calls are as follows:

Simone9_0-1702390655853.png

 

So it seems to get stuck at cache initialisation.
Among the design variables is the define D_CACHE_ENABLE so it should enable it.

How can I solve this problem?

 

IDE version 3.5 update 6
RTD v3.0.0

 

Thanks for the support

0 项奖励
回复
1 解答
883 次查看
Simone9
Contributor III

Hi,

I solved the problem by recreating the project from scratch.
Probably, something went wrong with the creation of the project than adding the missing definition that I can debug in flash in both cores.

Thanks for the support.

在原帖中查看解决方案

0 项奖励
回复
6 回复数
981 次查看
Robin_Shen
NXP TechSupport
NXP TechSupport

Hi

HardFault may caused by: Missing define S32K324/S32K314 in SystemInit() so MPU region for ROM hasn’t enabled:
For RTD 3.0.0 Missing define S32K314 in SystemInit() so MPU region for ROM hasn’t enabled.png

This issue has been fixed in S32K3 RTD 4.0.0.
Sorry for the inconvenience we bring you!


Best Regards,
Robin
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 项奖励
回复
967 次查看
Simone9
Contributor III

Thank you for your reply.
I added in SystemInit() the define of the S32K324 in the section you indicated directly by hand.
This way I am able to debug in FLASH and it works.

But it only works for Core0 in both single mode and "Launch Group" mode.
On the other hand, for Core1 with the same change in debug mode in "Launch Group" mode, the situation in the pictures below happens.

Simone9_0-1702486192325.png


In the consol log what I can see is:

Simone9_1-1702486226514.png

 

So, i'm able to debug only the Core0 but not the Core1. How can I resolve this issue?

Thanks for the support.

0 项奖励
回复
960 次查看
Robin_Shen
NXP TechSupport
NXP TechSupport

Have you also modified SystemInit in S32K324_M7_1/Project_Settings/Startup_Code/system.c? Have you tested S32K3 RTD 4.0.0 to see if this problem also exists?

0 项奖励
回复
958 次查看
Simone9
Contributor III

Hi,

Yes, I have also modified Core 1 SystemInit function in the same way.
No, I have not tested the RTD 4.0.0 because the project on which I'm working require the version 3.0.0 of RTD.

Thanks

0 项奖励
回复
891 次查看
Robin_Shen
NXP TechSupport
NXP TechSupport

I don't have S32K324 chip on hand, only S32K344EVB.
Is it convenient for you to install another S32DS v3.5+S32K3 RTD 4.0.0 for testing?  If S32K3 RTD 4.0.0 works, then we can compare the differences and fix it.

0 项奖励
回复
884 次查看
Simone9
Contributor III

Hi,

I solved the problem by recreating the project from scratch.
Probably, something went wrong with the creation of the project than adding the missing definition that I can debug in flash in both cores.

Thanks for the support.

0 项奖励
回复