This is the first public release for the OS Abstraction Layer library from NASA/GSFC Code 582. Version: 1.0 Date: 8/30/2004 Contact Information: Alan Cudmore NASA Goddard Space Flight Center Code 582.0 Greenbelt, MD 20771 Alan.P.Cudmore@nasa.gov Copyright notice: "Copyright United States Government" as represented by the Administrator of the National Aeronautics and Space Administration License information: This software is licensed under NASA's Open Source Agreement. The release of the software is conditional upon the recipient's acceptance of the Open Source Agreement. Please see the file: NASA_Open_Source_Agreement_1_3-OS_AbstractionLayer.txt OS Abstraction Layer information: This distribution contains: 1. The OS Abstraction Layer Library 2. The Hardware abstraction layer Library 3. At least one example application 4. Impelemtations for the following targets: - Motorola MCP750 Power PC running the RTEMS Operating System - Motorola MCF5307C3 Coldfire Evaluation board running the RTEMS Operating System - Honeywell RHPPC Ganymede board running the vxWorks Operating System - A standard Intel Pentium PC running Linux - A Power PC Macintosh running Mac OS X ( 10.3 or better ) - A Sharp Zaurus PDA running Linux 5. A directory structre and makefiles to manage it all. A note on the ports provided: The RTEMS and vxWorks ports are fairly complete and are being used in projects. The Linux and Mac OS X, are not what I would consider "production quality" and can be used to do rapid development and testing of emebdded software. Of course, improvements are always welcome! Getting Started: All of the targets included build with the GNU compiler tools and rely on GNU make. The makefiles work on Mac OS X, Linux and Solaris. Windows has not been tested, but would most likely work with Cygwin. An easy way to get started is to use the Linux or Mac OS X ports. For a linux box, edit the prolog.mak file and set the following options: BUILDBASE - Set this to the path where you unpacked the osal-dist archive APPLICATION - Set this to the application you wish to build in the common directory. HWARCH - Set this to the processor architecture you are building for. For a linux PC, use x86. PLATFORM - Set this to the board you are running on. For a PC running linux, just use PC. OS - Set this to the OS you are running. For a PC running linux, use linux. Example of a PC running linux: BUILDBASE=/home/acudmore/osal-dist APPLICATION=example1 HWARCH=x86 PLATFORM=pc OS=linux Now just type 'make' from the osal-dist directory and it should build and link the application for you. The binary is in: osal-dist/arch/x86/pc/linux/exe You can switch to that directory and run it. You can also debug it using GDB. The Mac OS X target will work almost exactly the same way. The Embedded targets take a little more work to run, because they must be cross compiled and booted on the board. With a little poking around, you should be able to come up with a new target. If you would like the OSAL itself, just look in common/inc for the include files and os/ for the OS AL implementation. The Hardware abstraction layer implementation is buried down in the 'arch' directory. The API document is in the 'doc' directory.