Hello All,
I am currently trying to place my bootloader code written for S32K144 in the FlexNvM area and use FlexNvM as P-flash.
Linker file snapshot below:
When I try to flash my code using "GDB PEMicro interface debugging" I get errors when I start Debugging session
Question 1: Is it a correct approach to make complete 64KB of FlexNvM as D-flash to run code from it?
Question 2: What should be the partition value that needs to be filled in advance debug option?
Note: I also tried "Emergency Kinetics Device recovery by full chip erase" but it didn't help.
Edit1:
Screenshot below shows the advance options set (0x0F0C: Set complete flexNvM as Dflash)
After I did this change, I am now getting the following error:
The main function of my bootloader is placed at 0x10000730 location.
The interrupt table is is Pflash at 0x000000, so the controller is trying to jump from pflash to flexNvM.
Am I doing something wrong or am I missing something?
Please help!
Hello Daniel,
Thanks for the support.
Now when I tried value 0x0F0C with PEmicro Debugger I get the following error:
I even tried Emergency Kinetics recovery but still I get the same error.
Now I am not able to flash any code on the Pflash.
One weird thing that I noticed in that there is no data at address 0x00 also this address is shown as false for reading and writing.
Whereas my output file starts from 0x00 address, can this be an issue that is causing the flashing process to fail?
Best Regards,
Kamran Pathan
Hi Kamran,
It seems like you configured the programmer to preserve the DFlash while you were loading the bootloader into the DFlash block.
This is the screenshot you sent.
This option can be used later once the bootloader is already in DFlash and you want to preserve it.
Please try it without that.
Thank you,
Daniel
Hello Kamran,
Please take a look at AN12218 S32K1xx Bootloader – Application note, it has the bootloader code in DFlash.
https://www.nxp.com/docs/en/application-note/AN12218.pdf
https://www.nxp.com/docs/en/application-note-software/AN12218SW.zip
A1.
If the whole FlexNVM or just a part of it is used as DFlash, you can execute code from it.
A2.
I just tried the 0x0F0C value at it correctly partitioned the FlexNVM for 64MB of DFlash.
Regards,
Daniel