DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Maintenance
  4. Tutorial: Using External Debug Probes With NXP LPC845-BRK Board

Tutorial: Using External Debug Probes With NXP LPC845-BRK Board

Learn more about using the external debug probes on your NXP board.

Erich Styger user avatar by
Erich Styger
·
Feb. 15, 19 · Tutorial
Like (3)
Save
Tweet
Share
7.70K Views

Join the DZone community and get the full member experience.

Join For Free

E_RSTOne great thing with the new NXP LPC845-BRK board is that it is possible to use it with any standard SWD/JTAG debugger, as it has the 10pin debug header present on the board. It is not populated by default, because the LPC845-BRK includes a CMSIS-DAP debug probe already. But if I want to use a SEGGER J-Link, a P&E Multilink, or the NXP LPCLink2, this is certainly something to consider:

Debugging LPC845-BRK with LPC-Link2

Debugging LPC845-BRK with LPC-Link2

To enable debugging on the board with an external debug probe, I have to populate the JP1 (Jumper) and CN3 (standard 10pin SWD header):

JP1 and CN3 on NXP LPC845-BRK Board

JP1 and CN3 on NXP LPC845-BRK Board

The jumper header and jumper is part of the kit content (see Unboxing the NXP LPC845-BRK Board), the SWD/JTAG header can be ordered from the usual stores, e.g. Samtec FTSH-105-01-L-DV-K from Digikey or from Mouser.

10pin SWD Debug Header

10pin SWD Debug Header

CN3 on LPC845-BRK

CN3 on LPC845-BRK (Source: NXP)

On the board, there is the JP2 jumper, which can be used if using an external debug probe:

JP2 on LPC845-BRK

JP2 on LPC845-BRK

E_RST on LPC845-BRK schematics (Source: NXP)

JP2 is used to keep LPC11U325 CMSIS-DAP probe in Reset. If the debug probe is not used or under debug control, it seems to tristate the debug lines and does not affect the SWD debug lines. So, using that jumper is not really needed unless I want to really silence the LPC11U35.

The first step is to remove the solder, which is on the pads for the SWD header as the solder mask for the board did not keep them out.

I’m using a standard de-solder wick or braided copper for this:

De-Solder-Wick

De-Solder-Wick

Removing the solder from the pads:

removing solder from pads

removing solder from pads

I remove the solder because I want the header to be on the pads, not floating on the solder. Below, the board with the solder was removed:

LPC845-BRK with SWD Header

LPC845-BRK with SWD Header

Then, I put the header on the pads. I recommend to first solder one pad, and with this, align carefully the other pins. Then, solder all of the pads.

Added SWD Header

Added SWD Header

With this, I was able to debug the board with a SEGGER J-Link, P&E Multilink Universal, or the NXP LPC-Link2 (below with a 3D printed custom enclosure):

Debugging LPC845-BRK with LPC-Link2

Debugging LPC845-BRK with LPC-Link2 (Power provided by LPC-Link2)

Debugging LPC845-BRK with J-Link

Debugging LPC845-BRK with J-Link

Debugging LPC845-BRK with PEMicro

Debugging LPC845-BRK with PEMicro

Debugging LPC845-BRK with MCUXpresso IDE 10.3.0

Debugging LPC845-BRK with MCUXpresso IDE 10.3.0

Summary

The LPC845-BRK has an onboard CMSIS-DAP debug probe, so an external debug probe is not needed. But I love to have direct access to the CPU and freedom of choice for the debug probe I want to use. So, adding that SWD gives me all the flexibility I need.

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

Happy soldering!

Helpful Links

  • Unboxing the NXP LPC845-BRK Board
  • LPC845-BRK Board webpage
  • User Guide for LPC845-BRK Board
  • NXP LPC845 
  • MCUXpresso SDK
  • MCUXpresso IDE: New NXP MCUXpresso IDE V10.3.0 Release
  • List of community projects
Debug (command)

Published at DZone with permission of Erich Styger, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Spring Cloud: How To Deal With Microservice Configuration (Part 1)
  • What Should You Know About Graph Database’s Scalability?
  • Kotlin Is More Fun Than Java And This Is a Big Deal
  • Java Development Trends 2023

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: