AnsweredAssumed Answered

enhanced boot mcuexpresso

Question asked by Ben Malchow on Sep 24, 2018
Latest reply on Oct 2, 2018 by Ben Malchow

Is there any MCU_Expresso compatible assembly to do the following for the LPCXpresso54608?

 

3.3.2.6 Modifications to startup code to enable enhanced boot support
Several modifications need to be made to the startup code to enable enhanced boot
support. The value at offset 0x24 in the image must contain an enhanced image marker
and the value at offset 0x28 must point to a valid image header in the image. See the box
below for an example setup using a Single Enhanced image. Changes are in bold and
made to the vector table are of the startup code.
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY
EXPORT __Vectors
__Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler
DCD HardFault_Handler
DCD MemManage_Handler
DCD BusFault_Handler
DCD UsageFault_Handler
__vector_table_0x1c
DCD 0 ; Checksum of the first 7 words
DCD 0
DCD 0xEDDC9494 ; Enhanced image marker, set to 0x0 for legacy boot
IMPORT imageHeader
UM10912 All information provided in this document is subject to legal disclaimers. © NXP Semiconductors N.V. 2017. All rights reserved.
User manual Rev. 2.1 — 9 November 2017 30 of 1174
NXP Semiconductors UM10912
Chapter 3: LPC546xx Boot process
DCD imageHeader ; Pointer to enhanced image header, use 0x0 for legacy
boot
The image header for the startup code must be located somewhere in non-volatile
memory. A simple image header that doesn’t perform CRC is shown below. All field sizes
are 32-bits.
/* Image header */
const IMAGEHEADER_T imageHeader = {
IMAGE_ENH_BLOCK_MARKER, /* Required marker for image header */
IMG_NO_CRC, /* No CRC, makes development easier */
0x00000000, /* crc32_len */
0x00000000, /* crc32_val */
0x00000000 /* version */
};

 

I cannot get the IDE/assembler to recognize any of the arm instructions.

 

Thanks!

Ben

Outcomes