jump to navigation

Projects at kc February 9, 2010

Posted by Florian in kernel concepts, Linux, OpenEmbedded.
add a comment

I hope a few people wondered why my blog looked a little bit neglected in the past few months. Well finally I can say that I have been busy with several larger projects I was not supposed to talk about.  For two projects I am involved in there are related press releases from our customers and business partners.

One project is the Linux port to the Höft & Wessel skeye.pos mobile – I really like the press release because it mentions the fact the supplied devices are running Linux and what the devices are used for. The filesystem on these devices is built with OpenEmbedded and is based on an older Angström release.

The other big project is closely related to both my job for kernel concepts and OpenEmbedded which is one of my favourite open source projects. The µCross distribution will support chip- and device vendors who are going to ship Linux-based solutions. The main idea is to combine the power OpenEmbedded and its large community with a good portion simplicity and a few additions. I do not want to mention too many boring details here so I will just introduce the basic concept: The idea is to offer customers binary packages matching their target architecture, matching toolchains and tools for assembling and configuring filesystem images for their devices.

There is not really an offical announcement yet but one of our business partners just announced a nice SBC module which will come with a µCross-based SDK. The TK71 is a QSeven format module powered by a Marvell 88F6281 SoC (Sheeva core based).

A third project that gained some love is the updated Linux port to the Toshiba Topas910 and TopasA900 boards. I am trying to maintain an upstream compatible and up to date Linux port to these devices here – for the people who do not want to use several year old kernels or this strange Aura stuff.  The latest achievement is that I got some patches to make NAND flash work which is vital for the TopasA900 because its small NOR flash can’t keep a decent filesystem image with GUI.

Ok now I’m done with showing off and I should return to do something useful… such as writing a short report about FOSDEM!

LinuxTag Summary July 6, 2009

Posted by Florian in OpenEmbedded.
4 comments

Finally… back from LinuxTag I had to go through a big pile of mails and write a lot of answers. I hope I didn’t forget too many important replies :-)

I spent most of the time at the OpenEmbedded stand and even with enough OpenEmbedded people at LinuxTag I didn’t manage to attend a single talk. But the OE presentation was much better prepared compared to last year: We had a nice A0-sized poster with the new logo, Marcin brought 2500 printed flyers and we had adhesive tape. (Adhesive tape is useful because people in the neighbourhood of your booth are going to like you :-) Of course we had interesting devices to show: I collected some decices at home and at the office with the focus on useful devices to get started with embedded Linux (such as the BeagleBoard and a Micro2440).

I built a kind of demo stand for the BeagleBoard and the PICO projector to reduce the cable and device chaos a little bit. It is made from an A5 advertisement sheet holder and a cellphone tripod. The photo shows the idea but most of the necessary cables are missing.

BeagelBoard Demo Stand

BeagelBoard Demo Stand

We experienced some trouble with my old B4 BeagleBoard and latest filesystem images but the nice guys from the BeagleBoard/TI booth helped us out with a shiny new one – many thanks!

While we are on it… some more people deserve thanks: Marcin for flyers and his presence at the booth, Philip Balister who spent a lot of time at the booth too as well as pHilipp Zabel, Henning Heinold and Robert Schuster. Then there is Tarent who sponsored and organized the Embedded Area and managed to bring a pretty good supply for coffee :-)

The next important event for OE will be the upcoming OEDEM (the OE Developer Meeting). Please take part in the poll for the date when it should take place. We are still searching for a good location – in central Europe preferrably… suggestions are very welcome.

Have a good time…

PS: If someone has a good picture of the OE booth… I’d like to attach one here to this blog.

Update: Marcin has a photo he took at the OE stand:

Devices at OE Stand

Another photo - by Petra Kirchner

Another photo - by Petra Kirchner

Anjuta Plugin for OpenEmbedded SDK June 18, 2009

Posted by Florian in Devices, kernel concepts, Linux, OpenEmbedded, Source.
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!

LinuxTag, GSoC and some progress… June 3, 2009

Posted by Florian in Devices, GPE, kernel concepts, Linux, Maemo, OpenEmbedded.
Tags: , , , , , , , ,
2 comments

Its time to make announcements… I should have done this earlier, but like always it takes me a while to find a free minute to write things down.

First is about OpenEmbedded: We will be present at LinuxTag from 24th to 27th of June in Berlin/Germany. I just hope they have a little bit more space for us at the Embedded Area compared to last year. We usually have a lot of interesting devices running OE built Linux we can show. I’m really looking forward to LinuxTag – I haven’t missed one for many years and its always a nice event with a good mixture of community members, business people and users.

LinuxTag

LinuxTag

Google Summer of Code is in progress for some weeks now and I’m in the great position to mentor a very interesting Maemo project… something I always wanted to see but noone found time to do it properly so far: Integrate the Maemo software framework into OpenEmbedded. The benefits are quite obvious – Maemo software will gain compatibility and quality by running on (and if necessary adapting to) various devices. Apart from the fact that Maemo is a pretty good open source framework attracting quite a lot of developers. This is something other devices can and should gain advantage from. Well rkirti made a pretty good description of the project which can be found here.

It would be pretty cool to see Maemo running on this nice device I received a few days ago…

micro2440_gpe

Micro2440 running gpe-mini-browser2

Its a FriendlyARM Micro2440 from Watterott Electronic – this one is equipped with the 7 inch display which gives some more “freedom” to the applications :-) Apart from this the hardware is the same I described in my previous post.

The screen geometry would match the one used by all Maemo devices so far, so it would not mess up all the graphical user interfaces. But there is still some work to do till the boards become a really good development platform. We can build useful filesystem images for them but the installation is still split up into too many steps and the up to date kernels still lack proper support for the camera and the wifi module.

I have made a toolchain to build software for both these devices and the Topas910. Together with an updated install instruction it can be found here at labs.kernelconcepts.de.  Now I’m investigating ways to integrate the toolchains with IDEs in order to simplify application development for mobile and embedded devices.

Micro2440 with Ultimate++ demo application

Micro2440 with Ultimate++ demo application

Here the device runs one of the Ultimate++ demo applications built with its IDE and the GPE-flavour cross toolchain built with OpenEmbedded. A friendly colleague found out what needs to be done to use it for ARM targets… it still needs a little help since Ultimate++ doesn’t seem to have an idea about pkgconfig and I’m not really happy with the size of the resulting binaries. But more about IDEs later…

Have a good time… and see you in Berlin!

A friendly Development Board May 26, 2009

Posted by Florian in Devices, GPE, kernel concepts, Linux, OpenEmbedded.
Tags: , , , , ,
7 comments

While we are at the topic ‘evaluation and development hardware’… here here a few lines about a similar piece of hardware. I promised to do something with a FriendlyARM board already – so I did. I choosed the Micro2440 because the board itself is very small and can be used for own design easily. The very similar Mini2440 has a lot of ports on board in contrast to the 2mm headers of the Micro2440. Both boards are available through local distributors in Europe and the US now so that its not necessary to place orders in China any more. Watterott Electronic was so kind to send me a Micro2440 board and the SDK baseboard for evaluation.

Micro2440 SDK

If you want to get started with embedded Linux the board might be exactly what you want: A 400MHz ARM9 based Samsung S3C2440A CPU which is pretty well supported by Linux. 64MB od RAM and the same amount of NAND flash and 2MB of NOR flash for a backup bootloader. The baseboard has the connectors for the serial ports, USB host and client, display, expansion and SD and adds an audio codec and an Ethernet chip. There are two variants available: One with a 3.5″ QVGA TFT (pictured) and one with a 7″ 800×480 TFT.  Both displays come with a touchscreen and in addition to this the board has a few buttons that can be used for a human interface. The whole SDK kit including Micro2440, SDK board, 3.5″ display cables and JTAG doesn’t cost more than 125 EUR incl. VAT which makes it even more appealing.

The ‘softer’ part of the SDK quite appealing too: The hardware is pretty well documented, even the schematics are available to the public. FriendlyARM released some demo images and Linux sources that are useful (but not perfect). The ‘Vivi’ bootloader used by the boards can be replaced with u-boot easily so that you get a 100% Open Source embedded development environment.

Thanks to the OpenMoko community the S3C is pretty well supported in Linux and u-boot. There is a public project providing up to date Linux, u-boot and QEmu supoort for these boards that can be found here. Like I usually do for a new piece of embedded or mobile hardware I used OpenEmbedded to built a GPE based filesystem image for it. Like you can see in the picture it works pretty well. For people interested in this I put together some notes I took and the binary images at KC Labs. Feel free to contact me about this… I plan to extend support for it a little bit and provide a toolchain and additional information.

Have a nice time!

PS: Sorry for the bad image this time, I had to use the webcam to capture it.

Linux Support for a Gem April 22, 2009

Posted by Florian in Devices, GPE, kernel concepts, Linux, OpenEmbedded.
Tags: , , , ,
2 comments

Some time ago I got a nice looking and interesting TOPAS910 evaluation board for the ARM based Toshiba TMPA910 series of SoCs. With its black PCB and golden labels for the expansion ports it is definitely the best looking evaluation board I have seen so far. But its interesting from a technical point of view as well and of course you can run Linux on it.

Topas 910 Board

Topas 910 Board

The TMPA910CRAXBG SoC on the board is based of an ARM9 core clocked with 200MHz and a pile of external interfaces such as:

  • TFT controller
  • USB client
  • NAND and NOR flash
  • SPI
  • Touchscreen
  • ADC
  • SD / MMC
  • UART

The board can be powered from the USB port, has Ethernet, a QVGA TFT display and all necessary interfaces to get started with the SoC.  Some details can be found here.

Board Details

Expansion Connectors

The initial Linux port was made by a company called BPlan known for their Amiga projects. They provide two ports: A real port to the hardware platform and one making use of some proprietary OpenFirmware-like bootloader. The latter is quite useless because it depends on calling its firmware for every hardware access but the 2.6.26 patch, bootloader and documentation they provide on their website are a good start. After a deeper look into the kernel patch it was clear that they left a lot of things to do: Only half of the TFT, NOR flash, USB, Ethernet anf the serial port are supported. It among other lacks a driver for SD, NAND, audio, the joypad and all the GPIO ports.

I wasn’t able to resist and started a small project to improve support for it. I have updated the kernel to 2.6.29, added gpiolib support and drivers for joypad and the small LED display which helped testing the GPIO drivers. Of course I have OpenEmbedded support for it ready and pushed upstream today – even if this still uses the old kernel it is useful to build a tiny userland that is able to live in NOR flash. Now I need to get some storage facility sich as SD or NAND flash working in order to deploy a proper filesystem image.

The TMPA910 is the chip in the BGA case in the center of the image.

The TMPA910 is the BGA case in the center of the image

I would be interested in getting to know any hardware that is using this TMPA910. The results of my work: Sources and a small demo image can be found at KC Labs. We haven’t announced it yet, but its there already: KC Labs is the new Open Source projects website at kernel concepts.

Enjoy!

A smart BeagleBrick March 29, 2009

Posted by Florian in Devices, GPE, Linux, OpenEmbedded.
Tags: , , , , ,
3 comments

Some time ago I wrote some lines about the nice combination of projected human interfaces such like the TI PICO projector for visual output and the ‘laser keyboard’ for input. The innovation you can gain from such a combination is a device whose interfaces dimensions can can differ from the dimension of the device quite a lot. After playing around and having an interesting time watching people using these technologies (e.g. at FOSDEM) I finally manged to create a device study combining the components into a single case. It turned out to be more complicated than I thought and the way to a ‘production ready’ device would involve a lot of research and improvement.The main idea was to have something you can touch and try if it can be useful.

But let’s take a look at it first – for now its just a kind of brick with a BeagleBoard and some more components inside.

"The Device" in action

"The Device" in action

From a technical point of view the contruction is quite simple – its just a collection of easy to get components:

  • TI BeagleBoard (Rev. B4 in this case)
  • Celluon CL850 “Laser Keyboard”
  • A tiny USB hub
  • TI PICO projector
  • Some custom USB cables
  • Huawei UMTS modem
  • One Bopla BOS 800 case
  • A small RS-MMC card for the root filesystem

The batteries didn’t fit into the case – the same problem like my GSM evaluation platform I intended to use for connectivity. Instead of this I had to use the Huawei modem but lost an easy to use audio part (I still would like to see these interfaces in some kind of smartphone) and the charger for Li-Ion batteries. The USB connected UMTS modem is advertized to have audio capabilities but there is no Linux support for this feature yet. Another component that caused some headaches is the HDMI cable for the PICO projector: It is thick and its big plugs waste a lot of space in the small case.

I removed the cases of USB hub and keyboard to make them fit into the case. From the BeagleBoard I had to remove the S-Video connector in order to reduce its height.

The current software is way less spectacular than you might think. Its a simple Ångström distribution GPE image built with OpenEmbedded. I had to replace Xorg with Kdrive in order to get the Xrandr extensions working and added some more software for testing such as an additional browser. This is not really the software you wold expect for a modern smart phone but its a good environment to test an uncommon mobile computer.

So what did I find out in the initial tests?

  • It looks very very geek!
  • Its useful to some extend but you need an even surface.
  • The mechanical design needs improvement. This ‘brick’ case is not really flexible and even a better arrangement of components (e.g. projector and keyboard side by side) would save a lot of space on the table.
  • It would be necessary to have a different lense for the projector: You want a wide angle lens to get a large projection area in a short distance drom the device. As you can see in the image the desk space you need is quite high but the image is still small.
  • The power consumption of the projector is a major problem. It is hard to power with batteries and in a plastic case it gets very hot.
  • Someone needs to come up with a clever holder for a sheet of paper to make it a useful screen. Suggestions welcome!
  • If I have the chance to do so I would like to try an improved prototype with a small secondary display, batteries and a keypad.
Typing on the table

Typing on the table

A device I could imagine would be a kind of a stand for a smartphone with built-in projector module. The next generation of projector modules should be small enough for this and comsule less power. The stand would allow the phone to stand upright on the table and provide the keyboard functionality. The advantage of this solution would be that you would not have to carry around the keyboard engine all the time. And because of the orientation of the phone you can get larger ‘screens’ if the projector is in the top end of the phones case. Maybe I should sketch this for the next blog entry… :)

Have a nice time!

Some good News March 14, 2009

Posted by Florian in LinuxToGo, Maemo.
add a comment

While the ongoing financial and ecomomic crisis seems to be the most popular topic for months now I try to make this blog a little more positive – some pice of contrast.

I has been a little bit quiet around LinuxToGo for quite a while. We didn’t manage to do more than the absolutely vital administrative tasks and the machine suffered badly from the high load. But there are some lights on the horizon: First I seem to have a little bit of time to work on it again – I managed to sort out the worst I/O bottleneck caused by having all I/O load on a single disk. Thanks to Jay7 for the hints! I wrote a few lines about the server status and some statistics here.

The second is that LinuxToGo has gained new sponsor: Bytemark Hosting sponsors a virtual server for us. Now we finally have the chance to distribute the load among two devices. Many thanks to Nick Thomas (lupine_85) for the idea and approaching us and his boss Matthew Bloch!

There are quite some good news in the Maemo world as well. First is that the Maemo Community Council elections have started – active community members have the chance to elect the council till the end of March 19th. Mer, the community driven distribution project for Nokia Internet Tablets and some more devices seems to evolve more and more – there is a quite interesting article about it at LWN.net.

The new Mameo 5 SDK Alpha release runs on BeagleBoard now too – Juha wrote a blog entry about this in the Maemo DT group blog.

While we are on this topic already… the BeagleBoard has gained an interesting companion: The Leopard expansion board which comes with a camera and ethernet. I do not know much about it yet, but it is based on the TI DaVinci DM355. I’ll try to find out more and update the information here.

The last thing I’d like to mention is a little bit offtopic… I found this interesting proof for engineering beeing a kind of art while repairing the amplifier in my living room:

pcb-design
Creative, isn’t it?

I hope you enjoyed this tiny pile of good news :-)

Have a nice time…

The ‘other’ BeagleBoard March 8, 2009

Posted by Florian in Devices, Linux, Maemo.
9 comments

I visited the Embedded World fair in Nürnberg on Wednesday this week together with some colleagues. Like always on events like this I stumble upon nice devices with Linux support… in fact embedded hardware like development platforms and devices for industrial use or consumer network stuff without running Linux seems to become uncommon. Just a few years back hackers had to search hard for useful devices or invest a lot of time reverse engineering consumer hardware. Unluckily cellphones are still problematic – even the linux ones are usually locked down so that they are not useful for developers.

But let’s stay with the ‘good’ ones: Karo Electronics showed a new low cost DIMM sized embedded module based on a 400MHz ARM9 CPU (The datasheet mentions Freescale, but lacks the name the chip.) A friend bought a similar one (a TX27) which came with full Linux kernel sources.

A real suprise was the booth of EBV: They build and sell their own BeagleBoard called EBVBeagle.

EBVBeagle (image source: EBV)

EBVBeagle (image source: EBV)

Its actually a BeagleBoard revision C2 with green PCB boxed with some useful accessories. It comes as a quite complete starter kit with AC adapter, USB to Ethernet adapter, MMC card, USB hub and some cables. The official press release can be found here. They claim (but not gurantee) to be able to deliver within two weeks. Looks like the only drawback is the minimum order value of 250 EUR which is – of course – more than the EBVBeagle kit.

Apropos Beagle Board – Maemo (which runs on the BeagleBoard too) has released some new bits. First  Maemo 5 alpha SDK is ready and released. This is pretty good for people using it on the Beagle Board because only the Maemo 5 SDKs support the OMAP3 SoC. For people who want to learn about Maemo development or development for Limux mobile devices in general there is a new Maemo Tutorial release. The Maemo Tutorial provides quite easy to understand and detailed information about Maemo platform and application development. It gives a lot of useful information about development for other Linux mobile device platforms as well.

Enjoy…

OE@FOSDEM – We do not sell keyboards! February 12, 2009

Posted by Florian in Devices, Maemo, OpenEmbedded.
3 comments

Last week I went to Brussels to help representing the OpenEmbedded project as FOSDEM. I did not manage to attend all the interesting talks but we had a pretty good time at the OE stand too. Luckily I managed to atted a talk about running Maemo on the BeagleBoard at least.  I brought the two ‘projecting peripherals‘ and my BeagleBoard with me which gained quite some interest. I somwhow got the impression that quite a lot of the people at FOSDEM now think that OE does sell keyboards ;-) Just to make this very clear: OpenEmbedded is a community driven project about compiling software for mobile and embedded devices – no hardware sales at all!

OE booth with some devices

OE booth with some devices and visitors

But even if we PICO beamer and laser keyboard are not our key competence these were quite well eyecaters: It was very interesting to watch people using the projected keyboard and beamer and find out what they like about it and to get to know for which needs this set of devices does not fit. Combining these into a single case starts to become a very appealing project. I have a (big) case for an initial test already, but making all components fit into it is not that easy – especially if you do not have time and resoures to make a custom board layout for it and you want GSM network connectivity included as well.

Beagleboard and keyboard engine with parts of the case

Beagleboard and keyboard engine with parts of the case

My Telit GSM modem evaluation kit would have been nice to use but its too big to fit into the case. I have ordered an UMTS modem with USB connector instead.

But back to OE:

I have to thank all the OE developers who helped to man the booth – most important Phillip (Crofton), Mans (mru) and Graeme (XorA) who where at the booth almost the whole time. And of course there is Atmel – they sponsored some NGW100 evaluation boards for interested OE developers and one for a raffle among our visitors.

Have a good time…

Follow

Get every new post delivered to your Inbox.