Tag Archives: RTOS

ADC3101 and miniDSP Firmware

I recently added audio capture support to an Atomthreads-based product. I used a Texas Instruments audio codec, the TLV320ADC3101, for which I wrote a device driver from scratch for the Atomthreads real time operating system.

The ADC3101 contains an embedded programmable DSP called the “miniDSP”, which you can build your own firmware for and upload to the device at startup. One… Continue reading

Posted in HowTo | Tagged , , , , , , | Comments Off on ADC3101 and miniDSP Firmware

Travis CI for Embedded Software Builds

Travis CI now allows you to run your own Docker containers to perform automated builds. This means embedded software developers making use of unusual toolchains can take advantage of cloud-based CI tools which previously frequently only offered a selection of “standard” toolchains: ruby, JS etc.travis

Posted in HowTo | Tagged , , , , | Comments Off on Travis CI for Embedded Software Builds

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

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

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