LPC2468FBD208: 208 Pins And An SDRAM Controller

Two hundred and eight pins is the largest body in this family, and it exists because the peripheral set needs the room. The LPC2468FBD208 is a 72 MHz ARM7TDMI-S with 512 KB of on-chip flash, 98 KB of SRAM, 160 GPIO, a USB 2.0 full-speed device/host/OTG controller with on-chip PHY, a 10/100 Ethernet MAC with MII and RMII, two CAN channels, SD/MMC, an 8-channel 10-bit ADC, a 10-bit DAC and an external memory controller that also drives single-data-rate SDRAM. An extract protective LPC2468FBD208 heximal job has two very different memory systems in play.

Ninety-Eight Kilobytes, Four Pools

Pool Size Role
ARM local bus 64 KB CPU and IAP source data
Ethernet buffers 16 KB MAC descriptors, or general SRAM
USB / GPDMA 16 KB endpoints and DMA, or general SRAM
RTC battery domain 2 KB retained state

The two AHB subsystems let Ethernet DMA, USB DMA and instruction fetches from flash run without contention. For an extraction that means external bus activity is a poor proxy for the code being executed: the internal array sits on the ARM local bus, and the traffic visible on the pins is mostly peripheral DMA and GPIO. The 2 KB battery-backed block is the only on-chip store that survives a main supply loss.

The EMC Goes Further Than Static Memory

Unlike the LPC23xx parts, this controller supports asynchronous static memories and single-data-rate SDRAM, with A[23:0] and D[31:0] brought out on the 208-pin package. A board can therefore carry a large external program or data store in DRAM, plus a static boot device. That DRAM is volatile and cannot hold firmware across a power cycle, but it can hold a decompressed or relocated copy at runtime, which is worth knowing when a customer asks whether a captured image is complete.

Four banks of 16 MB sit at the start of the external memory space, configured through BCFG registers. Bank 0 can be a boot source under the control of the boot strap pins. Any external non-volatile device has its own protection features, or none at all, and is entirely outside the on-chip CRP policy. We identify and deliver those separately.

The Internal Array

Five hundred and twelve kilobytes yields 504 KB of user space, with an 8 KB boot block at 0x7E000 holding ISP, IAP and RealMonitor. Twenty-eight sectors cover the rest. Sector 0 contains the eight exception vectors, the checksum at 0x14 and the CRP word at 0x1FC. The boot ROM requires the vectors to sum to zero; otherwise it enters ISP instead of running user code.

The internal array is governed by the word at 0x1FC, which the boot ROM reads before deciding whether to run the application; the external devices know nothing about it. Within the internal array the three published values progress from a disabled debug port with sector erase intact, through a command set reduced to whole-chip erase, to an ignored P2.10 entry pin. That progression is conditional on the vector checksum, so the state of sector 0 is always the first thing to establish. Boot code revisions differ in how many tiers they recognise, and a protection edit needs a full power cycle before it applies.

Pin Availability Is A Feature Here

Sixty-four of the 160 GPIO are connected to the hardware vectored interrupt controller for edge-triggered inputs. The JTAG, ETM trace, USB, Ethernet MII and the full 32-bit EMC all compete for the same 208 pins. On a dense board, the debug header may be absent even though the package has room for it. Establishing which signals are actually routed is part of intake, and it prevents a plain layout decision from being misread as a protection state.

Delivery

Internal and external contents never get concatenated. The on-chip image stops at the 504 KB ceiling and is supplied as binary and HEX with a blank-sector map; each external device found gets its own file and a note on its own protection features. We log the observed protection word and ROM revision, recompute the checksum, and keep ECC bits with the capture rather than letting a weak cell settle into a plausible opcode.

Related Work

Our service scope describes intake and the device states we accept. The memory-type comparison helps separate on-chip flash from external DRAM and static devices, and this 32-bit ARM case is a useful contrast. For a 144-pin part with two CAN channels and a static-only EMC see the LPC2292FBD144; for the 8-bit MiniBus variant of the LPC23xx line see the LPC2378FBD144.