S32K3 SAF init issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32K3 SAF init issue

843 Views
Higgs_Boson
Contributor I

Hi, 

 I try to init the eMcem using the function eMcem_init(), but it does not work:

  the DCMROD3,4,5 dump (0x00000018 0x00000004 0x00000000),which is CM7_RCCU2_ALARM, CM7_RCCU1_ALARM, CM7_0_ITCM_ECC_ERR.

 Please anyone know how to resolve this issue, Thanks.

Tags (1)
0 Kudos
1 Reply

810 Views
frantisekdobes
NXP Employee
NXP Employee

Hi Lin,

there is a known issue that debugger while connecting to the device can set the RCCUx faults, these faults then cannot be cleared and results in eMcem_Init() failure. This issue does not happen if running without debugger connected (so you can verify whether you are impacted by this issue by running without debugger connected).

If you use Lauterbach Trace32 debugger then this issue happens if using System.Up command to start debug (this generates external reset). Instead of this use the following commands to trigger “DEBUG_FUNC” reset (functional reset):

  SYStem.Option EnReset OFF
  SYStem.Option MDMAP.FunctionalReset ON
  System.up

In this way the RCCUx faults will not be generated so the eMcem_Init() will execute correctly without a failure. The other option is to use System.Attach (i.e. only to attach to a running target), in this case the RCCU faults are not set so the device can be debugged properly.

If you use a different debugger then you might check in that debugger documentation whether it supports attach functionality (to only attach to a running target) or whether it supports starting a debug session using the “DEBUG_FUNC” reset instead of external reset (which is usually used by default and might cause this faulty behavior with RCCU faults set).

 

Regarding the ECC fault in ITCM memory – this one might be caused by reading from ITCM memory which was not initialized yet. The ITCM shall be initialized as soon as possible in startup code to prevent any reads (even ARM core speculative reads) from un-initialized ITCM memory.

 

Best Regards,

Frantisek

0 Kudos