Tag Archives: Embedded

H265/HEVC using Gstreamer on Snapdragon 820 (Linux)

If you’ve been doing any Linux development recently on the Qualcomm Snapdragon 820, then you’re probably using the Linux kernel that Linaro are looking after on behalf of Qualcomm.

Linaro’s development is progressing well but I still occasionally come across something that hasn’t yet been implemented in the 820’s Linux kernel, particularly in the Venus codec driver. The Venus codec driver does generally work well but I have occasionally needed… Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , | Comments Off on H265/HEVC using Gstreamer on Snapdragon 820 (Linux)

RTOS for DaVinci DM365/DM368

Atomthreads RTOS now supports DaVinci DM365/DM368, the digital media processor from Texas Instruments.


The ARM9-based device comes with a wide range of source code and libraries for Linux, but there was previously no open source RTOS alternative for customers who would prefer to use a more lightweight scheduler. One of the major benefits of using an RTOS on the DM36x SoCs is to significantly reduce the startup time, from power-on to video recording.… Continue reading

Posted in Projects | Tagged , , , , , , | Comments Off on RTOS for DaVinci DM365/DM368

OpenEmbedded for Marvell Kirkwood

I recently published a BSP layer to add support for Marvell Kirkwood devices to OpenEmbedded, the build framework for embedded Linux. The Kirkwood SoC is used in several common products including plug computers like the Sheevaplug, and the BSP allows you to run OpenEmbedded-based distributions such as Angstrom on these devices.

Posted in HowTo | Tagged , , , , , , | Comments Off on OpenEmbedded for Marvell Kirkwood

Using DaVinci DM365 Codecs Without Linux

Developers making Linux-based products with the Texas Instruments DaVinci DM365 or DM368 will find a plethora of example source code and libraries that allow you to easily build your own applications. However if you want to build a non-Linux product (to use your existing RTOS for example) you will find little guidance on where to start.… Continue reading

Posted in HowTo | Tagged , , , , , , , , , | Leave a comment

Universal Device Driver Framework for Embedded Systems

Recently I’ve been considering how useful it would be if the embedded systems world had something similar to Perl’s CPAN: an open repository of software modules useful for embedded systems and portable across any RTOS. This was partly triggered by a thread on StackOverflow from someone who wanted to know why he couldn’t find a ready-rolled device driver to interface his CPU with a peripheral device.… Continue reading

Posted in Uncategorized | Tagged , , , , , | Comments Off on Universal Device Driver Framework for Embedded Systems

RTOS for Raisonance RCSTM8

Atomthreads now contains support for Raisonance’s STM8 compiler RCSTM8. We now support all three available STM8 compilers (Cosmic, IAR and Raisonance) so you can choose to use Atomthreads for a project safe in the knowledge that switching compilers will be pain-free.… Continue reading

Posted in Uncategorized | Tagged , , , , , , , , | Comments Off on RTOS for Raisonance RCSTM8

STM8 RTOS for IAR Embedded Workbench

This week Atomthreads became the first RTOS to support Embedded Workbench (EWSTM8), the STM8 compiler launched by IAR last month. EWSTM8 provides a full professional-grade development and debug environment with support for hardware debuggers including the low cost STM8S Discovery platform. IAR offer a 30-day evaluation of the full version, as well as a time-unlimited 8KB “Kickstart” edition (with a few non-core features disabled).… Continue reading

Posted in Projects | Tagged , , , , , , , , | Leave a comment

Atomthreads: Free RTOS for STM8

I have just completed a port of the Atomthreads RTOS to the STM8 microcontroller. Anyone interested in running an RTOS on the STM8 can download the source code from http://atomthreads.com.

This has to be one of the easiest architectures I’ve ever ported an RTOS to. There are only six CPU registers and only three of these are general purpose registers for compiler use. Continue reading

Posted in Projects | Tagged , , , , | Leave a comment

Atomthreads: Open Source RTOS

Last week I released Atomthreads, a free RTOS for embedded systems. This project grew from a task scheduler I created some time ago and subsequently extended with semaphore, mutex, queue and timer modules. The result was a lightweight and portable set of kernel sources which can be dropped in to any embedded systems project to add a thread scheduler. It has been useful to me so I decided to open source it in case it proves useful to anyone else. Continue reading

Posted in Projects | Tagged , , | 1 Comment

STM8S Discovery Evaluation Board

I came across the STM8S Discovery board today, which is selling at the notable price of just £4.25 from Farnell (also £4.22 from Future Electronics). With this pricing, ST are clearly trying to stimulate interest in the STM8 architecture by appealing to the tinkerer market. It remains to be seen whether this can be converted into serious design wins.

STM8S Discovery

Posted in News | Tagged , , | Leave a comment

Omnima Embedded Controller and OpenWRT

If you’re in the market for a low cost embedded Linux development board then look no further than the Omnima embedded controller. £23 gets you a MIPS platform with Ethernet and USB host ports, 16MB of RAM and (via OpenWRT) a wide-ranging repository of pre-packaged Linux applications and libraries. Compared to the likes of the Arduino, this is a lot of bang for your buck.


Posted in HowTo | Tagged , , , , , , | Leave a comment

eCos Synthetic Target with Ethernet

One of the convenient features of the eCos real time operating system is the ability to develop and test code on your Linux development PC without downloading to target hardware. This can be done using hardware emulation (via QEMU or VMWare) or just using the built in “Synthetic Target” support. I have documented here the various steps required to install and configure the Synthetic Target on Linux (Ubuntu). As well as supporting basic eCos threading you can even run networking applications in this environment via the bundled synthetic Ethernet driver.

Posted in HowTo | Tagged , , , , , , , , | 1 Comment