Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release processing 5.0.0 #517

Merged
merged 4 commits into from
Jun 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
448 changes: 201 additions & 247 deletions LICENSE

Large diffs are not rendered by default.

Binary file removed OSAL 4.2.1.0 Version Description Document.docx
Binary file not shown.
Binary file removed OSAL 4.2.1.0 Version Description Document.pdf
Binary file not shown.
115 changes: 26 additions & 89 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,105 +1,42 @@
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.

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.

The OS Abstraction Layer was originally devloped by the Flight Software Systems Branch at NASA Goddard Space Flight Center.
## References
- [Configuration guide](doc/OSAL-Configuration-Guide.pdf)
- [API documentation](doc/OSAL%20Library%20API.pdf)

OS Abstraction Layer information:
=================================
## Version History

This distribution contains:

1. The OS Abstraction Layer Library
2. Tests and example applications
3. A directory structure and makefiles to manage it all.

Release Notes:
==============

- 5.0.0: RELEASE CANDIDATE
- In build verification testing to be considered for official release
- Release documentation in work
- This is a point release from an internal repository
- **5.0.0: OFFICIAL RELEASE**
- Changes are detailed in [cFS repo](https://github.com/nasa/cFS) release 6.7.0 documentation
- Released under the Apache 2.0 license
- **4.2.1a OFFICIAL RELEASE**
- Released under the NOSA license, see [LICENSE](LICENSE)
- Released under the NOSA license
- See [version description document](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.

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

Optional: Some Linux systems may require an additional linker option in
src/bsp/pc-linux/make/link-rules.mak:

LDFLAGS ?= $(OSAL_M32) -export-dynamic

If the symbol-api-test fails, then you need this option.

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.

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.

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.

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.
## Quick start

Contact Information:
====================
Typically OSAL is built and tested as part of cFS as detailed in: [cFS repo](https://github.com/nasa/cFS)

Alan Cudmore
NASA Goddard Space Flight Center
Code 582.0
Greenbelt, MD 20771
Alan.P.Cudmore@nasa.gov
OSAL library build pc-linux example (from the base osal directory):
```
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 for more information.

Copyright notice:
=================
## Known issues

Copyright United States Government as represented by the Administrator of the National Aeronautics and Space Administration
See all open issues and closed to milestones later than this version.

License information:
====================
## Getting Help

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
For best results, submit issues:questions or issues:help wanted requests at <https://github.com/nasa/cFS>.

Official cFS page: <http://cfs.gsfc.nasa.gov>
20 changes: 20 additions & 0 deletions build/tests/symbol-api-test/dumpsymtab.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
/*
* NASA Docket No. GSC-18,370-1, and identified as "Operating System Abstraction Layer"
*
* Copyright (c) 2019 United States Government as represented by
* the Administrator of the National Aeronautics and Space Administration.
* All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/


/*
** This program is an example of how to parse a symbol table dump file.
Expand Down
Loading