]> begriffs open source - cmsis/blob - CMSIS/DoxyGen/Compiler/src/main.md
OS Tick: moved from Device to CMSIS class
[cmsis] / CMSIS / DoxyGen / Compiler / src / main.md
1 # CMSIS-Compiler {#mainpage}
2
3 **CMSIS-Compiler** provides software components for retargeting I/O operations in standard C run-time libraries. Following interfaces are supported for retargeting:
4
5 - File interface for reading and writing files.
6 - I/O interface for standard I/O stream retargeting (stderr, stdin, stdout).
7 - OS interface for multithread safety using an arbitrary RTOS.
8
9 ![Overview of CMSIS-Compiler](./images/cmsis_compiler_overview.png)
10
11 Standard C library functions are platform independent, but the implementations of the low-level I/O and multithreading support are tailored to the target compiler toolchains.
12
13 ## Access to CMSIS-Compiler
14
15 CMSIS-Compiler is maintained in a GitHub repository and is also released as a standalone package in CMSIS Pack format.
16
17 - [**CMSIS-Compiler GitHub Repo**](https://github.com/Arm-Software/CMSIS-Compiler) provides the full source code as well as releases in CMSIS-Pack format.
18 - [**CMSIS-Compiler Documentation**](https://arm-software.github.io/CMSIS-Compiler/latest/) explains how to use the library and describes the implemented functions in details.
19
20 ## Key Features and Benefits
21
22 - CMSIS-Compiler allows individual retargeting configuration for common I/O interfaces: file, stderr, stdin, stdout.
23 - Implements several ready-to-use retarget variants: into File, Breakpoint, Event Recorder, ITM, as well as user-specific variant.
24 - Supports common standard C libraries, such as from Arm Compiler and GCC (Newlib) toolchains. IAR support is planned.
25 - Provides implementation templates and examples to get started.