Skip to content

Commit 33471c7

Browse files
authored
Merge pull request #521 from nasa/integration-candidate
Integration candidate: 2020-06-17
2 parents bc73437 + d47f38f commit 33471c7

File tree

654 files changed

+12032
-5298
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

654 files changed

+12032
-5298
lines changed

LICENSE

+201-247
Large diffs are not rendered by default.
-89.3 KB
Binary file not shown.
-585 KB
Binary file not shown.

README.md

+38-83
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
11
Travis-CI: [![Build Status](https://travis-ci.com/nasa/osal.svg)](https://travis-ci.com/nasa/osal)
22

3-
# Operating System Abstraction Layer Project
3+
# Core Flight System : Framework : Operating System Abstraction Layer
44

5-
![OSAL Logo by Michael Cudmore](./doc/OSAL-Logo.png)
5+
This repository contains NASA's Operating System Abstraction Layer (OSAL), which is a framework component of the Core Flight System.
66

7-
The OS Abstraction Layer was originally devloped by the Flight Software Systems Branch at NASA Goddard Space Flight Center.
7+
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.
88

9-
# OS Abstraction Layer information:
10-
11-
This distribution contains:
12-
13-
1. The OS Abstraction Layer Library
14-
2. Tests and example applications
15-
3. A directory structure and makefiles to manage it all.
9+
The autogenerated OSAL user's guide can be viewed at <https://github.com/nasa/cFS/blob/gh-pages/OSAL_Users_Guide.pdf>.
1610

1711
## Version History
1812

13+
### Development Build: 5.0.21
14+
15+
- Command line options in Linux are no longer ignored/dropped.
16+
- No impact to current unit testing which runs UT assert as a standalone app. Add a position independent code (PIC) variant of the ut_assert library, which can be dynamically loaded into other applications rather than running as a standalone OSAL application. This enables loading
17+
UT assert as a CFE library.
18+
- Unit tests pass on RTEMS.
19+
- Resolve inconsistency in how the stack size is treated across different OS implemntations. With this change the user-requested size is passed through to the underlying OS without an enforced minimum. An additional sanity check is added at the shared layer to ensure that the stack size is never passed as 0.
20+
- Update Licenses for Apache 2.0
21+
- See <https://github.com/nasa/osal/pull/521>
1922

2023
### Development Build: 5.0.20
2124
- Add "non-zero" to the out variable description for OS_Create (and related) API's.
@@ -152,97 +155,49 @@ UT Hook functions now have the capability to get argument values by name, which
152155

153156
- Minor updates (see <https://github.com/nasa/osal/pull/264>)
154157

155-
### **_Release Candidate: 5.0._**
158+
### **_OFFICIAL RELEASE: 5.0.0_**
156159

157-
- In build verification testing to be considered for official release
158-
- Release documentation in work
159-
- This is a point release from an internal repository
160+
- Changes are detailed in [cFS repo](https://github.com/nasa/cFS) release 6.7.0 documentation
161+
- Released under the Apache 2.0 license
160162

161163
### **_OFFICIAL RELEASE: 4.2.1a_**
162164

163-
- Released under the NOSA license, see
164-
165-
<license>
166-
</license>
167-
168-
- See [version description document](OSAL%204.2.1.0%20Version%20Description%20Document.pdf)
165+
- Released under the [NOSA license](https://github.com/nasa/osal/blob/osal-4.2.1a/LICENSE)
166+
- See [version description document](https://github.com/nasa/osal/blob/osal-4.2.1a/OSAL%204.2.1.0%20Version%20Description%20Document.pdf)
169167
- This is a point release from an internal repository
170168

171-
# Getting Started:
172-
173-
See the document _doc/OSAL-Configuration-Guide.doc_ for complete details.
174-
175-
See User's Guide: <https://github.com/nasa/cFS/blob/gh-pages/OSAL_Users_Guide.pdf>
176-
177-
An easy way to get started is to use the Linux port and classic build:
178-
179-
1. Set the _OSAL_SRC_ environment variable to point to the OSAL source code.
180-
181-
- Running setvars.sh will set the variable for you ($source ./setvars.sh)
182-
183-
2. Edit the _build/osal-config.mak_ file and set the following options:
184-
185-
- BSP - Set this to the board you are running on. For a PC running linux, use _pc-linux_
186-
- OS - Set this to the OS you are running. For a PC running linux, use _posix_.
187-
- OSAL_M32 - Uncomment/Add this build variable for building 32-bit images using "native" GCC on a 64-bit X86 Linux platform
188-
189-
Buiding on a PC running linux:
169+
# Quick Start:
190170

191-
```
192-
export OSAL_SRC = /home/acudmore/osal/src
193-
```
194-
195-
In build/osal-config.mak:
171+
Typically OSAL is built and tested as part of cFS as detailed in: [cFS repo](https://github.com/nasa/cFS)
196172

173+
OSAL library build pc-linux example (from the base osal directory):
197174
```
198-
OS=posix
199-
BSP=pc-linux
200-
201-
Optional: OSAL_M32 = -m32 (Note: Usage of this flag may require an optional 'multilib' (or similar)
202-
package to be installed. Refer to your operating system and toolchain documentation for details, if
203-
adding the appropriate flag causes your builds to fail due to (for example) missing 32-bit or
204-
multilib related headers or libraries.)
175+
mkdir build_osal
176+
cd build_osal
177+
cmake -DOSAL_SYSTEM_BSPTYPE=generic-linux ..
178+
make
205179
```
206180

207-
Optional: Some Linux systems may require an additional linker option in src/bsp/pc-linux/make/link-rules.mak:
208-
181+
OSAL permissive build with tests example (see also [CI](https://github.com/nasa/osal/blob/master/.travis.yml))
209182
```
210-
LDFLAGS ?= $(OSAL_M32) -export-dynamic
211-
212-
If the symbol-api-test fails, then you need this option.
183+
mkdir build_osal_test
184+
cd build_osal_test
185+
cmake -DENABLE_UNIT_TESTS=true -DOSAL_SYSTEM_BSPTYPE=generic-linux -DOSAL_CONFIG_DEBUG_PERMISSIVE_MODE=TRUE ..
186+
make
187+
make test
213188
```
214189

215-
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.
216-
217-
NOTE: Running on linux may require root or adjusting the posix message queue maximum sizes.
190+
See the [Configuration Guide](https://github.com/nasa/osal/blob/master/doc/OSAL-Configuration-guide.pdf) for more information.
218191

219-
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.
192+
See also the autogenerated user's guide: <https://github.com/nasa/cFS/blob/gh-pages/OSAL_Users_Guide.pdf>
220193

221-
If you would like just the OSAL itself, just look in src/os/inc for the include files and src/os/
194+
## Known issues
222195

223-
<your os="" here="">
224-
for the OSAL implementation.</your>
225-
226-
The API documentation is in the _doc_ directory.
227-
228-
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.
229-
230-
Instructions on how to use the newely supported cmake build system are provided in the OSAL Configuration Guide located in the _doc_ directory.
231-
232-
# Contact Information:
233-
234-
```
235-
Alan Cudmore
236-
NASA Goddard Space Flight Center
237-
Code 582.0
238-
Greenbelt, MD 20771
239-
240-
```
196+
See all open issues and closed to milestones later than this version.
241197

242-
# Copyright notice:
198+
## Getting Help
243199

244-
Copyright United States Government as represented by the Administrator of the National Aeronautics and Space Administration
200+
For best results, submit issues:questions or issues:help wanted requests at <https://github.com/nasa/cFS>.
245201

246-
# License information:
202+
Official cFS page: <http://cfs.gsfc.nasa.gov>
247203

248-
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

default_config.cmake

-12
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,3 @@
1-
#
2-
#
3-
# Copyright (c) 2020, United States government as represented by the
4-
# administrator of the National Aeronautics Space Administration.
5-
# All rights reserved. This software was created at NASA Goddard
6-
# Space Flight Center pursuant to government contracts.
7-
#
8-
# This is governed by the NASA Open Source Agreement and may be used,
9-
# distributed and modified only according to the terms of that agreement.
10-
#
11-
#
12-
131
##########################################################################
142
#
153
# Default configuration options for OSAL

0 commit comments

Comments
 (0)