I've written my own flash programming functions to be used in a bootloader.

I have a small function that actually performs the write operation that is copied into ram so that both flash blocks can be written to.

Documentation reviewed and code complies with: AN4695 "Avoiding Read While Write Errors When Developing In-Software Flash Programming Applications for Kinetis and ColdFire+ MCUs" and the "K64 Sub-Family Reference Manual"

I have fully tested writing to flash block 1 and everything works as expected.

When I attempt to write to any properly aligned block in flash block 0, there are no error noted by the K64 (FTFE_FSTAT) BUT the flash at the specified location is NOT changed.

Again -- all works well in block 1 but does not write to block 0 and no errors are reported.

I have checked the flash protection registers and there is no flash write protection in place.

I'm out of ideas so I'm hoping someone on the forum and provide some insight.




1 Answer 1


Code is correct.

Turns out my debugger has an issue displaying flash data that changes in the lower block.

Tools are suppose to help -- not cause grief!!



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.