-
Notifications
You must be signed in to change notification settings - Fork 217
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
- Loading branch information
Showing
2 changed files
with
23 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,15 @@ | ||
Travis-CI: [![Build Status](https://travis-ci.com/nasa/osal.svg)](https://travis-ci.com/nasa/osal) | ||
|
||
# Operating System Abstraction Layer Project | ||
# Core Flight System : Framework : Operating System Abstraction Layer | ||
|
||
![OSAL Logo by Michael Cudmore](./doc/OSAL-Logo.png) | ||
This repository contains NASA's Operating System Abstraction Layer (OSAL), which is a framework component of the Core Flight System. | ||
|
||
The OS Abstraction Layer was originally devloped by the Flight Software Systems Branch at NASA Goddard Space Flight Center. | ||
This is a collection of abstractio APIs and associated framework to be located in the `osal` subdirectory of a cFS Mission Tree. The Core Flight System is bundled at <https://github.com/nasa/cFS>, which includes build and execution instructions. | ||
|
||
# OS Abstraction Layer information: | ||
|
||
This distribution contains: | ||
|
||
1. The OS Abstraction Layer Library | ||
2. Tests and example applications | ||
3. A directory structure and makefiles to manage it all. | ||
The autogenerated OSAL user's guide can be viewed at <https://github.com/nasa/cFS/blob/gh-pages/OSAL_Users_Guide.pdf>. | ||
|
||
## Version History | ||
|
||
|
||
### Development Build: 5.0.20 | ||
- Add "non-zero" to the out variable description for OS_Create (and related) API's. | ||
- Increases the buffer for context info from 128 to 256 bytes and the total report buffer to 320 bytes. | ||
|
@@ -152,97 +145,39 @@ UT Hook functions now have the capability to get argument values by name, which | |
|
||
- Minor updates (see <https://github.com/nasa/osal/pull/264>) | ||
|
||
### **_Release Candidate: 5.0.0µ_** | ||
### **_OFFICIAL RELEASE: 5.0.0_** | ||
|
||
- In build verification testing to be considered for official release | ||
- Release documentation in work | ||
- This is a point release from an internal repository | ||
- Changes are detailed in [cFS repo](https://github.com/nasa/cFS) release 6.7.0 documentation | ||
- Released under the Apache 2.0 license | ||
|
||
### **_OFFICIAL RELEASE: 4.2.1a_** | ||
|
||
- Released under the NOSA license, see | ||
|
||
<license> | ||
</license> | ||
|
||
- See [version description document](OSAL%204.2.1.0%20Version%20Description%20Document.pdf) | ||
- Released under the [NOSA license](https://github.com/nasa/osal/blob/osal-4.2.1a/LICENSE) | ||
- See [version description document](https://github.com/nasa/osal/blob/osal-4.2.1a/OSAL%204.2.1.0%20Version%20Description%20Document.pdf) | ||
- This is a point release from an internal repository | ||
|
||
# Getting Started: | ||
|
||
See the document _doc/OSAL-Configuration-Guide.doc_ for complete details. | ||
|
||
See User's Guide: <https://github.com/nasa/cFS/blob/gh-pages/OSAL_Users_Guide.pdf> | ||
|
||
An easy way to get started is to use the Linux port and classic build: | ||
|
||
1. Set the _OSAL_SRC_ environment variable to point to the OSAL source code. | ||
|
||
- Running setvars.sh will set the variable for you ($source ./setvars.sh) | ||
|
||
2. Edit the _build/osal-config.mak_ file and set the following options: | ||
|
||
- BSP - Set this to the board you are running on. For a PC running linux, use _pc-linux_ | ||
- OS - Set this to the OS you are running. For a PC running linux, use _posix_. | ||
- OSAL_M32 - Uncomment/Add this build variable for building 32-bit images using "native" GCC on a 64-bit X86 Linux platform | ||
|
||
Buiding on a PC running linux: | ||
|
||
``` | ||
export OSAL_SRC = /home/acudmore/osal/src | ||
``` | ||
|
||
In build/osal-config.mak: | ||
|
||
``` | ||
OS=posix | ||
BSP=pc-linux | ||
Optional: OSAL_M32 = -m32 (Note: Usage of this flag may require an optional 'multilib' (or similar) | ||
package to be installed. Refer to your operating system and toolchain documentation for details, if | ||
adding the appropriate flag causes your builds to fail due to (for example) missing 32-bit or | ||
multilib related headers or libraries.) | ||
``` | ||
# Quick Start: | ||
|
||
Optional: Some Linux systems may require an additional linker option in src/bsp/pc-linux/make/link-rules.mak: | ||
Typically OSAL is built and tested as part of cFS as detailed in: [cFS repo](https://github.com/nasa/cFS) | ||
|
||
OSAL library build pc-linux example (from the base osal directory): | ||
``` | ||
LDFLAGS ?= $(OSAL_M32) -export-dynamic | ||
If the symbol-api-test fails, then you need this option. | ||
mkdir build_osal | ||
cd build_osal | ||
cmake -DOSAL_SYSTEM_OSTYPE=pc-linux -DOSAL_SYSTEM_BSPTYPE=pc-linux -DOSAL_INCLUDEDIR=src/bsp/pc-linux/config/ .. | ||
make | ||
``` | ||
See the [Configuration Guide](https://github.com/nasa/osal/blob/master/doc/OSAL-Configuration-guide.pdf) for more information. | ||
|
||
Now just type _make config; make_ from the build directory and it should build the OSAL core files, tests, and sample applications for you. The binary for each application is in its own directory (i.e. build/examples/tasking-example/tasking-example.bin) You can switch to that directory and run it. You can also debug it using GDB. | ||
|
||
NOTE: Running on linux may require root or adjusting the posix message queue maximum sizes. | ||
See also the autogenerated user's guide: <https://github.com/nasa/cFS/blob/gh-pages/OSAL_Users_Guide.pdf> | ||
|
||
The Embedded targets take a little more work to run, because they must be cross compiled and booted on the board. By copying a target, you should be able to come up with a new target. | ||
## Known issues | ||
|
||
If you would like just the OSAL itself, just look in src/os/inc for the include files and src/os/ | ||
|
||
<your os="" here=""> | ||
for the OSAL implementation.</your> | ||
|
||
The API documentation is in the _doc_ directory. | ||
|
||
There are two sets of tests: build/tests and build/unit-tests. To build and the unit tests, perform the build steps above then _make unit-tests_ in the build directory. | ||
|
||
Instructions on how to use the newely supported cmake build system are provided in the OSAL Configuration Guide located in the _doc_ directory. | ||
|
||
# Contact Information: | ||
|
||
``` | ||
Alan Cudmore | ||
NASA Goddard Space Flight Center | ||
Code 582.0 | ||
Greenbelt, MD 20771 | ||
[email protected] | ||
``` | ||
See all open issues and closed to milestones later than this version. | ||
|
||
# Copyright notice: | ||
## Getting Help | ||
|
||
Copyright United States Government as represented by the Administrator of the National Aeronautics and Space Administration | ||
For best results, submit issues:questions or issues:help wanted requests at <https://github.com/nasa/cFS>. | ||
|
||
# License information: | ||
Official cFS page: <http://cfs.gsfc.nasa.gov> | ||
|
||
This software is licensed under NASAs Open Source Agreement. The release of the software is conditional upon the recipients acceptance of the Open Source Agreement. Please see the file: NASA_Open_Source_Agreement_1_3-OS_AbstractionLayer.txt |
Binary file not shown.