UM11029
All information provided in this document is subject to legal disclaimers.
© NXP Semiconductors N.V. 2017. All rights reserved.
User manual
Rev. 1.0 — 16 June 2017
12 of 515
NXP Semiconductors
UM11029
Chapter 3: LPC84x Boot Process
3.5 General description
3.5.1 Bootloader
The bootloader executes every time the device is powered on or reset. Based on the chip
configuration information, the bootloader controls initial operation after reset, including
setting internal voltage regulator, system clock, flash controller, miscellaneous factory
trimming value, and then allows programming and reprogramming of internal flash via a
set of commands on USART, I2C slave, or SPI slave bus. The LPC84x device must be
connected to a host system that provides the UART, I
2
C or SPI master connections.
During the boot process, a LOW level after reset on the ISP pin is considered as an
external hardware request to start the ISP command handler via USART, I
2
C, or SPI
interface. Otherwise, the bootloader checks if there is valid user code in flash. If the valid
user code is not found, the bootloader checks the FAIM configuration and enters one of
the ISP modes. Auto detect is selected if FAIM is invalid.
Remark:
The sampling of pin the ISP entry pin can be disabled through programming
flash location 0x0000 02FC (see
Section 4.3.6 “Code Read Protection (CRP)”
See
Chapter 5 “LPC84x ISP and IAP”
for more details.
3.5.2 ROM-based APIs
Once the part has booted, the user can access several APIs located in the boot ROM. The
ROM API supports:
•
Boot loader.
•
Flash In-Application Programming (IAP).
•
In-System Programming (ISP) through USART, SPI, and I
2
C.
•
On-chip ROM APIs for integer divide.
•
FAIM API.
•
FRO API.
The structure of the boot ROM APIs is shown in