Posted by Cliff Brake on 2009-08-06 |
This article describes how to cross compile a Qt application (named qt_tutorial) with OpenEmbedded, and several best practices you should consider. OpenEmbedded currently includes fairly good support for building Qt — both Qt Embedded and Qt X11. OE also includes a number of qt classes that make building Qt applications easy. One of the main [...]
Posted by Cliff Brake on 2009-07-30 |
The Gumstix Overo Pinout Spreadsheet has been updated with the Palo board connector pinouts, and a few mistakes have been fixed.
Posted by Cliff Brake on 2009-07-14 |
One task that is a often confusing to new OpenEmbedded users is how to capture changes to the source code for a package/recipe. First, lets review the progression in tools use to capture source code changes.
In days of yore, developers often used gnu diff to capture modifications to a source tree. The typical practice was [...]
Posted by Cliff Brake on 2009-06-20 |
Occasionally I am asked how Embedded Linux compares with Windows CE. I have spent the past 5 years doing mostly embedded Linux development, and the previous 5 years doing mostly WinCE development with a few exceptions, so my thoughts are no doubt a little biased toward what I understand best. So take this with a [...]
Posted by Cliff Brake on 2009-05-26 |
I’m currently dealing with a programming problem where I need access to several 64MB, file-backed data structures concurrently on an Embedded Linux system that only has 64MB of RAM. The data structures are fairly sparse (mostly zero data), and I typically only need to access small portions of them at any particular time. There is [...]
Posted by Cliff Brake on 2009-05-13 |
Very interesting news from MontaVista yesterday as they announced MontaVista Linux 6. It turns out they are using bitbake, which is the core of the OpenEmbedded build system. Along with the adoption of OpenEmbedded in many leading Embedded Linux efforts (Beagleboard, Gumstix, Bug Labs, etc), this is a resounding affirmation that the OpenEmbedded way of [...]
Posted by Cliff Brake on 2009-05-11 |
Although ssh and friends work really well for embedded systems, occasionally you want to set up a NFS root for development. One of the scenarios where nfsroot is useful is if you are making a lot of rootfs changes, and you don’t want to spend the time to reprogram the flash on the target system. [...]
Posted by Cliff Brake on 2009-04-24 |
The cm-x270 kernel support in OpenEmbedded has just been updated to version 2.6.29.
Posted by Cliff Brake on 2009-03-19 |
The Wi2Wi W2CBW003 is a highly integrated module that provides both Wifi and Bluetooth radios for embedded designs. This module is ideal for embedded designs, as it provides a lot of functionality in a small package and includes standard interfaces like SPI, SDIO and serial that connect with most embedded CPUs. With the [...]
Posted by Cliff Brake on 2009-03-04 |
Marcin just published an interesting article about memory performance on various embedded systems using the hdparm -T as a simple benchmarq. This test gives a pretty good indicator of memory performance in the system. From the hdparm man page:
Perform timings of cache reads for benchmark and comparison purposes. For meaningful results, this operation should be [...]
Posted by Cliff Brake on 2009-02-20 |
Having used OpenEmbedded for a number of Embedded Linux projects over the past 5 years, it is interesting watching new users come on board. The most recent announcement came from Koan that the KaeilOS distribution will be joining the OpenEmbedded project. In the announcement, they summed up my thoughts well:
We at KOAN wanted to avoid [...]
Posted by Cliff Brake on 2009-02-07 |
One thing that works really well in Linux is support for USB Broadband modems. While it usually takes a little fiddling with PPP scripts, it is generally not too difficult to get working. One of the reasons for this is most modems implement a USB serial interface, and then the modem is controlled [...]
Posted by Cliff Brake on 2009-01-28 |
The Socketcan test applications and utilities are now available in OpenEmbedded. The socketcan kernel modules already exist in OE. To build and deploy:
get the latest version of OE metadata
bitbake socketcan-utils-test
scp <oedir>/build/angstrom-2008.1/tmp/deploy/glibc/ipk/<machine>/socketcan-utils-test_0.0+svnr917-r0_armv5te.ipk root@<target IP address>:
And then on the target system:
opkg install socketcan-utils-test_0.0+svnr917-r0_armv5te.ipk
opkg files socketcan-utils-test
/usr/bin/tst_bcm_rx_sendto
/usr/bin/tst_bcm_tx_sendto
/usr/bin/canlogserver
/usr/bin/tst_raw_filter
/usr/bin/tst_raw
/usr/bin/isotpsniffer
/usr/bin/isotpsend
/usr/bin/tst_bcm_throttle
/usr/bin/tst_packet
/usr/bin/vcan
/usr/bin/isotprecv
/usr/bin/cansniffer
/usr/bin/tst_bcm_tx_read
/usr/bin/tst_err
/usr/bin/log2asc
/usr/bin/tst_bcm_single
/usr/bin/tst_filter_master
/usr/bin/canplayer
/usr/bin/cangen
/usr/bin/slcanpty
/usr/bin/log2long
/usr/bin/tst_bcm_rtr
/usr/bin/asc2log
/usr/bin/slcan_attach
/usr/bin/tst_bcm_filter
/usr/bin/cansend
/usr/bin/canecho
/usr/bin/tst_filter_server
/usr/bin/tst_bcm_cycle
/usr/bin/tst_bcm_dump
/usr/bin/isotpdump
/usr/bin/candump
/usr/bin/tst_raw_sendto
/usr/bin/isotptun
/usr/bin/tst_bcm_server
/usr/bin/tst_proc
/usr/bin/canbusload
An impressive array of utilities!
Posted by Cliff Brake on 2009-01-26 |
I just added a recipe to OpenEmbedded to build the Socketcan kernel modules from the socketcan SVN. So if you are using the latest OpenEmbedded metadata, you can:
bitbake socketcan-modules
scp <oedir>/build/angstrom-2008.1/tmp/deploy/glibc/ipk/<machine>/socketcan-modules_0.0+svnr917-r0_cm-x270.ipk root@<target IP address>:
and then on the target system:
opkg install socketcan-modules_0.0+svnr917-r0_cm-x270.ipk
opkg files socketcan-modules
Package socketcan-modules (0.0+svnr917-r0) is installed on root and has the following files:
/lib/modules/2.6.27/extra/net/can/can-bcm.ko
/lib/modules/2.6.27/extra/drivers/net/can/sja1000/ems_pci.ko
/lib/modules/2.6.27/extra/net/can/can-raw.ko
/lib/modules/2.6.27/extra/drivers/net/can/sja1000/sja1000.ko
/lib/modules/2.6.27/extra/drivers/net/can/softing/softing.ko
/lib/modules/2.6.27/extra/drivers/net/can/sja1000/ems_pcmcia.ko
/lib/modules/2.6.27/extra/drivers/net/can/sja1000/sja1000_platform.ko
/lib/modules/2.6.27/extra/drivers/net/can/can-dev.ko
/lib/modules/2.6.27/extra/drivers/net/can/softing/softing_cs.ko
/lib/modules/2.6.27/extra/drivers/net/can/sja1000/pipcan.ko
/lib/modules/2.6.27/extra/drivers/net/can/mcp251x.ko
/lib/modules/2.6.27/extra/net/can/can.ko
/lib/modules/2.6.27/extra/net/can/can-isotp.ko
/lib/modules/2.6.27/extra/drivers/net/can/vcan.ko
Then to use [...]
Posted by Cliff Brake on 2009-01-22 |
As we look at new projects, both the Intel Atom and the TI OMAP3 processors generate considerable interest. As we have already shown, the OMAP3 does offer a considerable performance improvement over earlier generations of ARM CPUs. The following video I found on YouTube shows a similar comparison of a OMAP3 and Atom systems rendering [...]