|
|
|
|
Real Time Operating System uC/OS-II – the AT91R4008 port (ARM7 core) |
From the beginnings of the uC/OS-II RTOS (www.micrium.com) existence has the
implementation for ARM (www.arm.com) based CPUs.
This ports are usually made using Micrium application note and thus they are ignoring some microcontroller specific needs.
The main problem with existing implementation is that they are using 32 bits instructions in native so called ARM mode
which is a quite problematic on microcontrollers with 16 bit data bus. The effect such approach is the delay of fetching
instructions from memory (apart of memory wait cycles there are needed two full fetch cycles for each instruction).
Because of this bottleneck all profits from ARM RISC (32 bit instruction executed in one CPU clock cycle) architecture
are lost.
Our implementation of uC/OS-II port for the AT91R4008 (www.atmel.com) uses both
modes of ARM CPU - 16 bit THUMB and
native 32 bit ARM. The 16 bit mode so called THUMB is used for main part of system and for user tasks. The 32 bit mode
is reserved for system low level routines (like context switching) and for interrupt service routines (ISR). As a additional
future of our port we can (because of its small size) place 32 bit mode code into very fast internal SRAM (o wait cycles).
As an effect we get the fastest execution for the most critical parts of the system and ISRs - they are executed with full
speed offered by 32 bit ARM core.
The another feature, important for economic aspect of the whole project, is usage of GNU tool chain for compilation
(gcc.gnu.org), linkage (
sources.redhat.com/binutils) and bootloading (sources.redhat.com/redboot)
of the system.
Aside of the uC/OS-II port there was prepared programming interface (API) for peripherials embedded into AT91R4000X
family (USART, timer/counter, watchdog, external bus interface, power saving, interrupt controller, I/O ports). Using
those functions there was implemented handle of RTC chip (DS1302), TCP/IP protocol (using the W3100A chip from Wiznet -
www.iinchip.com)) and HTTP server (version standard 1.1).
It was possible to perform this project thanks to support from the Elsta company (www.elsta.pl)
and cooperation with AGH employee.
Authors: Artur Lipowski (LAL@pro.onet.pl), Cezary Worek (project coordinator).
|
Our modules based on uC/OS-II systems
download |
|
|
|
|
|
|
News |
I can safely recommend you entering "Projects"
branch. There gonna apear the most interesting works
on electronics field. |
|
|
|
|