To narrow down the problem, I am trying to ensure that the swap field and swap indicators are correct. I am using the following code to read the IFR Swap Field:
| | | | returnCode = FlashReadResource(&ftflCfg, (PFLASH_BLOCK_BASE + PFLASH_IFR_OFFSET + 0), dataReadback, FlashCommandSequence); |
| | | | |
which returns 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
and
| | | | returnCode = FlashReadResource(&ftflCfg, (PFLASH_BLOCK_BASE + PFLASH_IFR_OFFSET + 8), dataReadback, FlashCommandSequence); |
| | | | |
which returns 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D
I think the 0x00 0x00 from the first response is the swap enable field, meaning it's enabled. I don't see any data in the swap indicator address though. Also, how could the address fit into just 2 bytes (according to section 30.4.12.14.1 - Swap state determination)?
The specific processor is MK60FN1M0VLQ12 rev 3N96B.