Dear all,
I want to configure FlexNVM as EEPROM in MKE15Z256VLH7. First, I need to partition it. I use the FLEXNVM_ProgramPartition function(the API of SDK 2.6.0) to partition. If I call this function in the interrupt handler, everything works fine! But if I call this function in application code, Once excutes allFtfxRunCommand function of fsl_ftfx_controller.c file, MKE15Z256VLH7 will cause LOCKUP reset. it failed.Does anyone know why?
How long does the partition take?
Can there be an interruption during the execution of the partition?
What is the timing requirement for the execution partition?
解決済! 解決策の投稿を見る。
Hi,
You cannot execute interrupts while you are handling with Flash, if your interrupts code is running from Flash then it is likely that you have this unpredicted behavior. If you do not run the interrupts from RAM then you must disable them.
Best regards,
Felipe
-------------------------------------------------------------------------------
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.
-------------------------------------------------------------------------------
Hello,
Sorry for my late reply.
I highly recommend you to check our flexnvm_eeprom example of the SDK. There you can have a better idea on how and when to use FLEXNVM_ProgramPartition API.
You can download the latest version of the SDK from the following link.
Welcome | MCUXpresso SDK Builder
Have a great day,
Felipe
-------------------------------------------------------------------------------
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.
-------------------------------------------------------------------------------
yes, i really refer to the demo example before, This example only enables UART receive interrupt. When the partition is executed, there is no interruption. In fact, I can also succeed if I disable the global interrupt. But in my application, sometimes it is not allowed to disable global interrupts. Today I tested it again using the demo example. I have added a system tick timer and the timeout was 1 millisecond, Now MKE15Z256VLH7 will also generate a LOCKUP reset. So I guess, the reason should be related to the interruption too fast. But I don't know under what circumstances a LOCKUP reset will occur.
Hi,
You cannot execute interrupts while you are handling with Flash, if your interrupts code is running from Flash then it is likely that you have this unpredicted behavior. If you do not run the interrupts from RAM then you must disable them.
Best regards,
Felipe
-------------------------------------------------------------------------------
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.
-------------------------------------------------------------------------------
Ok,I see, I think maybe the main reason is vector table which is in flash, I donot remap it to RAM, if there is a interrupter, the code will jump to there, and than generate a LOCKUP reset.