Microcontroller - 8051, 8052, OpCodes, Analog Interface.

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

WinAVR - OSS for Atmel AVR RISC

WinAVR (pronounced "whenever") is a suite of executable, open source software development tools for the Atmel AVR series of RISC microprocessors hosted on the Windows platform. It includes the GNU GCC compiler for C and C++.

WinAVR - OSS for Atmel AVR RISC

WinAVR contains all the tools for developing on the AVR. This includes avr-gcc (compiler), avrdude (programmer), avr-gdb (debugger), and more!

You can try WinAVR out with Portable WinAVR, a version that doesn't require an install.

AVRFreaks.net - Discussion, Links, Tools, Datasheets.

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.

ASIX Electronics Corporation - Fabless Semiconductors

ASIC and SoC for networking, communication and connectivity applications. ASIX was founded in May 1995 in Hsinchu Science Park.

ASIX Electronics Corporation - Fabless Semiconductors
  • Embedded Networking Solution: Fast Ethernet, Gigabit Ethernet
  • Bus Connecting Solution: USB 1.1, USB 2.0
  • Integrated SoC Solution
The AX11025, Single Chip Microcontroller with TCP/IP and 10/100M Fast Ethernet MAC/PHY, is a System-on-Chip (SoC) solution which offers a high performance embedded micro controller and rich communication peripherals for wide varieties of application which need access to the LAN or Internet.

AX11025, Single Chip Microcontroller

AX11025 provides very cost effective networking solution to enable simple, easy and low cost Internet connection capability for many applications such as consumer electronics, networked home appliances, industrial equipments, security systems, remote data collection equipments, remote control, remote monitoring and remote management.

ASIX Electronics Corporation
4F, No.8, Hsin Ann Rd., Hsinchu Science Park, Hsinchu,Taiwan 300

Tuesday, August 03, 2010

IAR Systems - Embedded Systems Tools

Software tools for embedded systems, Like C/C++ compilers and debuggers, State machine tools, RTOS, TCP/IP and USB stacks; for 8, 16, and 32-bit microcontrollers. Helps in developing professional products in the areas of industrial automation, medical devices and automotive products.

IAR Systems - Embedded Systems Tools

IAR Systems provides completely integrated kits for development of embedded applications based on ARM, 8051, ColdFire, R8C/M16C/M32C and AVR32.

EFM32 Gecko Development Kit

EFM32 Gecko Development Kit 

Contains EFM32-G8xx, EnergyMicro evaluation board and IAR Embedded Workbench for ARM 32K limited edition.

IAR Systems AB
Strandbodgatan 1 Uppsala Sweden

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.