The new crop of ARM Cortex M0/M3/M4 microcontrollers have a lot of interesting features for developers. In addition to supporting drag and drop programming via USB, the same hardware can also be used as a debugger. Setting breakpoints and inspecting memory at any point in the code is a wonderful feature, but not all the new ARM dev boards we’ve seen support this feature.
The folks over on SimpleCortex have a solution to this problem, but they need your help. To get their CMSIS-DAP hardware working with Open Source tools, they’re looking for a few good programmers and hardware developers to build a toolchain.
Right now, the hardware only works with Keil development tools. A closed source development environment is no good to anyone, so if you have some experience writing drivers and such, send the guys at SimpleCortex an email. They’ll give you a free board in return for a contribution to building an open source ARM toolchain.
Common sense requires us to mention that you should probably only send these guys an email if you actually plan on working on this problem. Still, it’s a great opportunity to contribute to open hardware.
I’m sorry, I can’t program my way out of a wet paper bag, so I won’t be much if any help, but I applaud their efforts!
Only supporting Cortex M0/M3/M4 is far from a ‘Universal’. There are many more ARM cores out there. ARM7TDMIs are still extremely common.
CMSIS-DAP only supports Cortex-M, so how is that supposed to be relevant?
It’s relevant to the title of this post: “Help create a universal ARM programmer”.
Actually, looking at the API (of CMSIS-DAP), I’m not entirely sure it “only supports Cortex-M”. The “DAP” is the ARM bridge to the system and appears in the diagrams with other Cortex processors (see down the page here )
Maybe I miss the point but that sounds very much like Black Magic Probe.
And it is already there, it is open source hardware and firmware… and works darn well if you ask me…
Wow, $60 US for the Black Magic probe?
Nice Dangerous Prototypes case, bra
We already have a universal ‘program almost anything’ interface. Its called the parallel port.
Parallel ports aren’t ubiquitous anymore.
>>Setting breakpoints and inspecting memory
Isn’t this part of the debugging hardware on all ARM cores? Surely a “universal ARM programmer” is just JTAG or SWI.
>hardware developers to build a toolchain.
GCC, GDB, OpenOCD.. this stuff exists and has done for ages.
Thanks! This was exactly the point I was going to make! Can’t you even attach gdb over JTAG for some chips out there at the moment. Pretty sure you can with the TI/Stellaris chips.
Was just about to say the same thing — why are they reinventing the wheel? I don’t get it.
For the NXP/LPC chips, I have found that the serial bootloader is a perfectly acceptable way to *program* the chips. Debugging, at least when Serial Wire Debug is the only option (such as on the LPX1114) is a *completely* different issue.
So far, the *only* SWD option I have found that works with OpenOCD/gdb is the Black Magic Probe, and I haven’t actually confirmed that that works yet. If anyone can confirm this, or any other options for SWD+OpenOCD+gdb for the LPC11xx, I would sure love to hear about it!
Segger sells their commercially supported hobbyist/educational segger j-link programmer for about 64 bux. You can get a clone on ebay cheaper. I *Think* this is supposed to work with openocd for swd… haven’t verified.
Olimex sells a jtag to swd dev breakout board. Again, I don’t know if Olimex’s arm jtag programmer setups support swd yet
You might be able to use the stlink 2 programmer off of a st discovery board?
There’s also the Versaloon platform. It’s open source, has openocd swd support too if I recall.
http://www.versaloon.com/
hackaday has covered this before.
Did you see my project, Galago on HaD and on Kickstarter? I created it to solve this exact problem. Galago features a real SWD debugger with real GDB compatibility. I’ve tested the debugger on STM32F1xx and LPC1xxx chips, and it’s theoretically compatible with all Cortex-Ms.
@kuy
will we debug other micros with you new board? would make a must have, i think.
@Sqelch: Galago’s debugger is fully integrated, so it can only debug the ARM chip on that device. We do have a low-cost, flexible, discrete debugger on the roadmap though.
Whenever I see the letters ARM in all caps, I think of Gil “The Arm” Hamilton of the Amalgamated Regional Militia or ARM.
I’ll be surprised if any talented coders jump on considering ARM v5+ is pretty inaccessible outside of hacked consumer devices with signed boot chains..
If I had the time and money I’d use cheap 3D printing to produce easy BGA methods(document accurate stencils and heat workflows) that would actually justify this tool. I actually wonder why nobody is doing this considering you can get single unit TI ARM v7 stuff around $25-$40, $40 being 800Mhz 3xxx app profiles; you can probably get v7 dual-core 4xxx now..