Tutorial: Transforming the NXP LPC845-BRK Into a CMSIS-DAP Debug Probe
You can a do a lot with just six bucks!
Join the DZone community and get the full member experience.
Join For FreeThe NXP LPC845-BRK board is a tiny an inexpensive (sub $6) breakout board. The board includes a CMSIS-DAP (LPC11U35) on-board debug probe, which can be used as a debug probe to debug any NXP LPC, Kinetis, or i.MX RT device
LPC845-BRK used to debug a Sumo Battle Robot
The LPC845-BRK board features the JP1 cut-trace jumper. The intent of that jumper is to measure the current of the target CPU. But actually, this jumper can be used to turn the board into an (undocumented?) general purpose CMSIS-DAP debug probe. I have tested it with the MCUXpresso IDE and have been able to debug Kinetis, LPC, and i.MX RT boards that way. So, with $6, I not only have a cool and tiny development board; with the addition of an SWD header, an SWD cable, and a jumper, I have cool and tiny debug probe.
Here are the steps to turn the LPC845-BRK into a general purpose debug probe:
1. Solder an SWD header to the board, see Tutorial: Using external Debug Probes with NXP LPC845-BRK Board
Added SWD Header
2. Locate the JP1 on the board. There is a tiny PCB trace between the pads. Use a knife to cut that trace.
JP1 trace to cut
I recommend soldering a jumper on JP1. That way, I can use the board both as development board (JP1 installed) and as a CMSIS-DAP Debug probe (JP1 removed).
Installed Jumper JP1 on NXP LPC845-BRK
3. Use a standard 10pin SWD cable to connect to the target
SWD Cable Connected
4. The MCUXpresso IDE automatically detects the LPC11U3x CMSIS-DAP debug probe:
LPC11U3x in MCUXpresso IDE
With this, I can debug any ARM Cortex supported by the MCUXpresso IDE or any other CMSIS-DAP debugger:
Debugging i.MX RT1064 with LPC845-BRK Board
i.MXRT1064 board with LPC845-BRK as debug probe
Summary
With very small changes, I can turn a normal $6 NXP LPC845-BRK board into a CMSIS-DAP debug probe to debug external Kinetis, LPC, or i.MX boards. I’m able to do this with the NXP MCUXpresso IDE, but that should work with other IDE’s too. All that I need is a knife, a jumper, and 2pin header with an SWD cable and connector.
Does this make my P&E, Segger, or LPC-Link2 debug probes obsolete? Definitely not, because other probes offer different features or are faster. For example, I measured a 3-5x faster Flash programming with the LPC-Link2 ($20) compared to the LPC11U35 ($6) based debug probe. Still, for that $6, it is a very decent debugging experience. For me, every dollar spent on debug probes is always a good investment, and having more probes at hand is definitely a plus, especially if they are inexpensive like this one.
Here is a list of articles about the LPC845-BRK board:
- Unboxing the NXP LPC845-BRK Board
- Tutorial: Using external Debug Probes with NXP LPC845-BRK Board
- Tutorial: Transforming the NXP LPC845-BRK into a CMSIS-DAP Debug Probe
- Tutorial: Blinky with the NXP LPC845-BRK Board
Here are some other useful links:
- LPC845-BRK Board webpage
- User Guide for the LPC845-BRK Board
- NXP LPC845 webpage
- MCUXpresso SDK
- MCUXpresso IDE: New NXP MCUXpresso IDE V10.3.0 Release
- List of community projects
Happy Transforming!
Published at DZone with permission of Erich Styger, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments