Colin Harrington

Tag: arduino

Running MPIDE (ChipKIT’s Arduino IDE remake) on 64bit Ubuntu

by on Aug.14, 2011, under General

I recently got a ChipKIT Uno32 for a LED project that I’m working on.  The ChipKit is basically compatible with most Arduino code, but has a 32 bit chip with a clock rate that is 5x the speed of my Arduino Uno, as well as much more Flash & SRAM space.  I am really excited about it because we ran into performance issues with a slower 8-bit processor, and we are hoping that 32bit + 8x clock speed will put us back into the workable range.

Chipkit Uno32 board

The Arduino IDE (hosted on google code) doesn’t work with ChipKit so They remade the the IDE and called it MPIDE (Multi-Platform IDE) and its hosted on Github. The released binaries are found here.

MPIDE BlinkThey have a decent wiki page on how to run MPIDE which helped.

The article cited issues with 64 bit systems:

64bit Systems

The binary packages for MPIDE are all built for 32bit Linux distributions, if you are running 64bit you need to have some additional libraries installed. You’ll need to have 32bit versions of libelf.so and libreadline.so to be able to program the chipKIT, these need to be in /usr/lib32. You may well need to sym-link these latest versions manually, installing these libs is a fairly advanced operation and will vary significantly between distributions.

So this is what I had to do to get it running on 64 bit Ubuntu (Maverick/10.10):

1) Download the Linux Version and unpack it somwehere.

2) Getting librxtx-java and other jni items loadable via the LD_LIBRARY_PATH or CLASSPATH, which I wrote a post about.

3) The next issue that I ran into was a permissions issue

Cannot run program “/home/username/mpide-0022-chipkit-linux32-20110619/hardware/pic32/compiler/pic32-tools/bin/pic32-g++”: java.io.IOException: error=13, Permission denied

I initially solved it by chmodding everything in that directory, but that resulted in:

pic32-g++: error trying to exec ‘cc1plus’: execvp: No such file or directory

So I followed the advice in this forum post and executed chmod +x  -R ./hardware/pic32/compiler/ and that seemed to do it for me.  I think I was able to compile/verify the blink example at this point.

4) Add 32bit versions of libelf and libreadline6 to /usr/lib32:

The first error I ran into was:

/home/username/mpide-0022-chipkit-linux32-20110619/hardware/pic32/compiler/pic32-tools/bin/../pic32mx/bin/gcc/pic32mx/4.5.1/cc1plus: error while loading shared libraries: libelf.so.1: cannot open shared object file: No such file or directory

I solved this by downloading the i386 deb from here, opening it with archive manager and copying /usr/lib/libelf-0.147.so to /usr/lib32/libelf-0.147.so. after this I creating the versioned symbolic link via ln -s libelf-0.147.so libelf.so.1

Tried it again and was onto my next error:

/home/username/mpide-0022-chipkit-linux32-20110619/hardware/tools/avrdude: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory

Repeat the same process for libreadline6 (which contains another required lib too) And I was able to upload the and run the blink example.

Now on to making the TLC Library work..

7 Comments :, , , , more...

Arduino + Ubuntu 10.10 Maverick Meerkat :: no rxtxSerial in java.library.path

by on Nov.19, 2010, under General, Ubuntu

I’m just getting into the Arduino, and have an awesome project that I’m working on with some friends.

Playing with a multi-color LED

Playing with a multi-color LED

I found the Arduino IDE in package manager, and went to install it
sudo apt-get install arduino

Or Via Synaptic:Arduino via Synaptic

When I went to run it died with the following exception:

A little googling turned up the this bug. It basically describes that there is an issue with Ubuntu 10.10 + sun-java not including the jni directory in the classpath. There are several solutions, but basically this comment sums it up the best:

1) don’t use sun-java but default-jre instead. This bug is actually a known bug in sun-java. (bug #325506)
2) add export LD_LIBRARY_PATH=/usr/lib/jni to your .bashrc, the .deskop file (in /usr/share/desktop), or on the command line before starting arduino
3) add the new package (instructions are above).

I opted for #2 so far…  The idea flow for potential projects are unending.  I should try some CI build Lights/lamps next :-)

4 Comments :, , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!