AnsweredAssumed Answered

How to manage encrypted code larger than 98kB internal RAM ?

Question asked by Sylvio Barth on Dec 5, 2016
Latest reply on Jan 2, 2017 by Sylvio Barth


We already made project using LPC43xx controller and build our bootloader as this :

Bootloader located at 0x1A bank for 64kB

Application code located at 0x1A + 0x10000 and whole 0x1B flash


The bootloader is able to read a (non consecutive) bin file from an SD card and program it to the 2 flash and also to read the flash to do a backup onto the SDcard.


We are beginning a new project that requires to have encrypted firmware. So we want to start programming on an LPC43S57. I m studying your LPCScrypt documentation, LPC43XX user manual and I found this answer :


As I understood the firmware files have to be encoded using LPCScrypt tool and the AES key have to be programmed with it as well.
The begging of the code must be linked for bank 0x10.
Then -as a newbie in encrypted device - I think I missed something... or I didn't get something. Internal SRAM at bank 0x10 is only 96kB. So how to manage larger code ? We except there is a possibility to use the whole 2 banks of 512kB of Flash for code no ?
In example, if we have an external RAM how to set the firmware decrypting engin to copy decrypted code at the correct RAM address ?



Another question, what about our booloader code that is using IAP functions, will those IAP functions work the same once the AES key is programmed into the OTP memory ?