For each device, the MCU vendor provides a header file that pulls-in additional header files required by the device driver library and the Core Peripheral Access Layer. Include the file device_family.h into the source code.
To stay CMSIS-compliant, use the predefined exception and interrupt constants, core functions, and middleware functions for accessing device peripherals. CMSIS-compliant device drivers contain a startup-code file, including the vector table for various supported compilers. Some CMSIS-compliant source code files are listed below:
- device_family.h is the header file defining the device.
- core_cm3.h is the header file defining the device core.
- core_cm3.c contains core intrinsic functions.
- system_device_family.h contains device specific interrupt and peripheral register definitions.
- system_device_family.c contains system functions and the initialization code.
- startup_device_family.s contains the start-up code.
Note
- CMSIS examples can be found on the microcontroller vendor's web site.