chipKIT® Development Platform

Inspired by Arduino™

Java-Mac-install issue?

Created Fri, 12 Jul 2013 02:25:47 +0000 by epicycloid


epicycloid

Fri, 12 Jul 2013 02:25:47 +0000

I'm sure I must be missing something obvious, but I was using MPIDE up until a recent HDD replacement and system re-install. I just installed MPIDE 20130626 on my Mac (10.7.5) and now I can't get it to work with anything.

I have installed MPIDE, and the FTDI driver, and I have deleted the preferences.txt file just to make sure that isn't an issue.

I am getting the following when trying to build anything for an Arduino Uno or Mega (2560):

java.lang.NullPointerException
	at processing.app.debug.Compiler.compileLink(Compiler.java:705)
	at processing.app.debug.Compiler.compile(Compiler.java:229)
	at processing.app.Sketch.build(Sketch.java:1588)
	at processing.app.Sketch.build(Sketch.java:1565)
	at processing.app.Editor$DefaultRunHandler.run(Editor.java:1863)
	at java.lang.Thread.run(Thread.java:680)

Checking my current version of Java returns:

java -version

java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)

Is there something glaringly obvious that I'm missing or need to do?

Thanks.


majenko

Fri, 12 Jul 2013 08:39:20 +0000

That looks to me like a boards.txt file issue in the arduino hardware folder.

705 reads:

if (variant.indexOf(':') == -1) {

where variant is the contents of *.build.variant in the boards.txt file (or the boards.txt file for the specific variant in the variants folder).

Check that (those) file(s) and ensure that there's a build.variant entry for the boards you use.

As these are Aruino boards they don't undergo such rigorous testing - they're not really supported that much TBH ;)


epicycloid

Mon, 15 Jul 2013 18:14:32 +0000

Thanks for the suggestion of where to look, and apologies for the double post too.

In the past I only used MPIDE for my Uno32's and used the Arduino IDE for the various Arduino's. I typically prototype and do initial testing on the Arduino's, and then when everything is working but I need faster performance, I switch and move to the Uno32's. I thought I would just give the newest version of MPIDE a try to use it for both types of boards. Maybe I was hoping for too much and I need to stick with using the two IDE's instead?

I am not sure what exactly to look for, but the entries you mention seem to be there...

pic32 has: boards.txt bootloaders.txt platforms.txt

and these directories/folders: compiler cores libraries variants

while Arduino has: boards.txt platforms.txt programmers.txt

and directories/folders: bootloaders cores firmwares

The boards.txt file for Arduino has entries for both the Uno and Mega 2560. The Uno section has the following:

uno.group=Arduino
uno.name=Arduino Uno
uno.platform=avr
uno.upload.protocol=arduino
uno.upload.maximum_size=32256
uno.upload.speed=115200
uno.bootloader.low_fuses=0xff
uno.bootloader.high_fuses=0xde
uno.bootloader.extended_fuses=0x05
uno.bootloader.path=optiboot
uno.bootloader.file=optiboot_atmega328.hex
uno.bootloader.unlock_bits=0x3F
uno.bootloader.lock_bits=0x0F
uno.build.mcu=atmega328p
uno.build.f_cpu=16000000L
uno.build.core=arduino

The Mega section is similar.

Thinking there might be an issue with using the Apple Java vs. Oracle Java, I also re-installed the Oracle version and that made no difference either...

java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

I guess the first thing I need to do when I get back to my bench is to confirm that this version of MPIDE still works for my Uno32's. At least that way I can revert to using the two IDE's for the two board/proc families.

But it would be nice to know if anyone else has actually used Arduino boards successfully from MPIDE, or if they don't work, remove them from the board menus (or at least grey them out).

Any insights still appreciated.


majenko

Mon, 15 Jul 2013 18:42:15 +0000

The answer is to use neither IDE ;)

What you want is UECIDE - a fork of MPIDE with most of the guts ripped out and re-written.

The aim is to support every board...

It's not "stable" at the moment though - I am still writing it - but feel free to play with it and provide feedback.


epicycloid

Mon, 15 Jul 2013 19:23:37 +0000

No doubt that's what I want, but what I need right now is a stable environment to do production stuff for two flavors of boards.

Your project looks interesting and I'll keep an eye on it, but for the time being, I have to get real work done, so will likely stay with the two relative knowns for now.


epicycloid

Mon, 15 Jul 2013 21:29:18 +0000

Back at my bench now... this version of MPIDE does work for my setup for the chipKIT Uno32 board.