Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Graphics and Gaming
    • High Performance Computing
    • Innovation
    • Multimedia
    • Open Source Software and Platforms
    • Physical
    • Processors
    • Security
    • System
    • Software Tools
    • TrustZone for Armv8-M
    • 中文社区
  • Blog
    • Artificial Intelligence
    • Automotive
    • Healthcare
    • HPC
    • Infrastructure
    • Innovation
    • Internet of Things
    • Machine Learning
    • Mobile
    • Smart Homes
    • Wearables
  • Forums
    • All developer forums
    • IP Product forums
    • Tool & Software forums
    • Pelion IoT Platform
  • Activity
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • More
  • Cancel
Processors
  • Developer Community
  • IP Products
  • Processors
  • Jump...
  • Cancel
Processors
Processors blog The un'NXP'ected LPC800
  • Blogs
  • Leaderboard
  • Forums
  • Videos & Files
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
More blogs in Processors
  • DesignStart blog

  • Machine Learning IP blog

  • Processors blog

  • TrustZone for Armv8-M blog

Tell us what you think
Tags
  • Cortex-M0
  • Microcontroller (MCU)
  • Cortex-M0+
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

The un'NXP'ected LPC800

Thomas Ensergueix
Thomas Ensergueix
September 11, 2013

The busy time of Electronica and ARM Technology Symposia is now behind us, and I finally get the opportunity to have a deeper look the latest release of NXP: their mini-tiny-LPC800. NXP being one of our lead-partners on the ARM Cortex-M0+, and also previously on the Cortex-M0, I was really excited to see what they came up with and how they took advantage of our latest Cortex-M processor.

First of all, I must admit I wasn't expecting them to set this family on the very lowend, even below their Cortex-M0 LPC1100 series. When we designed the Cortex-M0+ we aimed at offering at least as much the Cortex-M0 does, while adding capabilities to support low-power design even better and to address a wider scope of applications. I was anticipating an upgrade of the Cortex-M0 product line with even more features, memories and pins, with LP1100 and LPC1200 already on the market and the LPC1300 based on Cortex-M3. What could it become? Hmm... wait a moment... that brings to mind some similar brainstorming on a processor name... An LPC1200+?  Lucky me, I didn't bet as I would have lost!

Even if the name, the price point, the ease-of-use and the package smells very much like an 8-bit, NXP avoided any compromise on the processor. All Cortex-M's are very flexible, and partners can fine tune their implementation by including or discarding options at Verilog level, so they could have opted for the minimal implementation. With LPC800, it's the opposite and you get an almost full blown Cortex-M0+:

  • The fast single cycle 32x32 bit multiplier
  • The single-cycle interface, to which all GPIOs are connected
  • The full NVIC with 32 Interrupts and 4 levels of priorities
  • The SysTick timer,
  • The Vector Table Relocation
  • The Micro Trace Buffer for instruction tracing

So as you can see there is much more to the "ARM Cortex-M0+ 30MHz", shown on the chip diagram:

The relocation of the vector table is a nice pick as this series has a fine flash page granularity of 64bit, combined together it will make IAP much more funky, enabling the application to still be able to serve critical interrupts while flashing, as long as you copied their service routine in the RAM.  Talking about it, there is a generous RAM to Flash ratio of 1 to 4, offering 4kB RAM in the bigger configuration, so very nice for IAP and also great for instruction tracing, as it will be shared with Micro Trace Buffer when doing trace debug. When tracing, the MTB only needs to record two words per non sequential code access, after that the debugger can reconstruct all the program flow. This is very dense and will provide long depth when tracing.  


 Which Cortex-M0+ options were left down the road? The Memory Protection Unit, which for such lower end application makes sense to keep out. The small memory footprint limits the use-case of multi-application schemes running on this class of device, while the MPU is one of the biggest options in terms of gate count. NXP did not use the ARM WIC since it requires clocks to wake up the part. Instead, they implemented a clockless version.  They used this idea with their new peripherals to offer wake up from them without any internal clocks. As an example, as an I2C slave the LPC800 can wake up when its slave address is matched.  This means the part can be in power down mode consuming just leakage current and only wake up when there it sees its address.  In addition, wake up from power down can come from pins, timers, and brownouts, offering many different ways to save power.


In all cases it's a smart and fully loaded microcontroller that will get his way in many designs, and it even comes in a DIP 8-pin package! So as wrote my colleague Joseph one year ago for the LPC1100L launch: Hey Hobbyists, dust off your breadboards - DIP package is back!

What else did I like? The switch matrix, the byte orientated I2C the state configuration timer, and the pattern matching on IOs.
Anonymous
Processors blog
  • Processors blog: How to generate litmus tests automatically with the diy7 tool

    Jade Alglave
    Jade Alglave
    The second tutorial on using the Memory Model Tool, this blog offers a working example of how to generate litmus tests automatically with the diy7 tool.
    • June 11, 2020
  • Processors blog: Introducing the Arm Cortex-X Custom Program

    Stefan Rosinger
    Stefan Rosinger
    Read this introduction to the Arm Cortex-X Custom Program, outlining what the new program entails and providing details about the new Arm Cortex-X1 CPU which is part of the program.
    • May 26, 2020
  • Processors blog: Arm Cortex-A78 CPU: Sustained Performance for Greater Digital Immersion

    Vincent Risson
    Vincent Risson
    This blog explores the key features and benefits of the Arm Cortex-A78 CPU.
    • May 26, 2020