As we work on projects we’re frequently upgrading our tools. That basic soldering iron gives way to one with temperature control. The introductory 3D printer yields to one faster and more capable. One reason for this is we don’t really understand the restrictions of the introductory level tools. Sometimes we realize this directly when the tool fails in a task. Other times we see another hacker using a better tool and realize we must have one!.
The same occurs with software tools. The Arduino IDE is a nice tool for starting out. It is easy to use which is great if you have never previously written software. The libraries and the way it ties nicely into the hardware ecosystem is a boon.
When you start on larger projects, say you upgrade to a Due or Teensy for more code or memory space, the Arduino IDE can hamper your productivity. Moving beyond these limitations requires a new, better tool.
Where do we find a better tool? To begin, recognize, as [Elliot] points out that There is no Arduino “Language”, we’re actually programming in C or C++. We chose which language through the extension on the file, ‘c’ for C and ‘cpp’ for C++. An Arduino support library may be written in C or C++ depending on the developer’s preference. It’s all mix ‘n match.
Potentially any environment that supports C/C++ can replace the Arduino IDE. Unfortunately, this is not easy to do, at least for inexperienced developers, because it means setting up the language tool chain and tools for uploading to the board. A developer with that much experience might eschew an integrated development environment altogether, going directly to using makefiles as [Joshua] describes in Arduino Development; There’s a Makefile for That.
The reality is the Arduino IDE is not much more than a text editor with the ability to invoke the tools needed to compile and download the code to the Arduino. A professional IDE not only handles those details but provides additional capabilities that make the software development process easier.
Continue reading “Code Craft: Using Eclipse for Arduino Development”
Before you overreact to the title, keep in mind the latest version of Eclipse is code named “Mars.” It is always a bit of a challenge to set up a generic ARM tool chain. If you don’t mind sticking to one vendor, shelling out a lot of money, or using Web-based tools, then you might not have this problem. But getting all the tools together can be annoying, at best.
[Erich Styger] works with students and knows they often stumble on just this step so he’s provided clear documentation for getting Eclipse, the ARM gcc compiler, and a full set of tools installed. He focuses on Windows and the Kinetis platform, but the steps are virtually the same regardless. Just get the right tools for your operating system and skip the Kinetis-specific parts if you don’t need them.
Continue reading “ARM Programming on Mars”
Week 23 of the Caption CERN Contest has been laid to rest. Thanks to all the entrants who stopped by to pay their respects and leave captions for the dearly departed SC-1. CERN engineers and scientists are a crafty bunch, so we’re betting that SC-1’s spirit (and many if its components) lived on in newer CERN projects. We have to thank CERN’s unnamed photographer for capturing these events. It’s always great to see the people and the personalities behind the science.
- “After many years of ignoring the pitiful meows, it was finally determined that Schrödinger’s cat was, in fact, dead.” – [Josh Kopel]
- “We gather here to mourn the deaths of all those brave and noble components that left this world surrounded by magic smoke to reside forever in great the parts bin in the sky.” – [Kid Iccurus]
- “CERN’s annual Halloween parade was a huge disappointment that year, which was probably due to the fact that they held it in June.” – [DainBramage]
This week’s winner is [Scott Galvin] with “Services were held today for SC-1. SC1’s life ended earlier
this week after a devastating head on collision” Scott describes himself as “Just a visiting Geek with dreams of universal domination”. We’d suggest you start small, [Scott]. Maybe dominating a Bluetooth personal area network with your new LightBlue Bean from The Hackaday Store is just what you need to set your plans in motion!
The scientists at CERN always take a personal stake in their work. Pushing mankind’s knowledge of science and high energy physics takes a special breed of person. Thankfully this special breed always seems to have a fun side as well. Here we see a CERN scientist posing behind a … a device. It looks to be some kind of coil or beam line part, though the actual use is thus far a mystery even to CERN’s own staff. We do know this photo was taken in June of 1973, the same month as one of the longest solar eclipses on record – over 7 minutes of totality! Was this part of some CERN solar experiment? Could it have been a section of a particle accelerator? Was this scientist just working on his latest art project – perhaps part of a dodecagon exploration? You be the judge!
This week’s prize is a Teensy 3.1 from The Hackaday Store. Add your humorous caption as a comment to this project log. Make sure you’re commenting on the contest log, not on the contest itself. As always, if you actually have information about the image or the people in it, let CERN know on the original image discussion page.
[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.
We’re partial to using gedit and a makefile for our AVR projects. But for the most part we don’t a debugger with those smaller chips. Now that we’re getting going with ARM processors we use debugging all the time and Eclipse is a great way to combine code writing, compiling, and debugging in one place. Sure, we could use one of TI’s provided IDEs (some of them are based on Eclipse), but we’d rather build our tools up ourselves. [Doragasu] is making this a snap with his Eclipse for Stellaris Launchpad tutorial.
He illustrates every step with a screenshot like the one seen above. Here he is including the driverlib from StellarisWare in the linking step. After all of the compiler and linker settings are just right all you need to do is make a copy of the template to start a new project. The final part of the setup configures lm4flash to write binaries to the chip, and configures OpenOCD for use when debugging.
[Justin] is a bit of an astronomy geek, but that doesn’t mean he’s always prepared for celestial phenomena. When he realized the May 20th annular eclipse was only a few days away, [Justin] dropped everything, built a pinhole solar viewer, and drove three hours for the best view of the eclipse. He learned something watching the eclipse; these sort of things sneak up on you, and you really need to plan ahead if you want to truly enjoy the music of the celestial spheres. After the eclipse, [Justin] set to work building a filter to watch a Venusian eclipse with his telescope.
If [Justin] pointed his 8 inch Schmidt–Cassegrain directly at the sun, he would most likely damage the optics in his ‘scope, burn several retinas, and other very, very bad things. The best way to view the Sun with a telescope is with an expensive Hydrogen alpha or a general solar filter, but these are expensive and the clock was rapidly ticking down to the transit of Venus. After reading that blocking most of the light from coming into the ‘scope, [Justin] built an aperature reducer out of a few bits of foam board, foil, and dark fleece.
How did viewing the transit with a telescope turn out? Well, if you don’t compare [Justin]’s pictures to the multi-million dollar toys NASA and astronomers have, pretty good. It’s a very good job considering the entire foam-core aperture reducer was built in the course of an evening.
While it may be a little early to be planning for the next Venusian transit in the year 2117, there will be a transit of Mercury on May 9, 2016. All [Justin] has to do is remember when it will happen.
[Springuin] just posted a tutorial about debugging MSP430 projects using Eclipse. He read our feature about debugging under IAR, a proprietary IDE which TI offers as a code-limited freebie with the TI Launchpad. In that writeup we wondered if anyone would put together a tutorial using open source tools like DDD and GDB to make debugging easier for those that choose to use operating systems other than Windows. Even though he didn’t directly use those particular packages, this should work just as well.
Eclipse is a popular IDE for many different languages like C, C++, Java, and others. We’ve already seen it used to develop for the TI Evalbot on Linux systems. [Springuin] is using the Java-based IDE on a Windows system, and this is the first time we recall seeing directions on using an open-source alternative for programming with the TI Launchpad under Windows. That being said, the only real Windows specific parts are the steps necessary for communicating with the programmer. Since this method uses MSP-GCC and msp430-gdbproxy, it should be easy to do this under Linux as well. Use our tutorial to set up those tools if you haven’t already, then follow this one for a setting up and debugging in the Eclipse environment.