jump to navigation

Anjuta Plugin for OpenEmbedded SDK June 18, 2009

Posted by Florian in Devices, Linux, OpenEmbedded, Source, kernel concepts.
Tags: , , , , ,
4 comments

I have always liked the idea to have an Anjuta plugin that simplifies the use of cross toolchains in order to develop for all sorts of mobile and embedded devices. Personally I do not rely on an IDE but I have worked with a lot of developers in the past who are not used to do application development with vi. The same applies to cross toolchains, but there are reasons why people compile natively or why tools like Scratchbox are developed.

Some time ago OpenedHand published an Anjuta plugin for Poky that almost fits these needs – apart from minor lacks and the fact that you can’t use it with an OpenEmbedded build tree because it relies on the Poky directory layout. It didn’t take me long to modify the Poky plugin to fit the needs for OpenEmbedded: I have added automatic detection of the toolchain host prefix and some functionality to deal with the (not 100% fixed) directory layout of OpenEmbedded. So what does it do?

  • Select a toolchain or OpenEmbedded build directory to use
  • Configure and build a project
  • Deploying of binaries to a target device using rsync and ssh
  • Some debug and remote device features from the original plugin I didn’t test so far
Anjuta OpenEmbedded SDK Plugin

Anjuta OpenEmbedded SDK Plugin

It is easy to install (and build if necessary). I have created an initial website for it at KC Labs. You can find both source archive and binary packages for Ubuntu (9.04) and Debian Lenny. Once you have it installed it you should be able to design your GUI, fill it with functionality and deploy the application to a target device withouth leaving Anjuta.

Feedback is very welcome – if you have ideas about new features or what you would like to see for cross development please let me know!

Have a nice time…

PS: LinuxTag is approaching – visit the Embeded Area with projects like OpenEmbedded and Coreboot!

MOTODEV Studio for Linux: A brief review August 27, 2008

Posted by Florian in Devices, Linux, Source.
4 comments

Knowing several SDKs for mobile devices available in the market such as OpenMoko Freerunner, Nokia N810 and several other I decided to take a look at the new MOTODEV Studio for Linux by Motorola. They published the preview release 0.3 a short time ago. Its quite appealing to write applications for all the MOTOMAGX devies out there. But it turned out that it is not really easy and the fun seems to be limited even if the MOTODEV Studio itself looks and feels quite nice.

The MOTODEV Studio preview comes as a 381MB zip archive which contains install instructions (PDF) and an executable binary installer. Even if the website says that it requires RHEL4 it installed without trouble on my Ubunty 8.04 after switching from GCJ to a SUN JRE. It requires ~900MB of disk space (no 3GB like the website says). There is an installer for Windows as well, but trying this is a job for someone else ;-)

The Eclipse (they use 4.0.3) IDE’s developer perspective looks pretty good and is easy to use even for developers who are not used to Eclipse at all. Only the fact that it needs a big screen to become useful is a problem for the users of many laptop computers which do not offer a screen higher than ~800 pixels. Resolutions below 1280×1024 result in a very small editor window.

Developer Perspective

Note the documetation browser at the right side of the window. There is a lot of documentation included already and integrated into the Eclipse help mechanism.

The VMware set-up and creating a configuration for the device emulator is rather trivial with the step-by-step instructions. Make sure to have VMware player 2.0.4 installed – the website still has 2.0.3 as a requirement which did not work for me.

The device emulator starts a VMware instance booting into a Linux system. Once the emulator is running it opens a tab in the IDE with a virtual device. It somewhat reminds me to Xoo :-)

IDE with emulator

IDE with emulator

With a set of example applications included it is very easy to get an application started. Creating a new project you are offered five application skeletons to choose from which includes a GUI application that shows how to use the contact database API.

So far the whole SDK looks really promising and much more convenient for Linux developers than the Series60 SDKs. But currently there are some bad limitations:

  • No integration of real devices yet – no binaries for a real handset and no debugging on a device.
  • They say that current MOTOMAGX devices won’t be supported by the native SDK and support will be limited to the next generation of devices.
  • Even if Motorola call MOTOMAGX an ‘open’ platform its openness is very limited and does not really compare with an open platform open source developers would like to see. Environmets like OpenMoko or Maemo offer a way higher degree of freedom.
  • The developer community and therefore the number of applications available is quite likely to be small in near future – compared to established platforms at least.
  • Some strange limitations in the IDE like the fact that source files are only usable if they have the extension ‘.cpp’ might make it quite hard to port existing software.

All in all its a big step into the right direction, but there is atill a hell of a lot of work to do. I guess it would be a nice idea for some MOTODEV Studio developers to have a chat with us Maemo people at OSiM next month.

Have a nice time…

Maemo Summit July 22, 2008

Posted by Florian in GPE, Linux, Maemo, Source, kernel concepts.
1 comment so far

Good news for me… after missing GUADEC and other interesting events it looks like I’ll make it to the first Maemo Summit in Berlin. The list of participants is quite impressive – I guess this will be a really interesting event. Just join us there :-)

I read a few lines about odeviced… anyone else who thinks that using something like this for Maemo might be a goo idea?

I do not have much time left for blogging and coding currently – family and work keep me busy these times. But a few good things are in prgress – OpenSync’s roadmap indicates that they are close to a new release. This will be a much better base for MaemoSync than current SVN trunk. Even GPE makes a little bit of progress. Graham continues fixing various PIM bugs and gpe-memo is close to become ready for its first release.

Have a nice time…

LinuxTag is (almost) there May 27, 2008

Posted by Florian in Linux, Maemo, OpenEmbedded, Source.
add a comment

In a few hours LinuxTag 2008 will open its gates. There is a large booth for mobile and embedded Open Source projects in hall 7b – I’ll be there for OpenEmbedded. GPE is there and right next to us there is the booth of the OpenMoko folks.
Logo

Using CMake for Maemo development April 11, 2008

Posted by Florian in Linux, Maemo, Source.
add a comment

Since OpenSync switched to CMake build system I had to get along with CMake in the Maemo SDK. I have to admit the fun was limited. In fact CMake has some advantages over autotools – most notably: It is much faster. One major drawback is that it is more complicated to use pkg-config with it.

I have never worked with CMake before, but OpenSync had some quite good examples how to check and support additional libraries. So I hacked cmake support for some basic Maemo components (libhildon, libosso) and Maemo-like Debian packages.

My cmake files can be found here:

http://www.kernelconcepts.de/~fuchs/maemo/

CMake itself is in the official extras-devel repository at maemo.org. Just add this line to your sources.list:

deb http://repository.maemo.org/extras-devel chinook free

The package is available for all other SDKs from the same location.

The DpkgDeb.cmake file is based on the updated DpkgDeb.cmake by Mehdi Rabah. The other ones are based on random files found in OpenSync SVN.

Maemo Sync packages April 2, 2008

Posted by Florian in GPE, Maemo, Source.
3 comments

I have made an installable package for Maemo Sync, but do not expect too much. Its a basic port of the current Multisync-gui to Maemo. It is only tested to so far that the GUI starts up and registeres correctly. The fact that I had to use cmake for building Maemo software caused some headaches here… the quality of the source distribution package is still quite bad.

I also did not decide if I want it to become a project forked from Multisync-gui or to maintained with Multisync-gui adding optional support for Maemo environment. The always changing OpenSync API would be a reason to stay with Multisync-gui, but the fact that I have different opinions about UI design, Glade is involved and cmake are reasons for making it a separate project.

Binary package and sources are located here. You also need the OpenSync packages from Graham’s daily repository.

Another minor improvement of the GPE application packages in this repository is that latest Starling supports OGG playback. You only need to have an OGG plugin for GStreamer installed. The mogg package provides this for example.

Any feedback is welcome – if you manage to sync data with either the command line tool msynctool or using Maemo Sync please drop me a line. I would like to collect information which sync peers work with latest OpenSync and how to set up these.

Enjoy!

GPE trademark rejected March 28, 2008

Posted by Florian in GPE, LinuxToGo, Source.
16 comments

Some weeks ago the USPTO rejected the GPE trademark again – finally!

This is great news for the GPE project which really suffered from this situation. The latest entries in the ‘prosecution history’ look nice:

2008-02-27 – Notification Of Final Refusal Emailed
2008-02-27 – Final refusal e-mailed
2008-02-27 – Final Refusal Written

The complete attempt by Mr. France to register GPE as his personal trademark is publicly available at the USPTO website. Some background information can be found in this article. The handhelds.org website still claims several trademarks, but the related project become more and more obsolete. The hh.o bootloader is used for ancient hardware only or replaced by U-Boot and ipkg gets replaced by the much better maintained OPKG. Its a little bit sad that the Opie projects are not that active any more though…

Logo

Maemo, S60 and a nice reward March 27, 2008

Posted by Florian in GPE, Linux, Maemo, Source, kernel concepts.
7 comments

I made some progress porting the multisync-gui to Maemo. The idea is to offer an easy to use graphical user interface for synchronizing data between the Maemo based tablets and other devices. The OpenSync framework that is used offers several plugins for interfacing data sources already. The most interesting ones are the two SyncML ones (HTTP server and client) and the GPE plugin we can use for the PIM applications on the Maemo device.

Sync GUI

Currently it is far from beeing useful, but there are some windows to make screenshots now :-) The first thing I want to archieve is to be able to sync PIM data from a Series60 cellphone.

Speaking about Series60 – I received my Forum Nokia Champion diploma today which came with a great target device for syncing experiments :) Many thanks to Nokia for this nice reward and for the great Forum Nokia Champion program and to Nils who suggested me for it!

Diploma

How to make a mobile Logic Analyzer February 13, 2008

Posted by Florian in Linux, Maemo, OpenEmbedded, Source, kernel concepts.
Tags: , , , , ,
3 comments

Making a useful mobile Logic Analyzer is quite a challenge, but the basic needs are there. sump.org has a nice VHDL design and Java software for a 32 channel Logic Analyzer
based on a Xilinx Spartan FPGA. The whole design is GPL licensed. The current VHDL implementation is available for several Xilinx FPGA evaluation boards and uses a serial port for communication with a device (usually a PC) running the GUI software. The FPGA board takes care about sampling and buffering of the sample data before it is transferred to the controlling device.

Robert Schuster of tarent did a great job to get the Java software running on a Nokia N800 and on the Neo1973.

Java frontend on N800

Frontend running on e Neo1973
It was not too complicated to make the VHDL part work on an inexpensive Spartan-3E eval board. This hardware of course does not really fit the needs for two reasons: First it is too big to accompany a mobile consumer device such as a N810 or the Neo 1973. Second it does not support other input signal levels than 3.3V which is a real showstopper. A better hardware design that fits the needs based on a small FPGA industry module, a battery and some line drivers would be easy to do… but that’s something for a new story later :-) Before that I need to get a serial connection from a N810 to the board and check how the software performs on this device…

The board I used for my test was a Xilinx Spartan-3E Starter Kit.Ther is quite some room for improvement since a a major share of the FPGAs blocks are unused and it does not yet make much of use of all the nice features on the board such as external RAM, flash, display and USB.

Additional screenshots can be found at http://scap.linuxtogo.org.

LinuxToGo project news December 12, 2007

Posted by Florian in Linux, LinuxToGo, Maemo, Source.
add a comment

There are some cool things going at LinuxToGo – maybe the most notable is that the Linux on Smartphones project started to become active after sleeping for more than one year. The basic idea of this project / freesmartphone.org is to create a place for collecting, defining and implementing open standards for Linux driven smartphones. That means doing for mobile phones what freedesktop.org does for the desktop environments. Its quite interesting to take a look – there is quite some content yet.

Finally there is a new project some developers (including me) were waiting for a long time. The mobile-linux project joins efforts of projects porting Linux to all sorts of mobile devices. One important change in contrast to a similar but older project is that mobile-linux aims on merging its work upstream. It does not only provide a GIT repository but also a mailinglist for discussing kernel related topics. It would be cool if some more project joined this initiative in order to get in touch with each other.

There is a new release of gpe-sudoku which includes a lot of fixes and minor improvements. It is supposed to work in a plain GTK (non-Maemo) environment too and the Maemo variant works much better now. Packages for Chinook and Bora are avalilabe from here. Please report bugs!

Enjoy….