For IAP (In-app programming) to update firmware code to Flash Bank of a LPC43xx, do I need to write from SDRAM to SRAM to flash bank memory or can I just write from SDRAM->flash?
Another question I have is in UM10503.pdf section "6.4.5.8 RAM used by IAP command handler", it looks like there's a requirement to reserve some RAM block for IAP commands. What's the total size of memory application must reserve for IAP calls and is there some code example for this reservation for IAP? Appreciate your help.
已解决! 转到解答。
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x2000;
define symbol __ICFEDIT_size_heap__ = 0x2000;
/**** End of ICF editor section. ###ICF###*/
Hi Jeremy, for "set active boot bank" IAP command, the datasheet says we need to reserve 2208 Bytes in RAM. So I need to reserve 2208 B + additional bytes for other IAP commands like erase/prepare, etc?
Thanks
Hi HIEP HUYNH,
Thanks for your reply.
1) So I need to reserve 2208 B + additional bytes for other IAP commands like erase/prepare, etc?
Yes, and 2456 B is the maximum size.
Have a great day,
TIC
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Ok thanks. In order to do "Set Active Boot Bank" command, in .icf Linker file, do I specify like this below to reserve the top 2456 Bytes for IAP calls?
define symbol LOCAL_SRAM_start__ = 0x10080000;
define symbol LOCAL_SRAM_end__ = 0x10089667;
Have a great day,
TIC
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x2000;
define symbol __ICFEDIT_size_heap__ = 0x2000;
/**** End of ICF editor section. ###ICF###*/