[James Lynch] picked up an LPCXpresso board because he wanted play around with ARM processors. The board, which is shown on the right, provides everything you need to get started. It even ships with a free IDE. But unfortunately the free version of that Code Red IDE is size limited. If he wanted to remove the restriction he would have to pony up $999 for a licensed version. A company might not think twice about this payment, but in the hobby realm that’s simply out of the question. Instead, [James] figured out how to use the CooCox programmer with the LPCXpresso hardware. To get at his 59-page guide on the process follow that link and hit the “Download Zip” button in the lower right for a copy of the PDF file.
The hack comes in two parts. First you need to alter the LPCXpresso board. There is a center line that separates the dev board form the debugger/programmer. These are connected with solder bridges between rows of a dual pin-header. [James] removed the bridges and added said pin header. This allows him to jumper the connections and use it as normal, or attach it to his CooCox programmer as seen above. The second part of the project walks through the process of getting the free CoIDE (also based on Eclipse) to compile and program code for the LPCXpresso.
We’ve seen this dev board here and there, notably in an oscilloscope build.
13 thoughts on “How To Use CoIDE With LPCXpresso Board”
Wow, he documented it really well. Stunning.
You can also program lpcxpresso boards using an st-linkv2 together with openocd: http://comments.gmane.org/gmane.comp.debugging.openocd.devel/22224
i don’t trust CooCox at all.
You were right. As of now, coocox websites are all down and there’s no way to find their software anywhere on the internet, even though their boards are still being sold. Support is absolutely dead, stay away from coocox.
However nice it is to, legally I presume (shrink-wrap be damned), hack a proprietary product to unlock its true potential. It unfortunately almost never creates a market in which a modern licensing model must be adopted instead of the 90’s version. That being said, not using it because of that also does not work.
I like CadSoft’s way of handling this with their Eagle product. There’s a limited free version, two hobbyist versions ($69 and $169), and of course the professional version ($1640). You are expected to upgrade if your project is commercialized.
Very nice description.
Using the LPCXpresso board this way has no legal issues whatsoever – NXP even describes themselves how you can remove the LPC-Link part from the target processor and even shows how you can use the LPC-Link module with your own target boards (as I do).
The GCC compiler is a standard ARM_GCC compiler and there are no memory limitations for the LPCXpresso IDE apart from a download limit. So you can still write and compile programs that use the full 512 kB, you can even debug when you download the binary with another tool (like FlashMagic) – I agree this is not an ideal solution and I never use this.
You can even create a C++ project but the free LPCXpresso IDE does not include a wizard that creates a skeleton project like it does for a C-style lpcxpresso project.
Another alternative (besides ST-LINK/v2) to the CoLinkEx programmer is to use any FT2232H based OpenOCD programmer. Schematics for mine are in the following post including an included 8-pin socket for connecting to the LPCxpresso boards:
Or use my schematics to adapt directly between ST-LINK/v2 and LPC-Link
And an alternative toolset is the Olimex Development Suite mentioned here:
Let me get this right: It’s a dude who successfully attached an off-the-shelf SWD/JTAG debugger to an off-the-shelf development board. This is the intended (and already well-documented) purpose of both of these products, right? How is this noteworthy at all?
Yes, but normally the LPCXpresso board uses its own LPC-link debugger and he made a very nice and detailed description. Sure, both products are off the shelf and I could just read the documentation of both boards but this way it’s way simpler (no, I’m not dumb, I’m just lazy)
sadly, I am dumb and lazy
I agree with you Jay that my tutorial is not “noteworthy”. Possibly “helpful” is a better adjective. I did include information on how to get around certain issues with a Windows 8 installation and showed how to modify the CooCox canned example to conform to the LPCXpresso board. The main point of the documentation was to show that there is a free and open source alternative to the “teaser” software development packages that come with these inexpensive eval boards. Your familiarity with the board and the CooCox software development package suggest that you are not exactly in my target audience (novices).
So, I didn’t see the documentation when I initially posted. I get it now. If you’ve never touched CooCox or done any JTAG debugging or ever looked at an LPCxpresso datasheet, then it’s certainly nice to see a single PDF tutorial that covers everything needed to get going. That’s certainly a rarity in this field, too. I retract my statement. Great work!
Please be kind and respectful to help make the comments section excellent. (Comment Policy)