lpc4322 HIC

January 8, 2022 ยท View on GitHub

Based on LPC4322JET100E chip (Data Sheet):

  • Cortex-M4 204 Mhz (currently run at 120 MHz)
  • 512 KB Flash
  • 104 KB RAM
  • High-speed USB 2.0 device controller: 6 bi-directional endpoints including EP0 (*)
  • TFBGA100 packaging

(*) : "Supports six logical endpoints including one control endpoint for a total of 12 physical endpoints." (source: UM10503 :lock:)

Memory Map

RegionSizeStartEnd
Flash200 KB0x1A00_00000x1A03_2000
SRAM32 KB0x1000_00000x1000_8000

Bootloader size is 64 KB

SignalI/OSymbolPin
SWD / JTAG
SWCLK / TCKOP1_17H10
SWDIO / TMSI/OP1_6K4
SWO / TDOIP1_14J8
TDIOP0_18J10
nRESETOP2_5D10
GNDDetectIP2_13A10
UART
UART TXOP2_0G10
UART RXIP2_1G7
Button
NF-RST But.IP2_11A9
LEDs
LEDOP1_1K2

Installation using ROM USB DFU support

The LPC4322 has USB DFU support in ROM which can be leveraged with LPCScrypt to load DAPLink bootloader.

BoardLabelJumper
LPCXpresso55S69DFUJ4
LPCXpresso55S28DFUJ4
LPCXpresso55S16Link2JP6
LPCXpresso55S06DFUJP6
LPCXpresso54628DFU LinkJP5
LPCXpresso54618DFU LinkJP5
LPCXpresso54608DFU LinkJP5
LPCXpresso54114DFU LinkJP5
LPCXpresso54102DFU LinkJP5
LPCXpresso54S018DFU LinkJP5
LPCXpresso54018DFU LinkJP5
LPCXpresso43S67DFU LinkJP6
LPCXpresso43S37DFU LinkJP6
LPCXpresso18S37DFU LinkJP6
LPCXpresso4367DFU LinkJP6
LPCXpresso4337DFU LinkJP6
LPCXpresso1125DFU LinkJP5

Install jumper according to table above and power cycle to force into DFU boot mode. Adapt the following command to program lpc4322_bl_crc.bin.

$ ./scripts/boot_lpcscrypt
Looking for DFU devices with VID 1fc9 PID 000c ...
dfu-util -d 1fc9:000c -c 1 -i 0 -t 2048 -R  -D ./scripts/../bin/LPCScrypt_240.bin.hdr
Booted LPCScrypt target (1fc9:000c) with ./scripts/../bin/LPCScrypt_240.bin.hdr
$ ./bin/lpcscrypt querypart
partID = 0xa00bcb3c 80
decode = LPC4322: BankA 512KB
Core Clock = 180000000
$ ./bin/lpcscrypt program ${PATH_TO_BINARY}/lpc4322_bl_crc.bin BANKA
..
Programmed 57344 bytes to 0x1a000000 in 0.532s (105.297KB/sec)

Remove the jumper and power cycle. The MAINTENANCE drive should appear and you can copy the interface firmware into it. If there is no specific interface firmware support for the board you can use the generic lpc4322_if_crc.bin interface firmware which does not offer drag and drop flash functionality.