The K64 - Non-FlexNVM device has 4K of Programming Acceleration Ram that is intended to be used when programming a Sector of Flash Memory.
Outside of Flash Programming - can that 4K of ram be used? As data storage ram?
The "Programming Acceleration RAM" is used only by the "PROGRAM SECTION" command (FCMD_PROGRAM_SECTOR 0x0b).
If this programming method is not used (it is not a particularly interesting method - it may be a little faster but can only be used when programming a buffer starting on a 4k boundary) the RAM can be used for any other purpose.It can also be used temporarily since it is the Flash programming code that needs it (and so changes it) and otherwise its content is stable - it is in fact initialised to all 0xff after a reset.
Kinetis for professionals: http://http://www.utasker.com/kinetis.html
Thanks Mark -- I thought it was available for non-flash usage.
I can see the program acceleration RAM in the IDE's memory view, but past 0x14000800 I'm seeing a repeating pattern with 00 00 mixed in with the FFs. Is this an indication that the memory is being used? Or to put it another way, are you sure about it getting filled with FF? I'm only using flash self-programming just prior to firmware updates (commands are passed to the bootloader in a temporary flash area in case it needs to resume an interrupted update) and I can safely lose the contents of the acceleration RAM when that happens - I just want to make sure it's not getting clobbered by something else if I use it for general-purpose RAM. Because I could always use an extra 4 kB...
The all FF is something that I have observed but it may be that it is a copy of a part of Flash (0xff when erased) whereby your Flash has data in it.
I haven't seen any information about what it is expected to be so it would be prudent to assume that it is unknown after a reset, for example, to avoid any risks.
Unknown after reset is fine, and it's what I would have assumed until I saw your message. =] Just wanted to make sure you didn't have some inside knowledge that it was always supposed to be wiped at reset. Thanks!
Retrieving data ...