GCC Mayhem

I tend to use gcc and gcc-derived tools quite often in my work; examples include the Arduino environment, LPCXpresso, and WinAVR. While not the best compiler in the world performance-wise, it wins hands down when you factor in its portability, ubiquity, and stability — as well as cost.

Sometimes weird stuff happens though. Recently I upgraded my main desktop machine from Windows XP to Windows 7. Since then, I have been unable to run any of the above toolchains successfully. What gives?

Turns out the problem was caused by a recent installation of a gcc toolchain, Ride7, from Raisonance, for the EM Micro 6819 processor family. That’s right, one gcc toolchain killed 3 others!

The solution (at least to make the first 3 work again) was to remove the GCC_EXEC_PREFIX environment variable that Ride7 created. Turns out that is a variable used in older gcc implementations that now causes havoc with newer ones. And Ride7’s gcc is OLD! 2.80! Current gcc versions are in the 4.3 range or higher.

Despite my initial fear that the trouble was Windows 7 itself, it turned out to be a combination of things — I never tried those other tools again after installing Ride7.

Things I’d Like to Write About

In no particular order:

  • All about Pleo; design, compromises, missed opportunities
  • Experiences at previous employers
  • What it’s like to be a consultant
  • Favorite programming tools
  • Sound localization experiments
  • Motion control with low resolution feedback
  • Sensor processing
  • Things I’ve built with the kids
  • Things I’ve built on my own
  • Automatic interface switching techniques (Unicoder serial vs. I2C on same control lines)
  • Technical books that I’ve gotten a lot out of
  • Experiences coaching FLL (Lego Robotics) teams
  • People that inspired me growing up
  • Lessons learned in making my own products (design, manufacturing, sales, distribution, marketing)
  • Debugging techniques

Robotics, Electronics, Programming, and other Ramblings