CMSIS-Compiler provides software components that simplify retargeting of standard C run-time library functions.
Application code frequently uses standard C library functions, such as fopen
, fwrite
, printf()
, scanf()
and others to perform input/output operations. These functions may as well be used in a multithreaded environment.
The structure of these functions in the standard C run-time library together with the retarget interfaces is:
Standard C library functions are platform independent and can be easily ported, while the low-level interfaces needs to be tailored to the chosen platform. Generally low-level I/O functions serve to interact with the file system and a serial interface, i.e. terminal. Multithreading support is available for applications that run on top of an RTOS kernel.
CMSIS-Compiler enables platform specific retargeting by providing software components that break down into the following interfaces:
The pages Low-Level I/O Retarget and Multithreading Support Retarget explain the details about how retargeting is done using the provided components.
Using CMSIS-Compiler developers can retarget standard I/O streams and file operations to specific platform and enable thread safe operations using RTOS interface.
Note
- CMSIS-Compiler replaces and extends retargeting functionality previously provided as part of Keil::ARM_Compiler pack.
- See Migrating projects from CMSIS v5 to CMSIS v6 for a guidance on updating existing projects to CMSIS-Compiler.
The CMSIS-Compiler component is available for the following toolchains:
Support for IAR Compiler support will be added in a future revision of the CMSIS-Compiler.
CMSIS-View is actively maintained in CMSIS-Compiler GitHub repository and is released as a standalone CMSIS-Compiler pack in the CMSIS-Pack format.
The table below explains the content of ARM::CMSIS-Compiler pack.
Directory | Description |
---|---|
📂 documentation | Folder with this CMSIS-Compiler documenation |
📂 example | I/O Retarget example project |
📂 include | Header files with Retargeting functions |
📂 source | Compiler-specific implementations of regargeting functions |
📂 template | User Template files |
📄 ARM.CMSIS-Compiler.pdsc | CMSIS-Pack description file |
📄 LICENSE | License Agreement (Apache 2.0) |
See CMSIS Documentation for an overview of CMSIS software components, tools and specifications.
This documentation contains the following sections:
CMSIS-Compiler is provided free of charge by Arm under the Apache 2.0 License