Upload
others
View
17
Download
0
Embed Size (px)
Citation preview
Kickstarting your NXP embedded development with LPCXpresso
Andy Beeson Code Red Technologies Design West 2013
PUBLIC April 28, 2013
2
Agenda
Overview of LPCXpresso
Instruction Trace – Including demonstration on LPCXpresso812 board
LPC800-MAX – Including preview demonstration of CMSIS-DAP debug connection
LPC43xx Multicore support – Including demonstration of creating multicore projects and preview of
debugging them in parallel
PUBLIC
What is LPCXpresso?
A prototyping AND development platform for NXP MCU’s developed jointly by:
NXP – The MCU
Embedded Artists – LPCXpresso development boards with built-in probe (LPC-Link) – Optional LPCXpresso add-on boards
• Additional add-on boards available from third parties
Code Red Technologies – Free of charge LPCXpresso IDE
• Built on Eclipse and GCC, but with many extensions to extend functionality and improve usability!
• Based on “Red Suite” – but C only with 128KB download limit • Windows / Linux / Mac OS X
April 28, 2013
3
PUBLIC
LPCXpresso boards
April 28, 2013 4
LPC-Link debug probe Can be disconnected from MCU target board to use with your own hardware
MCU target board MCU pins available on expansion connector (2x27 pin rows, 100 mil pitch, 900 mil between rows). Single user accessible LED
PUBLIC
New LPC-Link2
The latest addition to the LPCXpresso Eco-System. – LPC-Link 2 is a stand-alone debug link. – Standard 10 pin JTAG/SWD connector, 20 pin JTAG/SWD/ETM
connector, as well as analog, digital and serial expansion headers. – Supported in LPCXpresso-IDE via Code Red’s “Redlink” firmware. – Also supports different firmware images for broad tool compatibility. – MSRP USD 20 / EUR 15 – http://www.nxp.com/demoboard/OM13054.html
April 28, 2013 5
PUBLIC
INSTRUCTION TRACE
April 28, 2013 6
PUBLIC
Instruction Trace
Provides the ability to record a trace of executed instructions on certain Cortex-M0+, M3 and M4 based MCUs
Cortex M3/M4 parts – Target MCU must implement both an Embedded Trace Macrocell (ETM)
AND an Embedded Trace Buffer (ETB). ✔ LPC18xx and LPC43xx parts ✘ LPC17xx parts (do not implement an ETB) ✘ LPC13xx parts (do not implement ETM or ETB)
Cortex M0+ parts – Target MCU must implement a Micro Trace Buffer (MTB)
✔ LPC8xx parts
April 28, 2013 7
PUBLIC
CM0+ Micro Trace Buffer
April 28, 2013 8
Processor
SRAM
MTB controller
RAM interface
AHB interface
Program execution info
Application Data +
Trace Data
Microcontroller
Deb
ug
conn
ecto
r
PUBLIC
LPCXpresso812 Instruction Trace Demonstration
April 28, 2013 9
PUBLIC
LPC800-MAX
April 28, 2013 10
PUBLIC
New board - LPC800-MAX
LPC812 MCU, combines features from the mbed, as well as Arduino and LPCXpresso environments.
LPCXpresso – The LPCXpresso IDE will support programming and debugging the board
using the on-board CMSIS-DAP interface, no LPC-Link is needed. – The LPCXpresso connector on the board is compatible with existing
baseboards.
mbed enabled – LPC800 supported by the mbed 2.0 SDK – Includes mbed Onboard Interface, providing
• USB Drag and Drop programming • Debug via CMSIS-DAP, supported in LPCXpresso via Redlink interface • USB Virtual serial port for terminal application
– Leverage skill and experience of mbed Developer Community
April 28, 2013 11
PUBLIC
New board - LPC800-MAX
Arduino – Arduino is a popular
hobbyist platform, with a standardised set of expansion connectors.
– The Arduino connectors on the LPC800-MAX are compatible with the ”Arduino UNO” platform.
– Several compatible expansion cards (shields) can be obtained from vendors such as sparkfun, adafruit etc.
April 28, 2013
12
PUBLIC
LPC800-MAX Debug Connection Demonstration
April 28, 2013 13
PUBLIC
LPC43XX MULTICORE SUPPORT
April 28, 2013 14
PUBLIC
LPC43xx family – multicore MCUs
April 28, 2013 15
High performance, multiple cpus
– up to 204MHz
Internal flash versions offer up to 1MB of dual bank flash
Flashless versions can be used with off chip flash via EMC or SPIFI
Multiple onchip SRAM blocks
– up to 264KB
PUBLIC
Multicore Project Setup and Debug
April 28, 2013 16
M4 Master Project
M0 Bin
Init code • Copy M0 binary to RAM
if necessary : Release M0 from Reset :
Held in reset M0 running : :
Debugger downloads whole image via M4
Debugger attaches to M0 (no download)
LPCXpresso v5.2 provides ‘automatic linkage’ between slave and master projects
M0 Slave Project
PUBLIC
Demo Memory Usage (LPC4357)
April 28, 2013 17
M4 Master image (flash bank A)
M0 Slave image (flash bank B)
M4 Master RAM (block 1) – variables and stack
M0 Slave RAM (block 2) – variables and stack
PUBLIC
Multicore Debug Support
To support debugging of multicore MCU’s, have to use JTAG rather than SWD (which is normally used for debugging Cortex MCUs).
Current LPCXpresso release (v5.2.2) – Debug connection can be made to either M4 or M0 (but not both at the
same time) – Supported via LPC-Link or Code Red’s Red Probe+
Coming soon – Debug connections will be possible to both M4 and M0 at the same time
via single instance of IDE – Will be supported via LPC-Link2 (Redlink) – Beta setup used in demo
April 28, 2013 18
PUBLIC
LPC43xx Multicore Demonstration
April 28, 2013 19
Kickstarting your NXP embedded development with LPCXpresso
Andy Beeson Code Red Technologies Design West 2013