Author Topic: uTasker FLASH Exception  (Read 1261 times)

Offline Estanislao

  • Newbie
  • *
  • Posts: 3
    • View Profile
uTasker FLASH Exception
« on: November 20, 2020, 09:25:40 PM »
Hi mark,

Im back, following the tutorial to setup the simulator. By the way, i have copied all files with FTP and loaded the simulator website. But, when i want to start simulator again, i get this exception:

    #if defined _WINDOWS
          if (*(unsigned long *)fnGetFlashAdd((unsigned char *)ptrWord) != 0xffffffff) { // {36}
                _EXCEPTION("Attempting to write to non-blank flash unit!!");
            *(unsigned long *)fnGetFlashAdd((unsigned char *)ptrWord) = *ptr_ulWord;

If i delete FLASH_KINETIS.ini, applications starts normally.. I think that i need to enable/disable some check to fix it but i dont know which one.. value of ptrWord is 0x00061000

I have read the document for user files but i cant to solve it yet.


Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3216
    • View Profile
    • uTasker
Re: uTasker FLASH Exception
« Reply #1 on: November 20, 2020, 09:54:02 PM »

That check is verifying that flash write operations are not trying to modify flash content that as not previously been erased (which is illegal and can cause damage on the real HW).

If you have loaded files with FTP (into internal Flash) some of its content has been written to. Then it sounds as though when you start the operation again there is some code (possible the parameter system) that is writing to the same (no longer empty) flash, which may be due to an overlap of the file system and the parameter system.
0x61000 is the 'physical' flash address that is being written to (which is not blank and so is illegal/an error).

What you can do is look at the "call stack" to see which routine is performing the write and identify where it is getting its write address from.

As noted I suspect that there is an overlap between the configuration of the areas used by the file system and the parameter system which you should be able to correct once the area addresses and sizes are identified.