AnsweredAssumed Answered

ADuCM360 - Recover from flash abort due to interrupt

Question asked by tkotwaltx on Jan 15, 2018
Latest reply on Jan 15, 2018 by tkotwaltx

I have an application where the ACuCM360 can receive a command over the UART at any time, and some commands will generate flash operations (page erase followed by a series of individual writes). There are occasionally cases where a new byte comes in on the UART during a flash operation, and I miss the byte. I think it's because I don't have UART interrupts enabled during flash operations (FEEAEN1 register).

 

I'm considering enabling flash abort due to UART interrupts using FEEAEN1, and then subsequently trying to detect an abort using FEESTA (bits 5:4). I'm wondering if anyone has experience with something like this, and if so, is this the right approach to this problem? I'm thinking that if I do detect a flash abort, then I would start the whole flash operation over from the beginning, starting with page erase.

 

One note is that the flash page that is erased and written to does not contain any program routines. Also, this is a legacy system with an established set of UART commands that I can't change; so for example, I can't add a separate "write to flash" command to try to isolate when flash operations occur.

 

Any thoughts on the subject are welcome. Thanks!

Outcomes