May 16, 2013 AT 2:53 pm

NEW PRODUCT – SEGGER J-Link EDU – JTAG/SWD Debugger

1369_LRG

NEW PRODUCT – SEGGER J-Link EDU – JTAG/SWD Debugger – Doing some serious development on any ARM-based platform, and tired of ‘printf’ plus an LED to debug?

A proper JTAG/SWD HW debugger can make debugging more of a pleasure and less of a pain. It allows you to program your devices at the click of a button, read or write memory addresses or registers on a live system, temporarily halt program execution at a given location or condition, and much more. Essentially, it’s a direct window into what’s going on inside your MCU at any given moment, giving you a level of access and control that’s not easy to replicate with other debugging methods.

Of the dozens (and dozens!) of debuggers out there (we have literally drawers full of them!), we chose the J-Link for a number of reasons:

The J-Link is fast. Stepping through breakpoints and reading memory addresses is quick, as is programming the flash memory on the chips. It’s real strength, though, is that it’s so vendor and tool neutral. Most chip vendors today provde low cost (or free) tools, but they also lock you into their chips and force you to accept the choice they’ve made for you. Segger’s J-Link is a nice change in that respect, since you can be reasonably certain it will work with any chip, in any major toolchain, and you’re free to change camp (or OS or IDE) without having to buy a new debugger every time.

1369scale_LRG

Why Would I Want This?

You can do a lot of basic debugging with just printf and an LED, and you may not need a HW debugger to get started, but once you start to working on more complicated projects, you hit a debugging wall pretty quickly.

Your chip might be ending up in the HardFault handler, for example, but without a debugger it can be very hard to trace back exactly what is causing the problems. A debugger allows you to set ‘breakpoints’ in your code, where execution will temporarily stop, and you can check the value of memory or peripherals at that point in time, and then ‘single-step’ through your code line by line, executing your program until you find the place that causes your fault. There’s a lot more to debugging than simple breakpoints, but you can often solve in a few minutes with breakpoints what would take much longer with printf and instrusive blocking mechanisms you insert into your code without a debugger.

Whether you’re using GDB Server (GNU Tools) or an IDE and a commercial toolchain, it’s also just a big convenience, since the J-Link can program the flash for you at the click of a button, reset the device, start execution, and then ‘halt’ on main(). You can do all these steps yourself — programming the device via free tools over UART or via a USB bootloader, etc. — but when you need to do that 40-50 times a day, it can get old quick, and 15 seconds saved make a huge difference when debugging. You can program a small MCU and break on main in 2-3 seconds with a J-Link, which makes the tools more or less invisible, which is a good thing when you have other problems to worry about.

1369flip_LRG

What is the J-Link EDU?

The J-Link usually sells for a few hundred dollars up to four figures, but Segger makes a special, low-cost ‘EDU’ version of ther J-Link available. It’s feature complete (including GDB Server support, unlimited flash breakpoints, etc.) and the same debugger you’d buy for professional use, but it has the following limitations (source: http://www.segger.com/j-link-edu.html):

You may use the J-Link EDU for non profit educational purposes only! Non-profit educational purposes means that you may not use the J-Link EDU and its J-Link software

  • direct or indirect in or for a profit organization or business purposes or other undertaking intended for profit
  • direct or indirect in any other commercial environment (e.g. office)
  • to develop, debug, program or manufacturer a commercial product (or parts thereof)
  • to use it to either earn money or reasonably anticipate the receipt of monetary gain from it.

What does this mean? Basically, if you’re making money (or plan to make money) off your project, you’ll need to order the full commercial version, or find a different debugger that suits your needs and budget better. But if you’re working on personal, non-commercial projects, such as publishing some open source designs you’re not selling yourself, you’re good. You don’t need to be a student, and you can even be a paid engineer during the week, using this on the weekend for personal non-commercial projects. As long are your intentions are non-commercial, the J-Link EDU is an excellent choice!

In stock and shipping now!

Related

“D is for Diode” – Circuit Playground Episode 4 is out now! CLICK HERE TO WATCH!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground”Adafruit’s Apps!



2 Comments

  1. Kent Sorensen

    I’m curious what sets this ons apart from BusBlaster ? It clearly has some onerous licensing limitations, so what technical merits does it have over BusBlaster ?

  2. Kent:

    Options are good, and you need to make your decisions based on your own specific requirements and priorities, but I’ve tried to highlight the thought process behind offering hte J-Link below.

    The key advantage to me is that the J-Link works with absolutely everything. They have on-chip flash programming algorithms for any chip I’ve ever come across, they get new chips supported before they’re available, even from the smaller vendors.

    It just works, each time, every time (and on rare cases where it doesn’t they tend to fix it quickly).

    It works in every major IDE, both commercial and anything open source that uses GDB. I love open source, but sometimes commercial tools like IDEs have their place as well, and sometimes you need to pick the right tool for the job to meet your deadlines and budget. The J-Link has you covered in absolutely every situation, and it’s the only real ‘one-ring-to-rule-them-all’ solution I’m aware of (GDB, Keil, IAR, Crossworks, AtmelStudio, yada yada).

    I’ve never tried the bus blaster, but (from long experience with about 30 ARM debuggers here) the FTDI chips are often a huge bottleneck, and the main reason you’ll find a J-Link on the desk of 95% of working embedded engineers using ARM is that it’s extremely fast. When I was working at NXP, we had every conceivable debugger in the closet, but they all tended to gather dust, and the J-Link is what say on everyones bench.

    Those are just my own thoughts, and I’m admittedly a big fan of the J-Link (I have not one, not two, but four!) … but having tried them all, I’m still confident that on technical merit and price/performance, the J-Link is the best choice you can make for a long term solution of buying the right tool once.

    I didn’t hesitate to pay full price for one since I use it commercially, but if you can fit within the (fairly generous) EDU terms, it’s a good deal for the time a good debugger saves longer term.

Sorry, the comment form is closed at this time.