Main Content

Investigating ARM Cortex® M33 core with TrustZone® – In-System Programming Tutorial

This week I’m back to the normal ‘Tutorial’ format with a look at the In-System Programming feature in the boot ROM of the LPC55S69. I’ll use the NXP-provided command-line program blhost and interface with the ROM to erase the flash and download simple LED blinky programs.

I used MCUXpresso IDE to build the two blinkies. Both programs are based on the SDK example project lpcxpresso55s69_led_blinky and flash the blue LED on the board. The default program flashes the LED at 1 second, whilst the modified program flashes at 200ms. Changing the frequency is simply a matter of changing the parameter passed into the SysTick_Delay_Ticks() function.

Whenever I am working on a bootloader (and it does not matter if it is flash-, RAM- or ROM-based) I always create a small program that makes a visible action on the target board. It is then very simple to see that the flash was erased and the new image was correctly programmed. Often the interface to the bootloader is command-line based, and so I know that I will have to type the file name of the example into the command. So I make the filename as short as possible – in this Tutorial I use fast.bin and slow.bin.”

Link to article