lpcware

Run IRQ code in RAM..

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by alanisgp on Wed Mar 14 10:53:12 MST 2012
Hi, I have a query. I am making a bootloader which asynchronously receive data from the file ".bin" through a GPRS modem UART, for obvious reasons Cortex SRAM capacity, need to invoke the IAP to copy the binary image to flash.
When this happens interrupts are disabled and you lose the data to be entered.
The first solution is to use a USART interface, letting the CTS handle the data transfer, while IAP makes a dump of a block of data in flash. The problem with this is the size of internal buffer of USART GPRS modem.
Another solution, with which I am dealing with, is whether access to the flash is not possible when the IAP is copying the data.
How do I map the UART ISR to run in SRAM?.
Leaving this enabled only interruption may continue to attend the arrival of the modem and saving data in SRAM.
GCC compiler rejects the modifier __ attribute__ ((section (". data"))) preceding the code of the ISR.
How do I relocate code in SRAM?
How do I tell the linker the memory location that placed in IVT?

A

Outcomes