enea ose epsilon arm kernel reference manual

40
OSE Epsilon for ARM Enea Embedded Technology 2 1 OSE Epsilon for ARM Release Notes

Upload: binary11

Post on 24-Nov-2015

168 views

Category:

Documents


13 download

DESCRIPTION

ENEA OSE Epsilon ARM Kernel Reference Manual

TRANSCRIPT

  • OSE

    Eps

    ilon

    for

    AR

    M

    Enea Embedded Technology

    2

    1

    OSE Epsilon for ARM

    Release Notes

  • EArmRN 4.6

    OSE

    Eps

    ilon

    for

    AR

    M

    OSE Epsilon/ ARM

    CopyrightCopyright 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.

    DisclaimerEnea 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.

    TrademarksOSE is a registered trademark of Enea Embedded Technology.

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 Contents 3

    2

    1Contents1 About this manual 5

    2 Installation 72.1 Before You Begin Installation 72.2 Installation Procedure 72.3 Uninstalling OSE Epsilon 7

    3 System Requirements 93.1 Target System 9

    3.1.1 Supported Processors 93.1.2 RAM Memory Requirements 93.1.3 ROM Memory Requirements 9

    3.2 Development Environment 103.2.1 ARM Developer Suite, ADS 103.2.2 IAR Embedded Workbench for ARM 103.2.3 GNU GCC Compiler Suite 103.2.4 GHS 103.2.5 ARM Real View Developer Suite 10

    4 Delivery Structure 114.1 Kernel 12

    4.1.1 ARM Kernels 124.1.2 Utilities for ARM Kernels 12

    4.2 BSP 134.2.1 Board Atmel AT91EB01 14

    4.2.1.1 Files for ARM ADS Environment 144.2.1.2 Generic Board Files 14

    4.2.2 Board Atmel AT91EB55 154.2.2.1 Files for ARM ADS Environment 154.2.2.2 Generic Board Files 15

    4.2.3 Board Atmel AT91SAM7S-EK 164.2.3.1 Files for ARM ADS/RVCT Environment 164.2.3.2 Generic Board Files 16

    4.2.4 Board ARM Evaluator-7T 174.2.4.1 Files for ARM ADS/RVCT Environment 174.2.4.2 Generic Board Files 17

    4.2.5 Board ENEA EVK A7 174.2.5.1 Files for ARM ADS/RVCT Environment 174.2.5.2 Generic Board Files 17

    4.2.6 Board IAR LPC2138 Kickstart Card 184.2.6.1 Files for ARM ADS/RVCT Environment 18

    4.2.7 Board Freescale MAC7100EVB 184.2.7.1 Files for ARM ADS/RVCT Environment 18

    4.2.8 Generic Files 194.2.9 Contributed 19

    4.3 INET 204.3.1 Files for ARM INET 20

  • OSE

    Eps

    ilon

    for

    AR

    M

    4 Contents Release Notes / 4.6

    4.3.2 ARM INET Utilities 204.4 WEBS 21

    4.4.1 Files for ARM ADS Environment 214.4.2 Files for IAR Embedded Workbench 214.4.3 Files for GNU GCC Compiler Suite 224.4.4 Utilities 22

    4.5 Manuals 22

    5 Changes and Version History 235.1 ARM Kernel versions and changes 245.2 ARM BSP versions and changes 305.3 ARM INET versions and changes 315.4 ARM Web Server versions and changes 32

    6 Problems and Support 336.1 Restrictions 336.2 Known Problems 336.3 Routines for Maintenance and Revision 346.4 OSE Product Support and Training 34

    6.4.1 Product Support 356.4.2 Extended Support 356.4.3 Training Classes 35

    7 How to contact OSE 37

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 About this manual 5

    2

    11 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

    Eps

    ilon

    for

    AR

    M

    6 About this manual Release Notes / 4.6

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 Installation 7

    2

    12 Installation

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

    2.1 Before You Begin InstallationBefore 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.

    2.2 Installation Procedure1. 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 EpsilonThe OSE Epsilon for ARM kernel, board support packages and network products can be uninstalled by just deleting the directory they are in.

  • OSE

    Eps

    ilon

    for

    AR

    M

    8 Uninstalling OSE Epsilon Release Notes / 4.6

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 System Requirements 9

    2

    13 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 ProcessorsOSE (Epsilon) for ARM supports the following processors:

    ARM7TDMI (includes all ARMv4T CPUs)

    ARMv5T

    XScale

    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 RequirementsA 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 RequirementsThe 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.

  • OSE

    Eps

    ilon

    for

    AR

    M

    10 Development Environment Release Notes / 4.6

    3.2 Development Environment

    3.2.1 ARM Developer Suite, ADSThe 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 ARMThe 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 SuiteThe 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 SuiteThe 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.

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 Delivery Structure 11

    2

    14 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

    Eps

    ilon

    for

    AR

    M

    12 Kernel Release Notes / 4.6

    4.1 Kernel

    4.1.1 ARM Kernels

    c:\ose\epsilon\arm\krn379\\ c:\ose\epsilon\arm\krn379\\conf\ osarm.con ...............OSE for ARM configuration file

    c:\ose\epsilon\arm\krn379\\exp\motcon Sourcefiles for a small getting started and tutorial example.

    c:\ose\epsilon\arm\krn379\\include\ ose.h........................Contains variable and code address declarations to be included in priori-

    tized 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 priori-

    tized 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\\src tosv.c.......................Time-out server.

    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.

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 BSP 13

    2

    14.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

    Linker control files will have the following file extensions:

    .txt for ADS and RCVT

    .lnk for GNU

    .xcl for IAR

    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

  • OSE

    Eps

    ilon

    for

    AR

    M

    14 Board Atmel AT91EB01 Release Notes / 4.6

    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

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 Board Atmel AT91EB55 15

    2

    14.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

    Eps

    ilon

    for

    AR

    M

    16 Board Atmel AT91SAM7S-EK Release Notes / 4.6

    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

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 Board ARM Evaluator-7T 17

    2

    14.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

    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

  • OSE

    Eps

    ilon

    for

    AR

    M

    18 Board IAR LPC2138 Kickstart Card Release Notes / 4.6

    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

    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

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 Generic Files 19

    2

    14.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

    4.2.9 Contributed

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

  • OSE

    Eps

    ilon

    for

    AR

    M

    20 INET Release Notes / 4.6

    4.3 INETWhen the installation of ARM Internet Protocols, is completed you will find the following directory struc-ture assuming that you used the default installation path and directory.

    4.3.1 Files for ARM INET

    c:\ose\epsilon\arm\inet140\\conf inet.con ...................OSE INET configuration file.

    c:\ose\epsilon\arm\inet140\\exp\shell Source files for the shell getting started and tutorial example.

    c:\ose\epsilon\arm\inet140\\exp\tcp_echo Source files for the tcp_echo getting started and tutorial example.

    c:\ose\epsilon\arm\inet140\\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\\libsrc *.c ...........................Stripped C file source code for the INET stack

    c:\ose\epsilon\arm\inet140\\libsrc\asm *.s ...........................Checksum calculations for INET in assembler

    c:\ose\epsilon\arm\inet140\\libsrc\include *.h ........................... Internal interfaces for INET

    c:\ose\epsilon\arm\inet140\\make libinet.mak..............Makefile for inet.lib

    c:\ose\epsilon\arm\inet140\\src startinet.c ................ INET start module

    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.

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 WEBS 21

    2

    14.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.

    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.

  • OSE

    Eps

    ilon

    for

    AR

    M

    22 Files for GNU GCC Compiler Suite Release Notes / 4.6

    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.

    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

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 Changes and Version History 23

    2

    15 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

    Eps

    ilon

    for

    AR

    M

    24 ARM Kernel versions and changes Release Notes / 4.6

    5.1 ARM Kernel versions and changes

    Table 1: Changes to ARM Kernel

    Version Changes

    3.7.9 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

    3.7.5 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.1 Bug fix in wake-up which was introduced in version 3.7.0.

    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.

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 ARM Kernel versions and changes 25

    2

    1

    3.6.0 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 HandlerPID 0x101 is valid and routed over Link handlerPID 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.

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

    Table 1: Changes to ARM Kernel

    Version Changes

  • OSE

    Eps

    ilon

    for

    AR

    M

    26 ARM Kernel versions and changes Release Notes / 4.6

    3.5.0 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.

    3.4.0 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 sin-

    gle-chip mode. Interface to eldm modified to be prepared for new eldm version. ZZ_ARM_GO_SEARCH_I adapted for single-chip mode.

    3.3.0 Support for IAR Systems C-Compiler. Svtimer handling corrected. Delivery structure modified to support IAR Systems C-Com-

    piler. 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

    Table 1: Changes to ARM Kernel

    Version Changes

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 ARM Kernel versions and changes 27

    2

    1

    3.2.0 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->con-

    trol). 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).

    3.1.1 Kernel version is now synchronized with manual version. Dmake removed from delivery.

    3.1.0 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.

    3.0.0 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.

    Table 1: Changes to ARM Kernel

    Version Changes

  • OSE

    Eps

    ilon

    for

    AR

    M

    28 ARM Kernel versions and changes Release Notes / 4.6

    2.3.0 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 reg-

    ister. 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.

    2.1.1 Macros for nested interrupts added. Unlinking (from timerlist) of ready processes corrected.

    2.1.0 ZZ_POF_H now in CODE32 mode

    2.0.0.4 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.

    Table 1: Changes to ARM Kernel

    Version Changes

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 ARM Kernel versions and changes 29

    2

    1

    2.0.0 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 state-ment is required.

    To convert from OSE for ARM R1.3 to OSE for ARM R2.0, fol-low the steps below:

    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.

    Table 1: Changes to ARM Kernel

    Version Changes

  • OSE

    Eps

    ilon

    for

    AR

    M

    30 ARM BSP versions and changes Release Notes / 4.6

    5.2 ARM BSP versions and changes

    Table 2: Changes to ARM BSP

    Version Changes

    1.2.3 Board ENEA EVK A7 added. Board IAR LPC2138 added. Board Freescale MAC7100 EVB added. Board Atmel AT91SAM7S added. ELDM driver renamed.

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

    1.0.0 Initial version

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 ARM INET versions and changes 31

    2

    15.3 ARM INET versions and changes

    Table 3: Changes to ARM INET

    Version Changes

    1.4.0 ifDetach implemented

    1.3.3 Support for Tricore corrected.

    1.3.2 Support for Tricore added.

    1.3.0 New delivery structure.

    1.2.0 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)

    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

    1.0.4 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.1 Buffersizes needed: 1560 and 3100. ABuf - Data 32bit aligned. Support for OSE for V850, Greenhills Development Environ-

    ment added.

    1.0.0 Initial version (from OSE Delta Inet Version R3.0.2.2).

  • OSE

    Eps

    ilon

    for

    AR

    M

    32 ARM Web Server versions and changes Release Notes / 4.6

    5.4 ARM Web Server versions and changes

    Table 4: Changes to ARM Web Server

    Version Changes

    1.2.0 Copyright notices changed.

    1.1.0 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.

    1.0.4 Internal data now static. Bug fix in add_value

    1.0.3 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.

    1.0.0 Initial version (from OSE Delta Web Server Version R2.1.7.6).

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 Problems and Support 33

    2

    16 Problems and Support6.1 Restrictions

    The following describes restrictions for the products in this release:

    6.2 Known ProblemsThe following describes problems discovered during development that have not been resolved in this release:

    Table 5: Restrictions

    Product Description

    Kernel None

    BSP None

    INET None

    Web Server None

    Table 6: Known problems

    Product Description

    Kernel None

    BSP None

    INET 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.

    Web Server None

  • OSE

    Eps

    ilon

    for

    AR

    M

    34 Routines for Maintenance and Revision Release Notes / 4.6

    6.3 Routines for Maintenance and RevisionOSE 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/.

    6.4 OSE Product Support and TrainingOSE 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

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 Product Support 35

    2

    16.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:

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

    6.4.3 Training ClassesClasses 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.

    France, Italy, Spain and Israel E-mail: [email protected]: +33 (0)1 69 18 14 40

    Germany and Austria E-mail: [email protected]: +49 (0)89 54 46 76 - 13

    The Nordic Region E-mail: [email protected]: +46 (0)8 50 714 099

    UK and Ireland E-mail: [email protected]: +44 (0) 1844 276 980

    North and South America E-mail: [email protected]: toll-free +1 (866) 844-RTOS

    Other Countries E-mail: [email protected]

  • OSE

    Eps

    ilon

    for

    AR

    M

    36 Training Classes Release Notes / 4.6

  • OSE

    Eps

    ilon

    for

    AR

    M

    Release Notes / 4.6 How to contact OSE 37

    2

    17 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 Enea Embedded Technology1-4-2 Kanda Ogawa-machiChiyoda-ku | Tokyo | JapanPhone: +81 35 207 61 67Fax: +81 35 207 61 69E-mail: [email protected]

    EUROPE Enea Embedded TechnologyP.O. Box 1033 | Skalholtsgatan 9S-164 21 Kista | SwedenPhone: +46 (0)8 507 140 00Fax: +46 (0)8 507 140 40E-mail: [email protected]

    USA Enea Embedded Technology1711 West Greentree, Suite 126Tempe, AZ 85284Phone: (480) 753-9200Fax: (480) 753 6400E-mail: [email protected]

  • OSE

    Eps

    ilon

    for

    AR

    M

    38 How to contact OSE Release Notes / 4.6

  • Release Notes / 4.6 Index 39

    OSE

    Eps

    ilon

    for

    AR

    MIndex

    AARM Tools 10AT91EB01 14AT91EB55 15AT91SAM7S-EK 16

    CChanges 23code memory 9confarm.exe 12contact OSE 37

    DDelivery Structure 11Development Environment 10

    Eedbgserver.exe 12Evaluator-7T 17EVK A7 17Extended Support 35

    GGermany 37GNU 10

    Hhtmlcomp.exe 22

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

    KKnown Problems 33

    LLPC2138 Kickstart Card 18

    MMAC7100EVB 18Manuals 20, 22message 9message pool 9

    Oosarm.anc 12osarmi.anc 12

    OSE Product Support and Training 34ose.h 12ose_i.h 12

    PPDF format 7process 9process stack 9Product Support 35

    RRAM Memory Requirements 9ROM Memory Requirements 9Routines for Maintenance and Revision 34

    SSupported Processors 9System Requirements 9

    TTraining 35

    UUninstalling 7Users Guide 7

    VVersion History 23

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

  • Release Notes / 4.6 Index 40

    OSE

    Eps

    ilon

    for

    AR

    M

    OSE Epsilon for ARM Release NotesContents1 About this manual2 Installation2.1 Before You Begin Installation2.2 Installation Procedure2.3 Uninstalling OSE Epsilon

    3 System Requirements3.1 Target System3.1.1 Supported Processors3.1.2 RAM Memory Requirements3.1.3 ROM Memory Requirements

    3.2 Development Environment3.2.1 ARM Developer Suite, ADS3.2.2 IAR Embedded Workbench for ARM3.2.3 GNU GCC Compiler Suite3.2.4 GHS3.2.5 ARM Real View Developer Suite

    4 Delivery Structure4.1 Kernel4.1.1 ARM Kernels4.1.2 Utilities for ARM Kernels

    4.2 BSP4.2.1 Board Atmel AT91EB014.2.1.1 Files for ARM ADS Environment4.2.1.2 Generic Board Files

    4.2.2 Board Atmel AT91EB554.2.2.1 Files for ARM ADS Environment4.2.2.2 Generic Board Files

    4.2.3 Board Atmel AT91SAM7S-EK4.2.3.1 Files for ARM ADS/RVCT Environment4.2.3.2 Generic Board Files

    4.2.4 Board ARM Evaluator-7T4.2.4.1 Files for ARM ADS/RVCT Environment4.2.4.2 Generic Board Files

    4.2.5 Board ENEA EVK A74.2.5.1 Files for ARM ADS/RVCT Environment4.2.5.2 Generic Board Files

    4.2.6 Board IAR LPC2138 Kickstart Card4.2.6.1 Files for ARM ADS/RVCT Environment

    4.2.7 Board Freescale MAC7100EVB4.2.7.1 Files for ARM ADS/RVCT Environment

    4.2.8 Generic Files4.2.9 Contributed

    4.3 INET4.3.1 Files for ARM INET4.3.2 ARM INET Utilities

    4.4 WEBS4.4.1 Files for ARM ADS Environment4.4.2 Files for IAR Embedded Workbench4.4.3 Files for GNU GCC Compiler Suite4.4.4 Utilities

    4.5 Manuals

    5 Changes and Version History5.1 ARM Kernel versions and changes5.2 ARM BSP versions and changes5.3 ARM INET versions and changes5.4 ARM Web Server versions and changes

    6 Problems and Support6.1 Restrictions6.2 Known Problems6.3 Routines for Maintenance and Revision6.4 OSE Product Support and Training6.4.1 Product Support6.4.2 Extended Support6.4.3 Training Classes

    7 How to contact OSEIndex

    /ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputCondition () /PDFXRegistryName (http://www.color.org) /PDFXTrapped /Unknown

    /Description >>> setdistillerparams> setpagedevice