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/ Continue reading
There are instructions on the sigrok website for building sigrok for use on Linux. The build instructions are largely correct for Ubuntu 12.04, but there are a few problems you may encounter along the way.
Now up on my Github account is a tool for working with the .rawTI image format: https://github.com/kelvinlawson/rawti-tools. When tuning image sensors on the DaVinci DM365 and DM368 processors, you frequently need to generate raw image files in Texas Instruments’ proprietary .rawTI file format. These are raw Bayer images that are taken before most of the image pipeline has done any work on it (for example CFA interpolation, white balance gains etc). You use these .rawTIs file together with TI’s Image Tuning Tool to train features like the Auto White Balance algorithm, but you are limited in what you can you do to analyse the image yourself.
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
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.
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
I’ve been working on a compliance test suite for implementations of RFC3927 IPv4 Link-Local Address Selection, also known as AutoIP. It should prove useful to anyone implementing IP4vLL address selection on an embedded device by simulating a network environment with existing IPv4LL devices which the device will need to interoperate with in terms of address selection and conflict resolution.
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.
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.
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).
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.
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.
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 will be interesting to see whether they can convert this into any serious design wins. Continue reading
If you arrived here while looking for information on Kelvin’s Thunderstorm, you can read a great introduction at Electropaedia. From the article:
Kelvin’s Thunderstorm is an amazing water powered electrostatic generator, which can be made from simple materials at home or school, capable of generating a potential of tens of thousands of volts at its terminals. It was invented by Lord Kelvin (William Thomson) in 1867 and has no moving parts, depending on electrostatic induction and positive feedback for its operation. He called the device his water-dropping condenser.
I have recently connected up an Omnima Embedded Board to an Xbee device, using it as a low-cost and low-power controller for a home Xbee network. This article explains how to configure an Omnima with OpenWRT/Linux such that is capable of talking to an Xbee device using Python and Pyserial.
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.
Recently when packaging up a Windows installer for PyKaraoke I came across a problem with Py2exe’s handling of Pygame DLLs.
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.
If you caught the recent article I wrote about my Twitter Burglar Alarm you might be wondering what the point is in using a message broadcast service like Twitter for communicating with your home. Broadcast messages are pointless for most home automation purposes – and in some cases you may actually prefer the messages to be protected from viewing by the public.
A burglar alarm that tweets when an intruder enters the house? What with the fashion for Twitter lately, I thought I’d give it a go, and this also gave me the excuse I’d been looking for to try out the Arduino hardware platform.