Eclipse and Aptana plugin update error

Do you have error message “Resulting configuration does not contain the platform.” after starting Eclipse including Aptana plugin on Mac OS X host?

The solution is:

  1. Delete folder “~/Library/Application Support/Aptana”
  2. Delete folder “~/Documents/Aptana Studio” (or Aptana, Aptana Studio Workspace)

Update error of Aptana Professional plugin occured by a previous installation of standalone version…

So, i’ve found an interesting style to change theme to a dark colour set: Green Chaud

So, first you have to import every col file one by one in the options (Window > Preferences > Aptana > Editors > CSS / HTML / JavaScript / PHP / ScriptDoc / XML).

Then you’ll have to set the line numbers color by hand (if you are showing them) : Go in (Window > Preferences > General > Editors > Text Editors), and then set the color of “Line number foreground”. The RGB code of the color is 128 / 159 / 128.

PIC30 toolchain on OSX

I found a good build script to create Mac OS X toolchain with C30 binutils and GCC compiler at Bas van Klinkenberg’s site, but i’ve got same problem like other people in comments:

Process: as
Path: .../bin/as
Identifier: as
Version: ??? (???)
Code Type: X86 (Native)
Parent Process: sh

OS Version: Mac OS X 10.5.6 (9G55)
Report Version: 1

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0×0000000000084318
Crashed Thread: 0

Thread 0 Crashed:
0 libSystem.B.dylib 0×9471a7c4 strcpy + 52
1 as 0×0006c95b process_resource_file + 59
2 as 0×0006d012 pic30_update_resource + 258
3 as 0×0003c30d bfd_init + 29
4 as 0×00004ae7 main + 183
5 as 0×00001dd6 start + 54

After launching pic30-elf-as in gdb, backtrace could help to find the reason of bus error/segmentation fault message.

Here is the problematic code segment in file c30_resource/src/generato/resource.c, function read_rib():

  if (stat(name,&fileinfo) == -1) {
    /* name cannot be statted */
    /* this could be because of the reoganization of the install directory 
     * some of the binaries are in the same directory as the resource file,
     * some are one directory below it... try moving one up and looking again
     */
    char *c;
    char *ultimate = (char *)name,
         *penultimate = (char *)name;
    char *temp;

    for (c = (char *)name; *c; c++) {
      if ((*c == '/') || (*c == '\\')) {
        penultimate = ultimate;
        ultimate = c;
        while (c[1] == *c) c++;  /* ignore duplicate slashes */
      }
    }
    temp = (char *)xcalloc(strlen(ultimate)+1,1);
    strcpy(temp, ultimate);
    strcpy(penultimate,ultimate);
    stat(name,&fileinfo);
  }

If the path name of current working (install) directory is longer than predefined resource filename (pic30_resource_file) at argument of read_rib() funtion, a bus error occurs here:

strcpy(penultimate,ultimate);

Static string definition at acme/bfd/cpu-pic30.c:

static char *pic30_resource_file = "/usr/local/share/pic30-support/c30_device.info"; 

Possible solutions:
– copy install directory contents into /usr/local
– copy install directory to a higher level in directory tree
– create a symlink of ${TOOLCHAINDIR}/share/pic30-support to /usr/local/share/pic30-support
Microchip Technology Inc. fix this terrible bug in binutils package

Eclipse integration with PIC C Builder

PIC30 Eclipse: test build

The PicCBuilder is an Eclipse plugin for allowing the use of Eclipse CDT as the editor and builder of projects for Microchip PIC microcontrollers. It creates makefiles that involke the C30 toolchain to generate the binary files.

Additional properties to set – following HOWTO – in Eclipse (my toolchain in /opt/pic30-toolchain folder):

Links:
Peter-Jan Randewijk: Microchip MPLAB C30 v3.00
Pilot’s logbook: MPLAB C30 rev 3.02
dsPIC30F Language Tools Quick Reference Guide
MPLAB C30 User Guide

My Eclipse installation

Just for a reminder…

Requirements, Features:
– Support for Alfresco development (javascript and java webscripts, actions, properties XMLs)
– HTML editor and preview (Firefox and Safari)
– JavaScript editor (with code formatter, and syntax checker)
– Freemarker editor (with syntax checker)
– PHP editor (with syntax checker and help)
– XML editor
– Shell script editor
– SVN client (projects by checkout)

Eclipse:
Eclipse IDE for Java Developers (3.4 GANYMEDE): download

Tools update site links:
Aptana update for Eclipse 3.4: http://update.aptana.com/update/studio/3.4
– Window menu: My Aptana
Utilities / Subclipse SVN client plugin (with SVNKit)
Platform / Aptana PHP
Platform / Aptana Adobe AIR 1.5 Development
Platform / Aptana Apple iPhone Development
FreeMarker syntax: http://www.freemarker.org/eclipse/update/ (don’t forget to update freemarker.jar in eclipse/plugins/org.visigoths.freemarker_2.3.2)
TRAC plugin for Mylin
Graphviz plugin: http://abstratt.com/update/
– JBOSS jBPM graphical workflow/process designer: unzip “jbpm-jpdl-designer-site.zip” in folder “designer”, then select “Help/Software Updates/Find and Install”, and use “Search for new features to install” to add with “New Local Site”
JSON editor (local site install)
ShellEd – shell script editor (download zip and copy contents into Eclipse directory)

Eclipse with Aptana

J2ME fejlesztés OSX-en

Egy ismerősöm nemrégiben segítséget kért tőlem mobil fejlesztés témában, ezért kicsit utána néztem a dolognak, elsősorban Mac-es környezetben.

Első lépésként megnéztem az Eclipse családot – miután néhány JAVA program megírása után közelebbi kapcsolatba kerültünk – használható-e erre a célra. Mint kiderült létezik egy EclipseME névre hallgató plugin, mely lehetővé teszi a fejlesztőknek, hogy a megszokott Eclipse környezetben készíthessék az applikációkat és a külső SDK-ban található emulátoron futtassák is azokat. Sajnos a preferált Sun Wireless Toolkit Macintosh platformon nem támogatott (csak Windows és Linux binárisokat lehet letölteni) és a többi, az EclipseME által támogatott SDK közül kizárólag az Mpowerplayer volt képes életjeleket produkálni OSX-en.

Szerencsére az egész tortúra nem tartott tovább másfél óránál, miután sikerült kiválasztani a komponenseket, elkészült az első mobil telefonon is futó alkalmazásom (melynek forrását a Móricz Attila által publikált egyik példaprogram alapján készítettem el).

A szükséges, letöltendő eszközök:
1. Eclipse: www.eclipse.org
2. EclipseME plugin: eclipseme.org
3. Mpowerplayer SDK: www.mpowerplayer.com

Az Eclipse letöltéséhez és telepítéséhez nincs hozzáfűznivalóm, ki kell választani egy JAVA fejlesztéshez való verziót (csomagot), majd kicsomagolás után a /Developer/Applications könyvtárban elhelyezni.

Az EclipseME plugin sikeres telepítése után – ezt elvégezhetjük a features és a plugins könyvtár tartalmának átmásolásával az Eclipse hasonló nevű könyvtáraiba, vagy a dokumentációnak megfelelően a beépített installer használatával is – az Eclipse-en belül, a File/New/Other menüben megjelenik egy J2ME Midlet és egy J2ME Midlet Suite opció. Ugyanitt érdemes a Preprocessor beállításokat is ellenőrizni, elkerülendő a forrás file-ok mentésekor előforduló hibaüzeneteket.

Eclipse MIDP Suite Midlet

EclipseME is an Eclipse plugin to help develop J2ME MIDlets. EclipseME does the “grunt work” of connecting Wireless Toolkits to the Eclipse development environment, allowing you to focus on developing your application, rather than worrying about the special needs of J2ME development.

Az Mpowerplayer SDK jelenleg az egyetlen olyan MIDP 2.0 SDK, amit sikerült működésre bírni OSX-en is. Ez az emulátor sokat segíthet a fejlesztőknek, hiszen nem kell az elkészült programjaikat minden esetben áttölteni a telefonba a teszteléshez.

Mpowerplayer - OSX

The Mpowerplayer Software Developer Kit (SDK) includes the core of Mpowerplayer as a standalone application. It’s a pure Java emulator implementing MIDP 2.0 and MMAPI, suitable for integration with your favorite environment and IDE. Third-party integration efforts exist for Ant, Eclipse, Idea, and we hear of more efforts almost daily.

A környezet beállítása

1. Az EclipseME plugin számára definiálnunk kell egy Device-t, ezt a Preferences/J2ME/Device Management menüben tehetjük meg. Az Import gombra kattintva válasszuk ki az mpowerplayer könyvtárát, ott a plugin meg fogja találni a szükséges eszközt.

2. A kiválasztott eszközhöz (Mpowerplayer) hozzá lehet rendelni a Javadoc dokumentációt, ezt az Edit gombra kattintva, a Libraries fülön tehetjük meg, (“…/mpowerplayer/mpp-sdk/javadoc/”).

Eclipse J2ME Device Management

Egy egyszerű példaprogram és az eredménye

1. A File/New/Other menüben válasszuk ki a J2ME Midlet Suite opciót, majd hozzunk létre egy új csomagot, esetünkben “HelloWazz” néven.

2. Válasszuk ki az új projektünket, majd azon belül szintén a File/New/Other menüből válasszunk egy J2ME Midlet opciót, esetünkben “HelloWazzMidlet” néven. Ezzel létrehoztuk a csomagon (suite) belül magát a Midlet-et, aminek a forrását már szerkeszthetjük is.

3. A HelloWazzMidlet.java forrást a bejegyzésben szereplő tartalomra cserélve majd a Run menüből a Run opciót kiválasztva meglesz az első sikerélményünk a mobilos fejlesztéssel kapcsolatban.

HelloWazz Midlet

Források, linkek:
Móricz Attila: Java MIDlet programozói útmutató
Wireless Java: Developing with J2ME
J2ME hobbi programozás
Sziráczki Krisztán: Java alkalmazás fejlesztése mobiltelefonra.
BME HT: Szoftverfejlesztés mobil végberendezésekre
Kirch Tamás: Java 2 platform, Micro Edition (J2ME), MIDP
Sámoly Gábor: Mobil vásárlási rendszer fejlesztése
Bátfai Norbert: A mobil játékfejlesztés elméleti és gyakorlati momentumai
Java ME példaprogramok és leírások

Continue reading J2ME fejlesztés OSX-en