Hello all
may I know what is the main difference between Flash.ICF and Ram.ICF file. when I erase memory it's allowing only Ram.icf file only. if we give Flash.ICF file is going hard falt handler .?can we use Ram.icf file for Bootloader Development?
Thank you
Ganesh Babu vaka
Hello @lukaszadrapa ,
Thank you for the quick response.
We are using S32k142 with IAR compiler.
when we are using Flash.icf file for erase memory it going to Hardfault handler.
Can you please suggest me how will resolve issue for erase memory using Flash.icf file
Thank you
Ganesh Babu Vaka
Hi,
In case of RAM version, all the resources (code, data…) are forced to RAM only. This project can be used for debugging only, it will not work without a debugger. Advantage: it’s faster than loading to flash and you save the flash against a lot of erase/program cycles. Disadvantage: it’s suitable for smaller projects only due to limited size of RAM. If you exceed the size of RAM, it’s necessary to move to flash version of the project.
Flash version is then the normal one which will work without a debugger because the project is loaded to flash, not to RAM only.
You didn’t mention which device you use exactly. Generally, it’s not possible to access a partition/block which is currently being erased or programmed. The code must be executed from another partition/block or from RAM. For example, it’s sufficient to launch erase or program command and then wait for done in RAM. It’s not necessary to move all the code to RAM. It’s good idea to disable interrupts during such operation. If you need to process interrupts during flash operations, it’s necessary to move all interrupt resources (vector table, interrupt handlers…) to RAM (or to another partition/block depending on your device).
Regards,
Lukas