The stable version of OpenOCD (an open source On-Chip Debugging software package) doesn’t have support for the ICDI protocol used by the Stellaris Launchpad board. But it is pretty easy to build your own OpenOCD from source after patching it to use the protocol.
We’ve already seen an open source tool used to flash binary images to the TI ARM board. But that can’t be used with GDB. With the recent inclusion of USB-based ICDI in the OpenOCD development branches we gain all the features that come with the package. We’re quite happy hear about this as we use OpenOCD for many hardware architectures and this makes development for this board feel more like normal.
Our Stellaris Launchpad hasn’t just been sitting in the closet since we got it. We’ve learned a lot by using the lm4tools to program the chip as we work our way through the online workshop. We’re really beginning to like the Stellarisware peripheral library that has been provided. For us it works in a much more intuitive way than the one that STM uses with their ARM Discovery boards. We’d recommend taking a look at the workbook PDF (which is basically a verbose listing of what’s in the video series) and the library reference (called SW-DRL-UG-9453.pdf) which is in the docs folder of the Stellarisware package.
[via Dangerous Protoypes]
So you picked up your very own Stellaris Launchpad, a TI ARM dev board which can be in your hands for just five bones. They do distribute several free IDEs which are not size-limited but perhaps you’re more of a text editor and command line sort of person. Well you’re in luck. There’s now a guide to show you how to code for and program the Stellaris Launchpad from a Linux box with using one of the IDEs.
There are two main things that are needed to accomplish this. The first is a cross-compiling toolchain for the ARM architecture; something that has been readily available for quite some time. The second is a way to talk to the in-built Stellaris programmer from a Linux machine. The hardware uses the ICDI protocol, and as we reported last week the lm4tools project can be used for this purpose. The guide also covers building the StellarisWare package. It’s not a requirement, but it makes using the peripherals much easier and provides names for the I/O pins, etc.
Our favorite for debugging microcontroller projects is OpenOCD. From this thread post it looks like there is now ICDI support in the development branch of the software if you don’t mind compiling from source.
In our last Stellaris how-to we got the board working and set some registers to turn on the LED. This time we’ll start using StellarisWare Driverlib, which provides drivers for the microcontroller’s peripherals including GPIOs, UARTs, ADCs, and so on. These libraries make it easier to control the peripherals. We’ll build the Driverlib project, create a project from scratch to use the library, and run a simple LED blinking example.
Continue reading “Using StellarisWare with the Launchpad”