Linker file(Ram.icf)

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Linker file(Ram.icf)

2,896 次查看
ganeshvaka2
Contributor II

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

标记 (1)
0 项奖励
回复
3 回复数

2,880 次查看
ganeshvaka2
Contributor II

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 

ganeshvaka2_2-1631173858045.png

ganeshvaka2_3-1631174137605.png

 

Thank you 
Ganesh Babu Vaka

 
0 项奖励
回复

2,860 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport
0 项奖励
回复

2,892 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport

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

0 项奖励
回复