blob: d3887e1ead77a8ed7d0ec960b5952ae538e20bc3 (
plain) (
tree)
|
|
SPDX-License-Identifier: CC-BY-SA-4.0
copyrights:
- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
glossary-type: term
links:
- role: glossary-member
uid: ../glossary-general
term: software component
text: |
This term is defined by ECSS-E-ST-40C 3.2.28 as a "part of a software
system". For this project a *software component* shall be any of the
following items and nothing else:
* ${softwareunit:/term}
* explicitly defined ${elf:/term} symbol in a
${sourcecode:/term} file
* ${assemblerlanguage:/term} data in a source code file
* ${clanguage:/term} object with static storage duration
* C language object with thread-local storage duration
* ${thread:/term}
* ${interruptservice:/term}
* collection of *software components* (this is a software architecture
element)
Please note that explicitly defined ELF symbols and assembler language
data are considered a software component only if they are defined in a
${sourcecode:/term} file. For example, this rules out symbols
and data generated as side-effects by the toolchain (compiler, assembler,
linker) such as jump tables, linker trampolines, exception frame information,
etc.
type: glossary
|