arrowProjects
Data: piątek, 27 września 2024 r.


Menu
Start
Curriculum Vitae
Research
Projects
Teaching
Useful software


Projects


  
 
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
Pictures                                                                                                                             download
Wheather you want to ask us some questions                                                    write an email
    

         
News
I can safely recommend you entering "Projects" branch.  There gonna apear the most interesting  works on electronics field.

 


 

top
©2004 by RFR. All rights reserved. Engine under GNU/GPL License  powered by Powered by MOS