CMSIS-Core system configuration files provide as a minimum the functions for system initialization and clock configuration as described under System and Clock Configuration. The file names use naming convention system_<Device>.h
and system_<Device>.c
, where <Device>
corresponds to the device name.
system_<Device>.h
file shall contain the prototypes for accessing the public functions and system_<Device>.c
shall contain corresponding implementations.
The system configuration functions are device specific and need adaptation for the target device. The silicon vendor might expose other functions and configuration parameters such as XTAL, power configuration, etc.
Additional application-specific adaptations may be required in the initialization code and therefore the system configuration file shall be located in the application project. Delivery in CMSIS-Packs explains how this can be achieved when device support is provided in CMSIS pack format.
CMSIS-Core Device Template Files include system_Device.c
and system_Device.h
files that can be used as a starting point for implementing device-specific system configuration files.