pico]OS for ARM7 (Many thanks to Jun Li and Ari Suutari)

Although this port is for ARM7 in general, two CPUs are supported directly: SAMSUNG S3C2510A CPU(ARM940T core) and Philips LPC2000. Other processors can easyly be added. Here is an excerpt from the readme.txt that Ari Suutari wrote:

This is a port of pico]OS to different arm chips. It has been tested with GCC 4.1.0 as compiler on following boards:

  1. Embedded Artists Quickstart ethernet board (see www.embeddedartists.com)
  2. Olimex LPC-E2129 development board (see www.olimex.com)

Both these boards use arm cpu from Philips LPC2000 family.

This port runs tasks in arm system mode (maybe user mode also someday?). Interrupts have their own stacks for each mode. The context switching is performed by handly stmfd/ldmfd instructions provided by arm CPU, and ideas for this are taken from previous pico]OS arm port (from samsung arm cpu), FreeBSD arm port and ethernut arm port. For details, see comments on assembly source files.


The original port for the SAMSUNG CPU was developed and tested with ARM's Software Development Toolkit (SDT) version 2.51. But it's not sure if the SAMSUNG port does still work because of the restructured directory structure. Maybe there is still some work needed to fix the makefiles.

The new port to Philips LPC2000 can be compiled with GCC. Please see the readme.txt in the ports/arm/ directory for details.