Thursday, February 24, 2011

Free cup of LPCXpresso!

A bit over two weeks ago I told you how to get a free LPCXpresso board by making a short video or a photograph of how you got rid of your 8/16 bits micro-controller. I suspect/suppose that NXP will honor every participant.

Here is a picture I received from Antoine Broussal. Note how he did the can and the peanuts.



Just to show you that it is not bogus, here is a picture of the board with its accompanying letter that I received this morning by UPS. It is, as I expected, an LPC1114 board.



Denis Xavier wrote me to tell me that his contribution was accepted too, so Denis, you want to share a cup of LPCXpresso code?

The campaign is still running and the submission stream seems to have slowed down a bit, so go give it a shot yourself!

Embedded World 2011 update: NXP ran out of stock. Please be patient.

BTW, while I was writing this, I received a press release from NXP announcing the LPC1200 series. Compared to the other LPC Cortex-M0 devices these new Cortex-M0 controllers offer up to 128 KB of flash memory, DMA, a real-time clock (RTC) and a CRC engine.

Wednesday, February 9, 2011

CodeLite & GDB for ARM

Just after finishing the Elektor article about how to debug the Sceptre (or any other microcontroller that can be debugged over JTAG) using OpenOCD and GDB, I discovered another free IDE that seemed to be good for embedded development: CodeLite. It seemed to have everything needed for this kind of work, so I planned to add a supplement to the article on this blog. I thought that it would be easy to port the setup described in the article to this new IDE, but unfortunately it turned out to be not so. To come straight to the point: I have not succeeded debugging my target using CodeLite with GDB and OpenOCD.

Why? Because CodeLite does not treat GDB well or I am to dumb to figure it out. It seems easy & intuitive enough though. You create a project and then you define a debug setup for the project. You can tell CodeLite where your debugger lives and which commands to execute and CodeLite offers a GDB terminal, so everything is there to make it work. Except that it won't.

There are several issues. One is that it doesn't work always the same way. Sometimes I had to pass through the Quick Debug option to get it more or less going, sometimes this was not necessary. The reset command that I specified to be executed after attaching to the target gets executed several times instead of just once as if CodeLite uses a very short timeout to wait for response and then simply tries again. If it manages to get a connection to OpenOCD it is very difficult to use the GDB terminal that most of the times returns a message "interrupting debugee process: xxxx" where xxxx is a number that corresponds to the PC's process ID of GDB. Very frustrating and in the end I gave up, not succeeding once to execute successfully a step command.

It is a shame, because the IDE is nice. Not as heavy as Eclipse-CDT and easy to set up for embedded software development. It has interesting plugins, like the code formatting option that you can setup the way you like it, or a copyright block inserter. A snippet wizard lets you write quickly and you can hide functions that you don't want to see, it has everything you expect from a modern IDE. Therefore I suggest that you give it a try, maybe you don't care for GDB debugging of embedded platforms, it is definitely worth it.

If by any chance you figure out how to get GDB and OpenOCD working properly in CodeLite, please let me know.

Monday, February 7, 2011

Break the 8/16-bit habit

Most people, including me, like to get stuff for free. Electronic component manufacturers know this and often they offer free samples in the hope that their parts get designed in. Microcontroller manufacturers have started doing design contests and other campaigns to get new users for their products. One of the latests campaigns was launched by NXP for their ARM Cortex-M0 parts.

NXP already did do a design contest (or challenge as they called it) for their LPC1100 parts and now they are giving away LPCXpresso boards that contain a Cortex device. To get one, all you have to do is to show how you plan to stop using 8 and 16-bit devices. You can do this by sending in a picture or a video and if accepted it will be posted here.

Here is the video I sent in.



NXP's website does not mention which LPCXpresso board you will get, but I suppose it will be the board with the LPC1114.

Here are some photos & videos I received in response to this article. Feel free to share your way of breaking the 8/16 bit habit by sending me your photo and/or video and I will put them up here too.



L. Francey prefers to use his obsolete microcontrollers to create arty objects.


Marc will eat anything that has legs.


Jonathan likes Aciiid!


Denis combines his passions for nature and electronics.