Is there a utility or method to dump the contents of both the active and the swap block of flash without corrupting it in any way? When I attempt to use the debugger it appears to erase/program the active block. I need to analyze a failed module. Thanks!
Hi
Could you consider to use commercial programmer software?
Such as Segger J-Flash tool and P&E PROG for ARM Cortex Device tool.
Wish it helps.
Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi
Which Kinetis product are you using?
Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Ma Hui,
I am using Kinetis Design Studio 3.0.0 with MK64FN1M0VMD12 MCU.
I got some information and was able to get the code to run from RAM and access the flash directly.
I still have an open question (which I recently posted) about how do I pre-program the upper flash bank (that starts at 0x80000) ideally using the lightning bolt flash programmer and JTAG in the Kinetis IDE. I use that method to program the ELF file and I assume it does so starting at address 0x0 in the flash. When I do a firmware upgrade, the application will erase and program the upper bank by making use of a flash swap. My question is how do I do the equivalent to that programming step prior to running the code using the IDE?
I tried adjusting the "symbol offset" and "executable offset" to 80000 but that didn't have the desired effect.
Thanks,
Jeff
Hi
The K64 MCU run the code from Flash address 0x0, when customer want to run code located at 0x80000.
The Flash swap feature is a good choice.
Customer can use application code to load the updated code to Flash address 0x80000, then run SWAP Flash commander to swap the Flash block 1 to Flash address 0. Then software reset the MCU to run the updated code.
Please refer AN4533 for more detailed info of Kinetis SWAP feature.
AN4533 related software could be downloaded at here.
Wish it helps.
Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi,
Yes, I am aware of the flash swap functionality that can be run from code and I make use of that.
My question was can I do the equivalent without running the application via the KDS IDE flash programming utility (lightning bolt icon).
I know for Xilinx SDK, I can program the Zync flash this way, but I need to specify a BIN instead of an ELF and specify a flash offset.
Thanks,
Jeff
p.s. not looking to swap the banks via the IDE. The goal would be to program the same application into BOTH banks.
One bank starting at 0x0 and the other at 0x80000, so that an ensuing flash swap would have the same code in both banks.
I want to do this to initialize both banks of the flash in production to being programmed.
Thanks,
Jeff