You are on page 1of 40

1

OSE Epsilon for ARM

OSE Epsilon for ARM

Release Notes

Enea Embedded Technology

Copyright
Copyright 2005 by Enea Embedded Technology. All rights reserved. No part of this publication may be reproduced, transmitted, stored in a retrieval system, or translated into any language or computer language, in any form or by any means, electronic, mechanical, optical, chemical or otherwise, without the prior written permission of Enea Embedded Technology. If, however, your only means of access is electronic, permission to print one paper hardcopy is hereby granted. The software described in this document is furnished under a licence agreement or a non-disclosure agreement. The software may be used or copied only in accordance with terms of agreement.

Disclaimer

OSE Epsilon for ARM

Enea Embedded Technology makes no representations or warranties with respect to the contents hereof and specifically disclaims any implied warranties of merchantability or fitness for any particular purpose. Further, Enea Embedded Technology reserves the right to revise this publication and to make changes from time to time in the contents hereof without obligation to Enea Embedded Technology to notify any person of such revision or changes.

Trademarks
OSE is a registered trademark of Enea Embedded Technology.

EArmRN 4.6
OSE Epsilon/ ARM

1
Contents
1 About this manual 2 Installation
2.1 Before You Begin Installation 7 2.2 Installation Procedure 7 2.3 Uninstalling OSE Epsilon 7

5 7

3 System Requirements

OSE Epsilon for ARM

3.1 Target System 9 3.1.1 Supported Processors 9 3.1.2 RAM Memory Requirements 9 3.1.3 ROM Memory Requirements 9 3.2 Development Environment 10 3.2.1 ARM Developer Suite, ADS 10 3.2.2 IAR Embedded Workbench for ARM 10 3.2.3 GNU GCC Compiler Suite 10 3.2.4 GHS 10 3.2.5 ARM Real View Developer Suite 10

4 Delivery Structure
4.1 Kernel 12 4.1.1 ARM Kernels 12 4.1.2 Utilities for ARM Kernels 12 4.2 BSP 13 4.2.1 Board Atmel AT91EB01 14 4.2.1.1 Files for ARM ADS Environment 14 4.2.1.2 Generic Board Files 14 4.2.2 Board Atmel AT91EB55 15 4.2.2.1 Files for ARM ADS Environment 15 4.2.2.2 Generic Board Files 15 4.2.3 Board Atmel AT91SAM7S-EK 16 4.2.3.1 Files for ARM ADS/RVCT Environment 16 4.2.3.2 Generic Board Files 16 4.2.4 Board ARM Evaluator-7T 17 4.2.4.1 Files for ARM ADS/RVCT Environment 17 4.2.4.2 Generic Board Files 17 4.2.5 Board ENEA EVK A7 17 4.2.5.1 Files for ARM ADS/RVCT Environment 17 4.2.5.2 Generic Board Files 17 4.2.6 Board IAR LPC2138 Kickstart Card 18 4.2.6.1 Files for ARM ADS/RVCT Environment 18 4.2.7 Board Freescale MAC7100EVB 18 4.2.7.1 Files for ARM ADS/RVCT Environment 18 4.2.8 Generic Files 19 4.2.9 Contributed 19 4.3 INET 20 4.3.1 Files for ARM INET 20

11

Release Notes / 4.6

Contents 3

4.3.2 ARM INET Utilities 20 4.4 WEBS 21 4.4.1 Files for ARM ADS Environment 21 4.4.2 Files for IAR Embedded Workbench 21 4.4.3 Files for GNU GCC Compiler Suite 22 4.4.4 Utilities 22 4.5 Manuals 22

5 Changes and Version History


5.1 5.2 5.3 5.4 ARM Kernel versions and changes 24 ARM BSP versions and changes 30 ARM INET versions and changes 31 ARM Web Server versions and changes 32

23

OSE Epsilon for ARM

6 Problems and Support


6.1 6.2 6.3 6.4 Restrictions 33 Known Problems 33 Routines for Maintenance and Revision 34 OSE Product Support and Training 34 6.4.1 Product Support 35 6.4.2 Extended Support 35 6.4.3 Training Classes 35

33

7 How to contact OSE

37

4 Contents

Release Notes / 4.6

1
1 About this manual
OSE Epsilon for ARM is a fast, compact, real-time operating system for the ARM (Thumb) line of microprocessors from ARM Ltd. The purpose of these Release Notes is to give the reader necessary information about the current software release which can not be found in the other user documentation. This manual is intended for all users of this software release and describes the following:

Installation on page 7 describes how to install the OSE Epsilon for ARM products System Requirements on page 9 defines the requirements to be able to use OSE Epsilon for ARM Delivery Structure on page 11 describes the delivery structure after a successful installation. Product Versions on page 23 lists the current versions and changes made to products included in this release. Problems and Support on page 33 describes known problems related to this release and how to resolve them. How to contact OSE on page 37 provides contact information for OSE.

OSE Epsilon for ARM

Release Notes / 4.6

About this manual 5

OSE Epsilon for ARM


6 About this manual

Release Notes / 4.6

1
2 Installation
This chapter describes how to install your OSE real-time operating system.

2.1 Before You Begin Installation


Before you start the installation of your OSE product, we recommend that you check the list below to ensure that your OSE package is complete. The install packages OSE_Epsilon_Kernel_for_ARM.zip and, if you purchased the INET product, OSE_Epsilon_Network_Utilities_for_ARM.zip If you have purchased OSE Illuminator, it is delivered on a separate CD. A valid installation key provided when you purchased OSE. Product manuals are delivered as online manuals only. To read product manuals in PDF format, you need the Acrobat Reader freeware. You can download the latest version from www.adobe.com. When you have ensured that your checklist is complete, see System Requirements on page 9 and check your environment before you start with the installation.

OSE Epsilon for ARM

2.2 Installation Procedure


1. Unpack the appropriate archive in a temporary place. 2. The different OSE Epsilon products are in self extracting install executables. 3. To install the product, you will need the installation key. Enter the installation key that you received on paper or by email when you purchased OSE. 4. The installation program will navigate you through the installation procedure.

2.3 Uninstalling OSE Epsilon


The OSE Epsilon for ARM kernel, board support packages and network products can be uninstalled by just deleting the directory they are in.

Release Notes / 4.6

Installation 7

OSE Epsilon for ARM


8 Uninstalling OSE Epsilon

Release Notes / 4.6

1
3 System Requirements
This section describes what you need to use OSE Epsilon for ARM products, notwithstanding the operating system.

3.1 Target System


3.1.1 Supported Processors
OSE (Epsilon) for ARM supports the following processors:

ARM7TDMI (includes all ARMv4T CPUs) ARMv5T XScale

OSE Epsilon for ARM

The OSE Epsilon for ARM kernel runs in Thumb-Mode. The application and processes can run in Thumb- or in ARM-Mode.

3.1.2 RAM Memory Requirements


A very small OSE Epsilon for ARM system could run in a minimum system of about 2 kbytes of RAM. But practical system would need more. The OSE for ARM kernel requires approximately 1 kilobyte RAM plus 130 bytes per process. Additionally you need RAM for the process stacks. The stacks must be large enough to contain all data needed at any one time. In an OSE system the system data is organized as messages in the message pool. The buffer pool is a major user of data memory. There are eight fixed, user selected, sizes of signal buffers. In a normal system with only a few permanently allocated buffers, something like 2 kilobytes is a reasonable pool size. In a large system, 4-6 kilobytes may be more appropriate. Please consult the ARM Kernel Users Guide for more information.

3.1.3 ROM Memory Requirements


The amount of code memory required is mainly determined by the size of the application programs. Only if the system is very small the size of the operating system is important. The code size of the OSE for ARM kernel is approximately 5 kilobytes.

Release Notes / 4.6

System Requirements 9

3.2 Development Environment


3.2.1 ARM Developer Suite, ADS
The integration tests are performed in the following environment:

Hosts: PC, Windows 98, NT, 2000. ARM Developer Suite Version 1.2 (ADS 1.2).

Later versions of the products above may work, but the version listed above are recommended.

3.2.2 IAR Embedded Workbench for ARM

OSE Epsilon for ARM

The integration tests are performed in the following environment:


Hosts: PC, Windows 98, NT, 2000. IAR Embedded Workbench for ARM, Version 4.20 A

Later versions of the products above may work, but the version listed above are recommended.

3.2.3 GNU GCC Compiler Suite


The integration tests are performed in the following environment:

Hosts: PC, Windows 98, NT, 2000. GNU GCC Compiler Suite, Version 3.3.1, GNU binutils 2.13.2.1, Redhat newlib 1.11.0.

Later versions of the products above may work, but the version listed above are recommended.

3.2.4 GHS
The integration tests are performed in the following environment:

Hosts: PC, Windows 98, NT, 2000. Greenhills Multi 2000 version 4.0.

Later versions of the products above may work, but the version listed above are recommended.

3.2.5 ARM Real View Developer Suite


The integration tests are performed in the following environment:

Hosts: PC, Windows 98, NT, 2000. RVCT version 2.1.0

Later versions of the products above may work, but the version listed above are recommended.
10 Development Environment Release Notes / 4.6

1
4 Delivery Structure
In this chapter, the directory structure after a sucessful installation is described for the following products:

Kernel on page 12 BSP on page 13 INET on page 20 WEBS on page 21 Manuals on page 22

OSE Epsilon for ARM


Release Notes / 4.6

Delivery Structure 11

4.1 Kernel
4.1.1 ARM Kernels
c:\ose\epsilon\arm\krn379\<compiler>\ c:\ose\epsilon\arm\krn379\<compiler>\conf\ osarm.con ............... OSE for ARM configuration file c:\ose\epsilon\arm\krn379\<compiler>\exp\motcon Sourcefiles for a small getting started and tutorial example. c:\ose\epsilon\arm\krn379\<compiler>\include\ ose.h........................ Contains variable and code address declarations to be included in prioritized and background processes written in C. It is written in ANSI C. ose_i.h..................... Contains variable and code address declarations to be included in timer interrupt and interrupt processes written in C and declared as OS_INT in the OSE configuration. It is written in ANSI C. ose_usr.h................. OSE include file for ARM user mode. osarm.anc................ Contains variable and code address declarations to be included in prioritized and background processes written in assembly. osarmi.anc............... Contains variable and code address declarations to be included in timer interrupt and interrupt processes written in assembly and declared as OS_INT in the OSE configuration. It is written in assembly. osarm.mac............... Assembler macro definitions. osarm_sc.mac ......... Assembler macro definitions for single-chip mode. osetypes.h ............... Type definitions for symbolic signal support. sigdesc.h ................. Include file for symbolic signal support. tosv.h ...................... Include file for timeout server. c:\ose\epsilon\arm\krn379\<compiler>\src tosv.c....................... Time-out server.

OSE Epsilon for ARM

4.1.2 Utilities for ARM Kernels


c:\ose\epsilon\arm\krn379\bin\ confarm.exe ............ OSE for ARM configuration utility Windows host. edbgserver.exe........ OSE Epsilon debug server for serial connection to the target.

12 Kernel

Release Notes / 4.6

1
4.2 BSP
The BSP delivery structure description assumes you have used the default installation path and directory. The only tool chain described is ADS. For other tool chains, the directory structure will be the same, but the file extensions will vary. Assembler source files have the following file extensions

.s for ADS and RCVT .arm for GHS .S for GNU .s79 for IAR .txt for ADS and RCVT .lnk for GNU .xcl for IAR

OSE Epsilon for ARM

Linker control files will have the following file extensions:


After completing your installation, check the installed directory structure using one of the following desciptions:

Board Atmel AT91EB01 on page 14 Board Atmel AT91EB55 on page 15 Board Atmel AT91SAM7S-EK on page 16 Board ARM Evaluator-7T on page 17 Board ENEA EVK A7 on page 17 Board IAR LPC2138 Kickstart Card on page 18 Board Freescale MAC7100EVB on page 18 Generic Files on page 19 Contributed on page 19

Release Notes / 4.6

BSP 13

4.2.1 Board Atmel AT91EB01


4.2.1.1 Files for ARM ADS Environment c:\ose\epsilon\arm\bsp123\at91eb01\ads\conf at91eb01.txt ............ Linker command file at91eb01_flash.txt .. Linker command file, flashed system c:\ose\epsilon\arm\bsp123\at91eb01\ads\include m40400.inc ............. AT91M40400 chip definition file eb01.inc .................. AT91EB01 board definition file c:\ose\epsilon\arm\bsp123\at91eb01\ads\src cstartup.s................. C startup file cstartup_flash.s ....... C startup file, flashed system cstartup_ice.s .......... C startup file, in-circuit emulator system inthdlr.s................... Interrupt handler eldm_uart.s ............. Serial driver for eldm timer_setup.s........... OSE tick timer setup 4.2.1.2 Generic Board Files c:\ose\epsilon\arm\bsp123\at91eb01\include led.h ........................ LED driver header file aic.h ........................ Advanced Interrupt Controller Definition File arm.h....................... Arm7TDMI Header File eb01.h ..................... AT91 Evaluation Board Features Definition File ebi.h ........................ External Bus Interface Definition File m40400.h................ AT91M40400 Definition File pio.h........................ Parallel I/O Header File ps40400.h ............... Power Saving Header File sf.h .......................... Special Function Header File std_c.h..................... Standard C Header File tc.h .......................... Timer Counter Header File usart.h ..................... USART Header File wd.h ........................ Watch Dog Header File c:\ose\epsilon\arm\bsp123\at91eb01\src led.c ........................ LED driver

OSE Epsilon for ARM

14 Board Atmel AT91EB01

Release Notes / 4.6

1
4.2.2 Board Atmel AT91EB55
4.2.2.1 Files for ARM ADS Environment c:\ose\epsilon\arm\bsp123\at91eb55\ads\conf at91eb55.txt ............ Linker command file at91eb55_flash.txt .. Linker command file, flashed system c:\ose\epsilon\arm\bsp123\at91eb55\ads\include m55800.inc ............. AT91M55800 chip definition file eb55.inc .................. AT91EB55 board definition file c:\ose\epsilon\arm\bsp123\at91eb55\ads\src cstartup.s................. C startup file cstartup_flash.s ....... C startup file, flashed system cstartup_ice.s .......... C startup file, in-circuit emulator system inthdlr.s................... Interrupt handler eldm_uart.s ............. Serial driver for eldm timer_setup.s........... OSE tick time setup 4.2.2.2 Generic Board Files c:\ose\epsilon\arm\bsp123\at91eb55\include led.h ........................ LED driver header file adc.h ....................... Analog to Digital Converter Definition File aic.h ........................ Advanced Interrupt Controller Definition File apmc55800.h .......... Power Management Controller Header File arm.h....................... Arm7TDMI Header File dac.h ....................... Digital to Analog Converter Definition File eb55.h ..................... AT91M55800 Evaluation Board Features Definition File ebi.h ........................ External Bus Interface Definition File m55800.h................ AT91M55800 Architecture Definition File pio.h........................ Parallel I/O Header File pioa.h ...................... Parallel I/O Controller A Header File piob.h...................... Parallel I/O Controller B Header File std_c.h..................... Standard C Header File tc.h .......................... Timer Counter Header File usart.h ..................... USART Header File c:\ose\epsilon\arm\bsp123\at91eb55\src led.c ........................ LED driver

OSE Epsilon for ARM

Release Notes / 4.6

Board Atmel AT91EB55 15

4.2.3 Board Atmel AT91SAM7S-EK


4.2.3.1 Files for ARM ADS/RVCT Environment c:\ose\epsilon\arm\bsp123\at91sam7s\ads\conf at91sam7s.txt.......... Linker command file at91sam7s_flash.txt Linker command file, flashed system c:\ose\epsilon\arm\bsp123\at91sam7s\ads\include at91sam7s.h ............ Chip definition file at91sam7s.inc ......... Chip definition file c:\ose\epsilon\arm\bsp123\at91sam7s\ads\src crt0.s ....................... C startup file inthdlr.s................... Interrupt handler eldm_uart.s ............. Serial driver for eldm timer_setup.s........... OSE tick time setup 4.2.3.2 Generic Board Files c:\ose\epsilon\arm\bsp123\at91sam7s\include devuart.h ................. Serial device driver software layer uart.sig .................... Device driver signals c:\ose\epsilon\arm\bsp123\at91sam7s\src devuart.c ................. Serial device driver for PPP software layer uart.c ....................... Serial device driver for PPP hardware layer

OSE Epsilon for ARM

16 Board Atmel AT91SAM7S-EK

Release Notes / 4.6

1
4.2.4 Board ARM Evaluator-7T
4.2.4.1 Files for ARM ADS/RVCT Environment c:\ose\epsilon\arm\bsp123\Evaluator7T\ads\conf evaluator7T.txt ....... Linker command file c:\ose\epsilon\arm\bsp123\Evaluator7T\ads\include evaluator7T.inc....... Board definitions c:\ose\epsilon\arm\bsp123\Evaluator7T\ads\src crt0.s ....................... C startup file inthdlr.s................... Interrupt handler eldm_uart.s ............. Serial driver for eldm timer_setup.s........... OSE tick time setup 4.2.4.2 Generic Board Files c:\ose\epsilon\arm\bsp123\Evaluator7T\include led.h ........................ LED driver header file evaluator7T.h.......... Board definitions devuart.h ................. Serial device driver software layer c:\ose\epsilon\arm\bsp123\Evaluator7T\src led.c ........................ LED driver uart.c ....................... Serial device driver for PPP hardware layer devuart.c ................. Serial device driver for PPP software layer

OSE Epsilon for ARM

4.2.5 Board ENEA EVK A7


4.2.5.1 Files for ARM ADS/RVCT Environment c:\ose\epsilon\arm\bsp123\evk_a7\ads\conf evk_a7.txt ............... Linker command file c:\ose\epsilon\arm\bsp123\evk_a7\ads\include cs89712.inc............. Board definitions c:\ose\epsilon\arm\bsp123\evk_a7\ads\src crt0.s ....................... C startup file inthdlr.s................... Interrupt handler eldm_uart.s ............. Serial driver for eldm timer_setup.s........... OSE tick time setup 4.2.5.2 Generic Board Files c:\ose\epsilon\arm\bsp123\evk_a7\src eth89712.c .............. Ethernet driver ser89712.c............... Serial device driver for PPP

Release Notes / 4.6

Board ARM Evaluator-7T 17

4.2.6 Board IAR LPC2138 Kickstart Card


4.2.6.1 Files for ARM ADS/RVCT Environment c:\ose\epsilon\arm\bsp123\iar-lpc2138\ads\conf iar-lpc2138.txt ........ Linker command file iar-lpc2138_flash.txtLinker command file, flashed system c:\ose\epsilon\arm\bsp123\iar-lpc2138\ads\include lpc2138.inc ............. Chip definition file c:\ose\epsilon\arm\bsp123\iar-lpc2138\ads\src crt0.s ....................... C startup file inthdlr.s................... Interrupt handler eldm_uart.s ............. Serial driver for eldm timer_setup.s........... OSE tick time setup

OSE Epsilon for ARM

4.2.7 Board Freescale MAC7100EVB


4.2.7.1 Files for ARM ADS/RVCT Environment c:\ose\epsilon\arm\bsp123\mac7100_evb\ads\conf mac7100_evb.txt .... Linker command file c:\ose\epsilon\arm\bsp123\mac7100_evb\ads\include mac7100.inc ........... Chip definition file c:\ose\epsilon\arm\bsp123\mac7100_evb\ads\src crt0.s ....................... C startup file inthdlr.s................... Interrupt handler eldm_uart.s ............. Serial driver for eldm timer_setup.s........... OSE tick time setup

18 Board IAR LPC2138 Kickstart Card

Release Notes / 4.6

1
4.2.8 Generic Files
c:\ose\epsilon\arm\bsp123\include bios.h ...................... Device driver bios functions header file cpu.h ....................... CPU settings device.h................... Device driver definition file ethdev.h .................. Generic ethernet definitions md5.h...................... Md5 definitions outfmt.h .................. Format definitions serdev.h................... Generic serial device driver configuration c:\ose\epsilon\arm\bsp123\src bios.c....................... Device driver bios functions md5.c ...................... Md5 functions millidelay.c ............. Milliseconds into ticks translation outfmt.c................... Formatted output functions

OSE Epsilon for ARM

4.2.9 Contributed
c:\ose\epsilon\arm\bsp123\contributed Contributed board support packages which are not officially maintained.

Release Notes / 4.6

Generic Files 19

4.3 INET
When the installation of ARM Internet Protocols, is completed you will find the following directory structure assuming that you used the default installation path and directory.

4.3.1 Files for ARM INET


c:\ose\epsilon\arm\inet140\<compiler>\conf inet.con ................... OSE INET configuration file. c:\ose\epsilon\arm\inet140\<compiler>\exp\shell Source files for the shell getting started and tutorial example. c:\ose\epsilon\arm\inet140\<compiler>\exp\tcp_echo Source files for the tcp_echo getting started and tutorial example. c:\ose\epsilon\arm\inet140\<compiler>\include inet.h ....................... The main INET header file replacing all unix TCP/IP header files. inet.sig .................... INET signal interface specification. ineterr.h................... Inet error codes. c:\ose\epsilon\arm\inet140\<compiler>\libsrc *.c ........................... Stripped C file source code for the INET stack c:\ose\epsilon\arm\inet140\<compiler>\libsrc\asm *.s ........................... Checksum calculations for INET in assembler c:\ose\epsilon\arm\inet140\<compiler>\libsrc\include *.h ........................... Internal interfaces for INET c:\ose\epsilon\arm\inet140\<compiler>\make libinet.mak.............. Makefile for inet.lib c:\ose\epsilon\arm\inet140\<compiler>\src startinet.c ................ INET start module

OSE Epsilon for ARM

4.3.2 ARM INET Utilities


c:\ose\epsilon\arm\inet140\win32 ppwin95.inf............. Null-modem ppp-driver for Windows 95/98. ppwinnt.inf ............. Null-modem ppp-driver for Windows NT.

20 INET

Release Notes / 4.6

1
4.4 WEBS
When the installation of the ARM Web Server is completed you will find the following directory structure, assuming you used the default installation path and directory. 4.4.1 Files for ARM ADS Environment
c:\ose\epsilon\arm\webs120\ads11\exp Source files for a small getting started and tutorial example. c:\ose\epsilon\arm\webs120\ads11\include webs.h..................... The main web server definitions. webserr.h ................ Web server error codes. webs.sig .................. Web server signal specification. websconf.h.............. Web Server configuration. c:\ose\epsilon\arm\webs120\ads11\lib libwebsv4T ............. Web Server library, little endian. libwebsv4Tbe ......... Web Server library, big endian. libwebsv4T_ni ........ Web Server library, little endian, no interworking. libwebsv4Tbe_ni .... Web Server library, big endian, no interworking libwebsv5T ............. Web Server library, little endian. libwebsv5Tbe ......... Web Server library, big endian. libwebsv5T_ni ........ Web Server library, little endian, no interworking. libwebsv5Tbe_ni .... Web Server library, big endian, no interworking c:\ose\epsilon\arm\webs120\ads11\src websinit.c................ WEBS initialization example.

OSE Epsilon for ARM

4.4.2 Files for IAR Embedded Workbench


c:\ose\epsilon\arm\webs120\iar\exp Source files for a small getting started and tutorial example. c:\ose\epsilon\arm\webs120\iar\include webs.h..................... The main web server definitions. webserr.h ................ Web server error codes. webs.sig .................. Web server signal specification. websconf.h.............. Web Server configuration. c:\ose\epsilon\arm\webs120\iar\lib libwebsv4T.r76....... Web Server library, little endian. libwebsv4Tbe.r76 ... Web Server library, big endian. c:\ose\epsilon\arm\webs120\iar\src websinit.c................ WEBS initialization example.

Release Notes / 4.6

WEBS 21

4.4.3 Files for GNU GCC Compiler Suite


c:\ose\epsilon\arm\webs120\gnu\exp Source files for a small getting started and tutorial example. c:\ose\epsilon\arm\webs120\gnu\include webs.h..................... The main web server definitions. webserr.h ................ Web server error codes. webs.sig .................. Web server signal specification. websconf.h.............. Web Server configuration. c:\ose\epsilon\arm\webs120\gnu\lib libwebsv4T.a .......... Web Server library, little endian. libwebsv4Tbe.a....... Web Server library, big endian. c:\ose\epsilon\arm\webs120\gnu\src websinit.c................ WEBS initialization example.

OSE Epsilon for ARM

4.4.4 Utilities
c:\ose\epsilon\arm\webs120\bin\ htmlcomp.exe ......... HTML compiler.

4.5 Manuals
c:\ose\epsilon\arm\doc\ EArmRN.pdf .......... OSE Epsilon for ARM Release Notes EArmKrnUG.pdf.... OSE Epsilon for ARM Kernel Users Guide EArmKrnRM.pdf ... OSE Epsilon for ARM Kernel Reference Manual. EArmBspUG.pdf.... OSE Epsilon for ARM BSP Users Guide EArmInetTM.pdf.... OSE Epsilon for ARM Internet Protocols Target Manual EArmWebsUG.pdf . OSE Epsilon for ARM Web Server Users Guide EInetUM.pdf........... OSE Epsilon Internet Protocols Users Manual

22 Files for GNU GCC Compiler Suite

Release Notes / 4.6

1
5 Changes and Version History
Changes to the different components of this release are described in:

ARM Kernel versions and changes on page 24 ARM BSP versions and changes on page 30 ARM INET versions and changes on page 31 ARM Web Server versions and changes on page 32

OSE Epsilon for ARM


Release Notes / 4.6

Changes and Version History 23

5.1 ARM Kernel versions and changes


Table 1: Changes to ARM Kernel Version 3.7.9 Changes Bug fix: LR could be overwritten in software interrupts Bug fix in ALLOC_NIL for GNU New configuration option: FIQ_AS_IRQ Version info for kernel aware debuggers added Bug fix in stop Bug fix in cond_halt Support for ARM RVDS added XScale support improved Fixed: Set SVC stack for Idle in 5T

3.7.5

OSE Epsilon for ARM

3.7.1 3.7.0

Bug fix in wake-up which was introduced in version 3.7.0. Support for Green Hills removed. OSE_TIMER_ENTRY redesigned for nested interrupts. Support for user-mode processes. GNU support added.

3.6.1

Support for ARM ADS 1.1 added. Board Support Packages not any longer stored in the kernel delivery (separate product). Idle Handler added. New entry IDLE_HANDLER in the osarm.con configuration file. Power Off Handler parameter modified. Example files delivery modified.

24 ARM Kernel versions and changes

Release Notes / 4.6

1
Table 1: Changes to ARM Kernel Version 3.6.0 Changes Max. number of processes (PID) increased from 126 to 254. Idle process PID changed from 128 to 255. External PIDs (i.e. PIDs routed over Link Handler) must have the upper 8 bits set. Any bit in the lower 8 bit will be discarded. Example: System with 62 processes: PID 0x100 is valid and routed over Link Handler PID 0x101 is valid and routed over Link handler PID 0x040 is illegal, as the 62th process has PID 63,PIDs 0x40 .. 0xFF are illegal! PID 0x0 is illegal, kernel cannot be addressee. Conditional halt (cond_halt) will respect timer interrupts if option is set in the configuration file osarm.con. Dispatcher can be placed in (internal) RAM. Wake up redesigned, it can be nested if interrupts can be nested, i.e. a second interrupt stack is available. Interrupts can wake up interrupts. swap-out from kernel does not blindly copy everything (only R4..r15) Every OSE function is in its own section/area (only for ARM and IAR development environment). Linker removes unused code. dead code (depending on configuration) removed minimal system only 1300 bytes 8 processes, send/receive/alloc/free_buf/delay only 3K ELDM (for Illuminator connection) changed, will no longer work with edbgserver version 0.4.8 (due to changed Idle PID). ENABLE_WAKE_UP in osarm.con now documented. LINKHANDLER in osarm.con moved to another place.

OSE Epsilon for ARM

3.5.1

Receive Handler added. Bug fix in Receive/Send Handler.

Release Notes / 4.6

ARM Kernel versions and changes 25

Table 1: Changes to ARM Kernel Version 3.5.0 Changes Support for Green Hills compiler. Epsilon Local Debugger Module is now included in the kernel and is also generated by the confarm.exe tool, when debug selected in the configuration. The size of the trace memory and the maximum number of evact entries are now configurable for the On-Chip debugger. Nested interrupts are now directly supported in the interrupt stack configuration. New installation system. New delivery structure. Semaphore system calls now documented. New delivery structure (kernel version included). Internal RAM size reduced to 88 bytes (from 104 bytes). Bug fix in OSE_TIMER_ENTRY. Swap-in/swap-out code improved. Added Single-Chip Mode (all OSE pointers 16 bits). Change signal header. Will no longer be destroyed when a linkhandler is used. PCB size (52 bytes) and signal header (8 bytes) modified for single-chip mode. Interface to eldm modified to be prepared for new eldm version. ZZ_ARM_GO_SEARCH_I adapted for single-chip mode. Support for IAR Systems C-Compiler. Svtimer handling corrected. Delivery structure modified to support IAR Systems C-Compiler. Kernel and processes run now in System Mode not in User Mode. PCB size now reduced to 68 bytes. alloc_nil bug fix IRQ_lock timein alloc reduced Swap-in/swap-out redesign to reduce memory need (4 bytes per process) PCB structure optimized Power-on check moved directly after reset Two new error messages for stack check added

OSE Epsilon for ARM

3.4.0

3.3.0

26 ARM Kernel versions and changes

Release Notes / 4.6

1
Table 1: Changes to ARM Kernel Version 3.2.0 Changes Compiler entry added in osarm.con. Target name entry added in osarm.con, target name defined. OPTION DEBUGGER,NO added in osarm.con New error messages: ERR_GET_FSEM_ILL_PID= 0x45 ERR_SET_FSEM_ILL_PID= 0x46 ERR_SET_FSEM_ILL_VALUE= 0x47 ERR_WAIT_FSEM_ILL_VALUE= 0x48 ERR_SIGNAL_FSEM_ILL_PID= 0x49 All PCBs and stack one behind the other. Swap through idle visible in Illuminator (i.e. motor->idle->control). Wrong pool information in flush system call in debug mode fixed. System call cond_halt works again. Delivery structure modified (debug files included in the kernel delivery).

OSE Epsilon for ARM

3.1.1 3.1.0

Kernel version is now synchronized with manual version. Dmake removed from delivery. ARM-API now always activated. Changed the kernel include in *.anc (assembler include). Added a time stamp for allocated buffers in DEBUG mode. Removed quotation marks from process names. Source code distribution (undocumented). Kernel source generated by configuration utility. Scs debugger replaced by eldm. PCB size reduce to 80 bytes. ARM mode now supported. Bugfix in MAKE_NOT_READY2 caused a crash if a timint process was stopped. System call WAKE_UP added. Initial delay added for timer interrupt processes. Endian dependencies removed. Bug fix in macro MAKE_READY Stacks and pool are filled with debug pattern now also when DEBUG is selected (not only STACK_CHECL). Bugfix in FLUSH. Balanced ARM_LOCK/ARM_UNLOCK calls to allow pushing/ poping IRQ-state.
ARM Kernel versions and changes 27

3.0.0

Release Notes / 4.6

Table 1: Changes to ARM Kernel Version 2.3.0 2.1.1 2.1.0 2.0.0.4 Changes TEMP_STACK can be configured in osarm.con. OSE for ARM interrupt enable/disable changed to function calls. These functions are now in osarmcon.s. IRQ_SHADOW_REGISTER and IRQ_SHADOW_MASK_REG now as local variables. OSE_INIT_INTERRUPT now handles single/multiple mask register. OSE_INIT_INTERRUPT function now in Thumb mode. COND_HALT corrected. RECEIVE_FSEM corrected. System call WAIT_SEM corrected. Buffer check end mark (BEMARK) now writes/reads in byte order. Background process bug correct. PCB is now 92 bytes. ZZ_IDLE now has a ZZ_TEMP_STACK. P_TI_HDS made PUBLIC.

OSE Epsilon for ARM

Macros for nested interrupts added. Unlinking (from timerlist) of ready processes corrected. ZZ_POF_H now in CODE32 mode NIL pointer changed to 0. Support for only one mask interrupt register added. Call to ZZ_IDLE corrected. Segment NO_PCB now in RAM. SWAP_HANDLER corrected. LINKHANDLER now works. INTERRUPT mode is changed to SVC mode when leaving QUIT_INT. RESTORE how saves R4. Argument to kill_sem changed to pointer. Support for only one mask interrupt register added. This version or higher must be used when using INET TCP/IP stack.

28 ARM Kernel versions and changes

Release Notes / 4.6

1
Table 1: Changes to ARM Kernel Version 2.0.0 Changes Multiple priority queue dispatching scheme. add_ticks system call. alloc_nil system call. cond_halt system call. get_pri and set_pri system calls. receive_fsem system call. configurable SWI handler. pure macro configuration. The routines OSE_INIT_INTERRUPT, OSE_IRQ_HANDLER and OSE_SWI_HANDLER is now moved to a separate file called inthdlr.c. The syntax for osarm.con has changed slightly. The '%' has been removed from all configuration statements, and an END statement is required. To convert from OSE for ARM R1.3 to OSE for ARM R2.0, follow the steps below:

OSE Epsilon for ARM

Move the definitions of OSE_INIT_INTERRUPT and OSE_IRQ_HANDLER from the old osarmcon.s to inthdlr.s. Remove all '%' from your old osarm.con. Add the END-statement at the bottom of your osarm.con. Remove the condarm.exe mechanism from your makefile, and make osarmcon.o depend on osarmcon.s, inthdlr.s and osarm.con.

Release Notes / 4.6

ARM Kernel versions and changes 29

5.2 ARM BSP versions and changes


Table 2: Changes to ARM BSP Version 1.2.3 Changes Board ENEA EVK A7 added. Board IAR LPC2138 added. Board Freescale MAC7100 EVB added. Board Atmel AT91SAM7S added. ELDM driver renamed.

OSE Epsilon for ARM

1.1.0

Board ARM Evaluator-7T added. Board ARM Integrator AP added (contributed). ELDM driver renamed. Initial version

1.0.0

30 ARM BSP versions and changes

Release Notes / 4.6

1
5.3 ARM INET versions and changes
Table 3: Changes to ARM INET Version 1.4.0 1.3.3 1.3.2 1.3.0 ifDetach implemented Support for Tricore corrected. Support for Tricore added. New delivery structure. INET core version: 1.2, Ethernet bug fix. ARM implementation version 0 (= 1.2.0). Getting started structure modified. Ethernet device driver added. BSP files moved into a own directory (separate product) Changes

OSE Epsilon for ARM

1.2.0

1.0.5

Support for ColdFire added. Support for M-Core added. New tags in InetIfAttachRequest/Reply: INET_IFTAG_PPP_ACCM, INET_IFTAG_MRU, INET_IFTAG_PPP_ACCOMP. Now only config.h, target.h, ltype.h and cpu.h need to be changed for new targets. Improved configuration in inet.con, startinet.c and bspinet.c CHAP and PAP support added. MRU/LCP option. Async. MAP, LCP option added. Address compression LCP option added. Release 1.0.3 (Internal Release) inet.sig, fixed for 16/32 bit. CCP properly rejected..

1.0.4

1.0.1

Buffersizes needed: 1560 and 3100. ABuf - Data 32bit aligned. Support for OSE for V850, Greenhills Development Environment added. Initial version (from OSE Delta Inet Version R3.0.2.2).

1.0.0

Release Notes / 4.6

ARM INET versions and changes 31

5.4 ARM Web Server versions and changes


Table 4: Changes to ARM Web Server Version 1.2.0 1.1.0 Changes Copyright notices changed. Web Server core version: 1.1, ARM implementation version 0 (= 1.1.0). Board support files removed from OSE Epsilon for ARM Web Server as there is now a separate board support package product. Getting started structure modified. Internal data now static. Bug fix in add_value Fixed: content.length. Some browsers did stop too early if an OSE_TAG was used. Release 1.0.2 (Internal Release) Small changes in the file organization New example designed. Initial version (from OSE Delta Web Server Version R2.1.7.6).

OSE Epsilon for ARM

1.0.4 1.0.3

1.0.0

32 ARM Web Server versions and changes

Release Notes / 4.6

1
6 Problems and Support
6.1 Restrictions
The following describes restrictions for the products in this release:

Table 5: Restrictions Product Kernel BSP None None


None

Description

OSE Epsilon for ARM

INET Web Server

None

6.2 Known Problems


The following describes problems discovered during development that have not been resolved in this release:

Table 6: Known problems Product Kernel BSP INET None None inet_ntoa uses a static character buffer to return the IP address, which causes the function call to be non re-entrant. Normally this should not be a problem since inet_ntoa is not used very often. INET clients may not terminate while writing or reading on sockets! TCP: MSG_PEEK does not work. None Description

Web Server

Release Notes / 4.6

Problems and Support 33

6.3 Routines for Maintenance and Revision


OSE is continuously improved and new features added. Problems are corrected, and requests for new features submitted by customers are considered when maintenance is done. When a new version of the product is released it is automatically distributed to all customers under support or warranty if the release is a major or medium impact update. Minor updates are only sent out to customers experiencing a certain problem, which has been corrected in the release. We recommend that all problems in the software and/or documentation are reported using the online Technical Support Form at http://www.ose.com/support/.

OSE Epsilon for ARM

6.4 OSE Product Support and Training


OSE Epsilon offers a wide range of services as a complement to its OSE Epsilon products. These services cover a variety of needs, from the most experienced user to the beginner, and all projects up to the most time-critical one. We desire to help your engineering team develop their embedded applications as efficiently as possible. The following services are available:

Product Support on page 35 Extended Support on page 35 Training Classes on page 35

34 Routines for Maintenance and Revision

Release Notes / 4.6

1
6.4.1 Product Support
A valid OSE license gives you access to updates and telephone support during local office hours from an experienced support engineer. Contact your local support office at: France, Italy, Spain and Israel E-mail: osesupport_fr@enea.se Telephone: +33 (0)1 69 18 14 40 E-mail: osesupport_de@enea.se Telephone: +49 (0)89 54 46 76 - 13 E-mail: osesupport_nordic@enea.se Telephone: +46 (0)8 50 714 099 E-mail: osesupport_uk@enea.se Telephone: +44 (0) 1844 276 980 E-mail: osesupport_us@enea.se Telephone: toll-free +1 (866) 844-RTOS E-mail: osesupport@enea.se

Germany and Austria

The Nordic Region

OSE Epsilon for ARM

UK and Ireland

North and South America

Other Countries

6.4.2 Extended Support


Extended support licenses give you on-site support with design help, installations, prioritized updates, specially adapted training courses and the development of nonstandard OSE tools.

6.4.3 Training Classes


Classes are available both at customer sites and at OSE Epsilon, and range from two to five days in length. These training classes give you both a good knowledge of general design principles when using OSE in real-time applications, as well as deep insight into how OSE can be used in demanding applications.

Release Notes / 4.6

Product Support 35

OSE Epsilon for ARM


36 Training Classes

Release Notes / 4.6

1
7 How to contact OSE
The ENEA home page is at http://www.enea.com. Current addresses for your local support and sales office are found there, as well as direct links to the Eneawebsite. OSE is an product from Enea Embedded Technology. Head offices are located in:
ASIA

OSE Epsilon for ARM

Enea Embedded Technology 1-4-2 Kanda Ogawa-machi Chiyoda-ku | Tokyo | Japan Phone: +81 35 207 61 67 Fax: +81 35 207 61 69 E-mail: osesales_jp@enea.se Enea Embedded Technology P.O. Box 1033 | Skalholtsgatan 9 S-164 21 Kista | Sweden Phone: +46 (0)8 507 140 00 Fax: +46 (0)8 507 140 40 E-mail: info@enea.se Enea Embedded Technology 1711 West Greentree, Suite 126 Tempe, AZ 85284 Phone: (480) 753-9200 Fax: (480) 753 6400 E-mail: info@enea.com

EUROPE

USA

Release Notes / 4.6

How to contact OSE 37

OSE Epsilon for ARM


38 How to contact OSE

Release Notes / 4.6

Index
A
ARM Tools AT91EB01 AT91EB55 AT91SAM7S-EK 10 14 15 16

OSE Product Support and Training ose.h ose_i.h

34 12 12 7 9 9 35

P
PDF format process process stack Product Support

C
Changes code memory confarm.exe contact OSE 23 9 12 37

R
RAM Memory Requirements ROM Memory Requirements Routines for Maintenance and Revision 9 9 34 9 9

S
Supported Processors System Requirements

OSE Epsilon for ARM

D
Delivery Structure Development Environment 11 10 12 17 17 35

T
Training 35

E
edbgserver.exe Evaluator-7T EVK A7 Extended Support

U
Uninstalling Users Guide 7 7

G
Germany GNU 37 10

V
Version History 23

W
webs.h webs.sig webserr.h 21, 22 21, 22 21, 22

H
htmlcomp.exe 22

I
IAR inet.h inet.sig ineterr.h Installation installation path Installation Procedure International 10 20 20 20 7 13, 20, 21 7 37

K
Known Problems 33

L
LPC2138 Kickstart Card 18 18 20, 22 9 9

M
MAC7100EVB Manuals message message pool

O
osarm.anc osarmi.anc
Release Notes / 4.6

12 12
Index 39

OSE Epsilon for ARM


Release Notes / 4.6

Index 40