Hi,
I have a project where I'm downloading data and updating the firmware over CAN. I'm using the flash API for the entire flash process. CRC is checked at the end of the download before KEY(0x5A5A5A5A) and REV is written. CRC test is passed, but then it fails at writing KEY and REV. I looked through the registers and noticed that the INVDAT bit is set.
Also:
- If the application is running from bank 0 it works without a problem, but when in bank 1 it fails.
- I have two different protocols implemented that can perform the LFU, both is based on CAN. They work differently in how they handle ID's and sequence numbers(It's like this to support two different download tools). Both of the protocols call the same function to write the KEY and REV. But it only fails when using one of the protocols, not both.
- The address where I try to write to is 0xFFFF.
Thanks for any tips.
Jonas