30.01.2015 Views

UM10211 - Standard ICs

UM10211 - Standard ICs

UM10211 - Standard ICs

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

NXP Semiconductors<br />

<strong>UM10211</strong><br />

Chapter 27: LPC2300 Flash memory<br />

4.1 Memory map after any reset<br />

The flash portion of the boot block is 8 kB in size and resides in the top portion (starting<br />

from 0x0007 E000) of the on-chip flash memory. After any reset the entire boot block is<br />

also mapped to the top of the on-chip memory space i.e. the boot block is also visible in<br />

the memory region starting from the address 0x7FFF E000. The flash boot loader is<br />

designed to run from this memory area, but both the ISP and IAP software use parts of the<br />

on-chip RAM. The RAM usage is described later in this chapter. The interrupt vectors<br />

residing in the boot block of the on-chip flash memory also become active after reset, i.e.,<br />

the bottom 64 bytes of the boot block are also visible in the memory region starting from<br />

the address 0x0000 0000. The reset vector contains a jump instruction to the entry point<br />

of the flash boot loader software.<br />

2.0 GB<br />

2.0 GB - 8 kB<br />

8 kB BOOT BLOCK<br />

(RE-MAPPED FROM TOP OF FLASH MEMORY)<br />

(BOOT BLOCK INTERRUPT VECTORS)<br />

0x7FFF FFFF<br />

0x7FFF E000<br />

8 kB BOOT BLOCK RE-MAPPED TO<br />

HIGHER ADDRESS RANGE<br />

0x0007 FFFF<br />

0x0007 E000<br />

ON-CHIP FLASH MEMORY<br />

0.0 GB<br />

ACTIVE INTERRUPT VECTORS<br />

FROM THE BOOT BLOCK<br />

0x0000 0000<br />

Fig 105.Map of lower memory after reset<br />

4.1.1 Criterion for Valid User Code<br />

Criterion for valid user code: The reserved ARM interrupt vector location (0x0000 0014)<br />

should contain the 2’s complement of the check-sum of the remaining interrupt vectors.<br />

This causes the checksum of all of the vectors together to be 0. The boot loader code<br />

disables the overlaying of the interrupt vectors from the boot block, then checksums the<br />

interrupt vectors in sector 0 of the flash. If the signatures match then the execution control<br />

is transferred to the user code by loading the program counter with 0x0000 0000. Hence<br />

the user flash reset vector should contain a jump instruction to the entry point of the user<br />

application code.<br />

If the signature is not valid, the auto-baud routine synchronizes with the host via serial port<br />

0. The host should send a ’’ (0x3F) as a synchronization character and wait for a<br />

response. The host side serial port settings should be 8 data bits, 1 stop bit and no parity.<br />

The auto-baud routine measures the bit time of the received synchronization character in<br />

terms of its own frequency and programs the baud rate generator of the serial port. It also<br />

<strong>UM10211</strong>_1<br />

© NXP B.V. 2007. All rights reserved.<br />

User manual Rev. 01 — 27 March 2007 514 of 613

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!