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
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.
Anyone keen to experiment with Atomthreads RTOS development can now download a ready-made Docker container that contains a full development environment including compilers and simulators: https://registry.hub.docker.com/u/kelvinlawson/atomthreads/
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
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
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
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
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
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
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
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.