DRAFT
DRAFT DRAFT DR
DRAFT DRAFT DRAFT
D
RAF
DRAFT DRAFT DRA
FT D
RAFT DR
AFT D
DRA
FT DRAFT DRAFT
D
RAFT
DRAFT
D
RAFT
DRA
UM10601
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2012. All rights reserved.
Preliminary user manual
Rev. 1.0 — 7 November 2012
236 of 313
20.1 How to read this chapter
The Boot ROM is identical for all LPC800 parts.
20.2 Features
•
8 kB on-chip boot ROM
•
Contains the boot loader with In-System Programming (ISP) facility and the following
APIs:
–
In Application Programming (IAP) of flash memory
–
Power profiles for optimizing power consumption and system performance
–
USART drivers
–
I2C drivers
20.3 General description
20.3.1 Boot loader
The boot loader controls initial operation after reset and also provides the means to
accomplish programming of the flash memory via USART. This could be initial
programming of a blank device, erasure and re-programming of a previously programmed
device, or programming of the flash memory by the application program in a running
system.
The boot loader code is executed every time the part is powered on or reset. The boot
loader can execute the ISP command handler or the user application code. A LOW level
after reset at the PIO0_1 pin is considered as an external hardware request to start the
ISP command handler via USART.
For details on the boot process, see
Remark:
SRAM location 0x1000 0000 to 0x1000 0050 is not used by the bootloader and
the memory content in this area is retained during reset. SRAM memory is not retained
when the part powers down or enters Deep power-down mode.
Assuming that power supply pins are on their nominal levels when the rising edge on
RESET pin is generated, it may take up to <tbd>3 ms before PIO0_1 is sampled and the
decision whether to continue with user code or ISP handler is made. If PIO0_1 is sampled
low and the watchdog overflow flag is set, the external hardware request to start the ISP
command handler is ignored. If there is no request for the ISP command handler
execution (PIO0_1 is sampled HIGH after reset), a search is made for a valid user
program. If a valid user program is found then the execution control is transferred to it. If a
valid user program is not found, the auto-baud routine is invoked.
Remark:
The sampling of pin PIO0_1 can be disabled through programming flash
location 0x0000 02FC (see
Section 21.3.3 “Code Read Protection (CRP)”
).
UM10601
Chapter 20: LPC800 Boot ROM
Rev. 1.0 — 7 November 2012
Preliminary user manual