Microcontroller - 8051, 8052, OpCodes, Analog Interface.
Showing posts with label RTOS. Show all posts
Showing posts with label RTOS. Show all posts

Friday, December 12, 2014

uClinux - Embedded Linux Microcontroller

The original uClinux was a derivative of Linux 2.0 kernel intended for microcontrollers without Memory Management Units (MMUs). However, the Linux/Microcontroller Project has grown both in brand recognition and coverage of processor architectures

Today's uClinux as an operating system includes Linux kernel releases for 2.0 2.4 and 2.6 as well as a collection of user applications, libraries and tool chains.

uClinux - Embedded Linux Microcontroller Project

This is a picture of Rob Scott's Motorola M5206eLITE board.

Rob Scott Motorola M5206eLITE board.- ucLinux

The Linux/Microcontroller project is a port of Linux to systems without a Memory Management Unit (MMU).

Pronounced "you-see-linux", the name uClinux comes from combining the greek letter "mu" and the english capital "C". "Mu" stands for "micro", and the "C" is for "controller". uClinux first ported to the Motorola MC68328: DragonBall Integrated Microprocessor.

The first target system to successfully boot is the PalmPilot using a TRG SuperPilot Board with a custom boot-loader created specifically for our Linux/PalmPilot port.

The module has been tested with a port of RTLinux 0.9J. A copy of an early oscilloscope tracing can be found on the uCsimm Real-time port page

Thursday, April 05, 2012

NuttX RTOS - Scalable and Simple OS

Usable in all but the tightest micro-controller environments, The focus is on the tiny-to-small, deeply embedded environment. Fully scalable from tiny (8-bit)to moderate embedded (32-bit). Fully pre-emptible, fixed priority and round-robin scheduling.

NuttX RTOS - Scalable and Simple OS

Towards high degree of standards compliance. The primary governing standards are POSIX and ANSI standards. Free Service - Port NuttX to run on your custom hardware.- Gregory Nutt.

Sunday, November 13, 2011

Shift-Right Technologies – Turn-key Embedded Solutions

Electronic Product Design and Engineering Services. Embedded hardware and software development.

Shift-Right Technologies - Turn-key Embedded Solutions

Example Project - "Designed the RASID interface (electronic hardware, embedded real-time software and packaging), a PC peripheral used for industrial automation. This peripheral's design is based on a 16-bit DSP (TMS320LF2407) with 16 analog inputs 2 analog outputs, 41 digital I/O, serial I/O (RS-422) and a USB interface to the PC."

e(X)treme (M)inimal (K)ernel

XMK is a preemptive multitasking kernel for microcontrollers. Its goal is to provide a RTOS small enough (RAM+ROM) to run on 8bit microcontrollers. XMK provides additional/optional features when scaling up to 16bit and 32bit platforms.

Tuesday, September 07, 2010

Nano-RK - Wireless Sensor Networking RTOS

Nano-RK is a fully preemptive reservation-based real-time operating system (RTOS) from Carnegie Mellon University with multi-hop networking support for use in wireless sensor networks. Nano-RK currently runs on the FireFly Sensor Networking Platform as well as the MicaZ motes. It includes a light-weight embedded resource kernel (RK) with rich functionality and timing support using less than 2KB of RAM and 18KB of ROM.

Nano-RK - Wireless Sensor Networking RTOS

Features Include
  • C GNU tool-chain
  • Real-Time Priority Based Scheduling
  • Built-in Fault Handling
  • Energy Efficient Scheduling
  • Small Footprint <2K RAM, 16K ROM,
  • SLIPstream a simple gateway to IP
  • Eclipse IDE allows for easy development 

CMUcam5 Pixy

The CMUcam extends upon this idea by providing a flexible and easy to use open source development environment that complements a low cost hardware platform. The CMUcam3 is an ARM7TDMI based fully programmable embedded computer vision sensor. The main processor is the NXP LPC2106 connected to an Omnivision CMOS camera sensor module.

The goal of the CMUcam project is to provide simple vision capabilities to small embedded systems in the form of an intelligent sensor. The CMUcam open source programmable embedded color vision sensors are low-cost, low-power sensors for mobile robots. You can use the CMUcam vision systems to do many different kinds of on-board, real-time vision processing tasks

2014 - Pixy is a fast, low-cost vision sensor you can quickly “teach” to find objects, and it connects directly to Arduino and other controllers.

Thursday, August 05, 2010

YAVRTOS - Yet Another Atmel AVR OS

Chris O'Byrne created YAVRTOS for understanding how RTOS can be built and how they Tick.

YAVRTOS - Yet Another Atmel AVR OS

What is a real-time operating system?

Processors are only actually only able to do one thing at a time, whereas we need them to do more than one thing at a time (e.g. update the display while checking for keypresses while reading the serial port). A real-time operating system (RTOS) provides facilities for achieving that.

What is a task?

A task does one of the things (e.g. update the display, check for keypresses, read the serial port) that the application needs done. The real-time operating system allows tasks to execute concurrently, while providing facilities for e.g. tasks to communicate with each other.

What is a tick?

The RTOS needs to be able to switch between tasks - they way it does this is by using a regular processor interrupt (e.g. one of the timer interrupts). Every such interrupt is called a "tick". These interrupts must be set up before the RTOS is started.

My Notes -

There are two things to learn from Chris, build something to completely learn a concept. This is a tough but thorough way of learning. The easier way is to learn from examples. Hacking and Reverse Engineering also good for students to digest methods exhaustively.

The way chris follows leads to things like innovation/improvement and inventions. That is A Better way. This phrase is probably attributed to hp, now called Agilent Technologies. The computing/printing division carries the hp brand name.

I had once serviced a DMM by hp(agilent) decades ago. It had something like a custom 8039. This was decades back. It was a 5-1/2 or more. It had a Watchdog built with CMOS 40xx chips. I never understood watchdogs then, they were not even called watchdogs.

The "Tick" is the heartbeat of a RTOS, not only it keeps polling all peripheral chips or I/O, It cannot skip a beat, even high priority interrupts cannot stop the routine tasks or even delay them. If it has to sample a Analog level ten times a second and produce a output control byte at the same speed; It could be RTOS for Process Control. For a rocket this will not be RTOS. Speed and not missing a step. Many times faster than the process it is meant for, probably ?

scmRTOS - Preemptive Multitasking OS

Single-Chip Microcontroller Real-Time Operating System. OSS, tiny preemptive Real-Time Operating System intended for use with Single-Chip Microcontrollers.

scmRTOS - Preemptive Multitasking OS

For - MSP430 (Texas Instruments); AVR (Atmel); Blackfin (Analog Devices); ARM7; FR (Fujitsu); Cortex-M3.

Some Features are

  • Low Resource Requirements
  • Preemptive multitasking
  • Interprocess communication

Wednesday, August 04, 2010

TNKernel - Fast RT Kernel for Embedded Systems

TNKernel performs a preemptive priority-based scheduling and a round-robin scheduling for the tasks with identical priority. The current version of TNKernel includes semaphores, mutexes, data queues, event flags and fixed-sized memory pools. The system functions calls in the interrupts are supported.

TNKernel - Fast RT Kernel for Embedded Systems

Ports -Microchip PIC24/dsPIC; Freescale HCS08; ARM Cortex-M3; Freescale ColdFire.

Things of Interest - TN NET TCP/IP stack; USB bulk firmware.

Monday, August 02, 2010

Contiki - Open Source Multi-Tasking OS

Contiki is an open source, highly portable, multi-tasking operating system for memory-efficient networked embedded systems and wireless sensor networks. Contiki has been used is a variety of projects, such as road tunnel fire monitoring, intrusion detection, water monitoring in the Baltic Sea, and in surveillance networks.

Contiki - Open Source Multi-Tasking OS

Contiki is designed for microcontrollers with small amounts of memory. A typical Contiki configuration is 2 kilobytes of RAM and 40 kilobytes of ROM.

Contiki provides both full IP networking and low-power radio communication mechanisms. For communication within wireless sensor network, Contiki uses the Rime low-power radio networking stack.

The M-12 module from Redwire is a fast and easy way to create a 6LoWPAN, Zigbee, or general 2.4GHz 802.15.4 device without additional RF design or certifications and without the need for an external host microcontroller.  This is a Hardware for Contiki.

Instant Contiki
is a complete development environment in a single-file download: a virtual machine with all Contiki software development tools installed. All that is needed to start using and developing Contiki software is the free VMWare Player software, 4 Gb free hard drive space, and the Instant Contiki development environment.

Updated Oct 2013

Contiki is an open source operating system for the Internet of Things. Contiki connects tiny, low-cost, battery-operated and low-power systems to the Internet.

The Internet of Things is a collection of technologies that connect things—sensors and actuators—to the Internet, allowing the physical world to be accessed through software.

Monday, July 05, 2010

BeRTOS - Real Time Operating System

A RTOS which is also a OSS. Drivers and Libraries designed for the rapid development of embedded software.

BeRTOS - Real Time Operating System

BeRTOS was born as a extremely modular, highly optimized and fine-tuned operating system for embedded programming. As a result, each module has its own scope and can be used alone or in cooperation with other modules. It's even possible to use most of the drivers without activating the kernel module.

New architectures are supported at every new release. Here are a few
  • Arduino Duemilanove ATmega328P
  • ARM7TDMI Atmel AT91SAM7 series, NXP LPC2XXX series
  • ARM Cortex-M3 Luminary Stellaris (LM3S),ST Microelectronics STM32
Example projects using BeRTOS

This section includes real world examples of BeRTOS usage. These examples are full featured programs that you can download, compile and flash directly on your board.

DevelGPS - Stellaris

DevelGPS - Stellaris

The purpose of this project is to implement a portable GPS locator / geocaching finder with the Cortex-M3 based Luminary Micro LM3S1968 evaluation board. The device proposes a user interface to configure the GPS coordinates of a target location and shows on the OLED display the direction and distance to reach the target.

Tuesday, January 12, 2010

FreeRTOS - Portable Open-Source Mini RT Kernel

FreeRTOS is the cross platform de facto standard for embedded microcontrollers. FreeRTOS is designed to be simple and easy to use: Only 3 source files that are common to all RTOS ports, and one microcontroller specific source file are required, and its API is designed to be simple and intuitive.

FreeRTOS - Portable Open-Source Mini RT Kernel

Scaleable real time kernel designed specifically for small embedded systems. FreeRTOS is truly free, even for use in commercial applications. The FreeRTOS license does not pose any risk to your proprietary software.

STM32 Connectivity Line ARM Cortex-M3' /> </p> <p> <a href=

STM32 Connectivity Line ARM Cortex-M3 demo Including a uIP Embedded Web Server Example.
Features Include
  • Free RTOS kernel - preemptive, cooperative and hybrid configuration options.
  • The SafeRTOS derivative product provides a high level of confidence in the code integrity.
  • Official support for 23 architectures (counting ARM7 and ARM Cortex M3 as one architecture each).
  • FreeRTOS-MPU supports the Cortex M3 Memory Protection Unit (MPU).
  • Designed to be small, simple and easy to use.
  • Free development tools (Cortex-M3, ARM7, MSP430, H8/S, AMD, AVR, x86 and 8051 ports).
AN1264 Integrating Microchip Libraries with a Real-Time Operating System

Microchip publish an application note showing how to integrate their libraries and stacks with FreeRTOS.

Saturday, January 10, 2009

OnARM - ARM Developer Resource

"The ARM Cortex-M3 microprocessor is rapidly setting the standard for advanced microcontroller applications, a fact illustrated by a growing number of leading MCU vendors each providing a differentiated product, but based upon the same standard ARM architecture...."

OnARM - ARM Developer Resource
  • IDE, project manager
  • Evaluation Boards and Single-Board Computers
  • Device Programmers
Aug 2013 Update -

CMSIS - Cortex Microcontroller Software Interface Standard

The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series. 

CMSIS - Cortex Microcontroller Software Interface Standard

The MDK-ARM is a complete software development environment for Cortex-M, Cortex-R4, ARM7 and ARM9 processor-based devices. MDK-ARM is specifically designed for microcontroller applications, it is easy to learn and use, yet powerful enough for the most demanding embedded applications.