We are working on a firmware for the LPC11U68 (custom PCB design), and we try to integrate a secondary bootloader (SBL) because the primary bootloader (DFU via ISP-mode on USB MSC) is not suitable for our application.
I carefully read and follow the instruction of the application note AN12037 (LPC11U6x USB DFU Secondary Bootloader, Rev. 1 – September 2017). However, I did not find a way to create a simple factory image with a custom SBL, i.e. a binary that integrates both the custom SBL and the user application.
The “lpc11xx_secimgcr.exe” provided in the “image-creator-tools” seems to only give the option to create encrypted factory image through the “--factory-image-create” option. Is there another option to create non-encrypted factory image using this tool, or to combine the SBL binary with the application using another tool?
Here are the details of the steps I followed to create the custom SBL and the SBL-compatible firmware. Note that I develop with MCUXpresso v10.
- Custom SBL: Based on the project “sbl_dfu_lpc11u60” given in the application note’s sources, I customized the SBL to our needs. When programmed on the LPC11U68, (via SWD or primary bootloader), the SBL works as expected (LpcDevice in device manager and found by “dfu-util.exe” with option “-l”).
- SBL-compatible firmware: I modified our firmware to integrate the required header and memory map as described in the application note:
- Automatic linker script disabled,
- Definition of memory region to take into account the SBL space,
- Definition of the image header with the firmware version,
- Generation of the CRC using “lpc11xx_secimgcr.exe”
- SBL DFU tests: When the SBL is programmed, the DFU works as expected.
Thanks for your support.