Why the system will be restarted when Use CMAC or Flash Programing or Flash Erase?

cancel
Showing results for 
Search instead for 
Did you mean: 

Why the system will be restarted when Use CMAC or Flash Programing or Flash Erase?

411 Views
香龙朱
Contributor II

Hi, NXP!

I use CSEc module. When the code run at CSEC_DRV_VerifyMAC() my system will be restarted. I find the restart reason is lockup in the RCM_SRS register.

I think this operation will spend long time, Then I try the Flash Programing and Flash Erase. the system will be restarted also. 

I want to know why the system will be restarted when those operation?

Labels (1)
0 Kudos
2 Replies

251 Views
香龙朱
Contributor II

I find this issue maybe because of the interrupt. I close the global interrupt, the MCU will not be restarted.

anybody can explain the reason?

Thanks!

0 Kudos

251 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

there are two restrictions:

1.

pastedImage_1.png

That means you can't access partition (flash block) which is being erased or programmed. The code must be executed from RAM memory. This is implemented in SDK drivers. But bear in mind that if interrupt is triggered, the flash is accessed too (reading interrupt vector from flash, executing ISR handler from flash). If you need to handle interrupts during flash operations, it's necessary to move interrupt vector table and ISR handlers to RAM. Or you have to disable the interrupts.

2.

pastedImage_2.png

pastedImage_3.png

Regards,

Lukas

0 Kudos