MCU Info Page: LPC546xx - mbed-ce/mbed-os GitHub Wiki

LPC546xx MCU Overview

FF_LPC546xx board

The LPC546xx is one of NXP's more direct successors to the classic line of LPC17xx microcontrollers released 8 years earlier. The LPC546xx keeps many of the best features of the LPC17xx, including the simple, no-nonsense datasheet, the wide 32-bit timers, and the capable ROM bootloader. However, it also modernizes the chip with much lower power usage (~5x better), a newer core (Cortex-M4) running at a higher core freq (~2x faster), lots more RAM, more flexible serial communications, and a wider variety of peripherals.

While I have not seen this family of chips on very many boards, I don't really understand why -- it seems like a worthy successor to the LPC17xx line, able to easily complete in functionality with popular MCU lines like STMicro STM32F4 and Freescale/NXP K64F. Perhaps adding support for more of its features in Mbed would give it more of a fair chance...

Feature Overview

CPU Flash/Code Memory RAM Communication Peripherals Other Features
Cortex-M4, up to 180/220MHz depending on model 512 kiB flash (on most MCU models), 16 kiB EEPROM 160 kiB main SRAM (on most MCU models), 32 kiB SRAMX bank (usable as extra heap), 8 kiB USB RAM
  • 10x Flexcomm modules, which can become SPI, I2C, or UART (note: only some pinned out on dev boards)
  • 1x QSPI
  • 2x CAN (not supported by Mbed)
  • 2x USB (not supported by Mbed)
  • 1x Ethernet
  • 1x ADC (AnalogIn), 12 multiplexed inputs
  • True RNG
  • 5x 32-bit hardware timers (CTIMER1 used by Mbed)

FF_LPC546xx Dev Board Considerations

This board replicates the form factor of the Mbed LPC1678 board, and may work as a drop-in replacement in some applications. I have tested Mbed on this board, and it seems to work well. However, there are some considerations to be aware of: Mbed OS currently does not support USB, CAN, or PWM for LPC546xx, so these functions on the board are not available, despite being mentioned in the pinout. All of these are possible to implement, just not implemented in the current target layer. PRs would be gratefully accepted to fix this!

Additionally, this board has an onboard DataFlash memory chip, but this memory chip is not correctly connected to the MCU SPI peripheral, so it cannot be used.

Upload Methods

Currently, the FF_LPC546xx board uses the Mbed USB disk upload method by default. This works for simple applications by default, but does not provide debugging. For those needing debugging support, the PYOCD and LINKSERVER upload methods are available. Both are functional, however PyOCD has issues with loading code or resetting the MCU during a debug session. For this reason, it's recommended to use LINKSERVER for the best debugging experience.

Datasheets

⚠️ **GitHub.com Fallback** ⚠️