MCU Templates are a kind of a common project framework or software framework needed for developers to have an easy start in development with MCUs. MCU Templates are historical started within Fujitsu (the times Fujitsu was a semiconductor company) by request of well-known customers. MCU Templates offering everything required to start development of embedded software beginning with an empty main.c, but with everything else configured and with an already done MCU startup.
- … are base for standalone-examples.
- … are offering an out-of-the-box “empty” start for developers
- … helping to improve the daily work, as soon it offers a well-known base for development and a common denominator reproducing issues. Developers can also use MCU Templates to describe their issues on a minimal base.
- … are base for software examples
The MCU Template is a software framework offering an easy start with different toolchains but using the same source files. The developer can just double-click the IDE project file to have a ready to use empty project. Currently following toolchains are supported:
- ARM (Keil μVision)
- Atollic (Atollic TrueStudio)
- iSYSTEM (iSYSTEM WinIDEA Open)
- IAR (IAR Embedded Workbench for ARM Cortex M)
- Makefile (GNU)
For all toolchains the MCU is already configured in case of startup file, flash loaders, linker settings, etc. The developer can directly start with “main.c” with his own program. Only the different flash sized are implemented as different targets or configurations which can be selected in the toolchain. There are two different types of targets: Debug and Release targets. The Debug targets are running in RAM while Release targets are running in FLASH.
The structure contains of following parts (sub-folders):
In the common folder contains:
- The MCU headerfile (<mcuname>.h)
- The system files defined by CMSIS (system_<mcuseries>.h and system_<mcuseries>.c)
- The GPIO macros used for pin configuration
- The base type variable definition (base_types.h)
The CMSIS folder contains the SVD file and necessary includes for the CMSIS core if using GNU tool chains not implementing this in the tool chain.
The doc folder contains a doxyfile helping to create a doxygen documentation.
The example folder contains all project files for different toolchains as well as the source folder where the main.c file is located and the developers code can be placed.
As soon libraries will be used, these will be placed in the sub-folders lowlevel, middleware and highlevel inside of the library folder. The examples folder inside of the library folder contains ready to use examples for use with the included low level library. The MCU template does not include by default the low level library.
As soon thirdparty libraries or code is used, this is put into this folder.