EFR32 Project Templates

The project template system simplifies the creation of new projects with the IDE, it also system makes it easy to create new projects with a text editor or script. All that needs to be specified is the project name, the support packages that the project is dependent on, the target processor and the source files you want to add to the project. For example, create a file called example.hzp with the following contents:

<!DOCTYPE CrossStudio_Project_File>
<solution Name="Example Solution">
  <project Name="Example Project" template_name="EFR32_EXE">
    <configuration Name="Common" package_dependencies="EFR32" Target="EFR32BG12P332F1024GL125" />
    <folder Name="Source Files">
      <file file_name="file1.c" />
      <file file_name="file2.c" />
    </folder>
  </project>
</solution>

You can also add any other property settings that the project requires such as preprocessor definitions or include paths using the property save name, for example:

<!DOCTYPE CrossStudio_Project_File>
<solution Name="Example Solution">
  <project Name="Example Project" template_name="EFR32_EXE">
    <configuration Name="Common" package_dependencies="EFR32" Target="EFR32BG12P332F1024GL125" c_preprocessor_definitions="MYDEF1=1;MYDEF2=TWO" c_user_include_directories="$(ProjectDir)/include1;$(ProjectDir)/include2" />
    <folder Name="Source Files">
      <file file_name="file1.c" />
      <file file_name="file2.c" />
    </folder>
  </project>
</solution>
Available EFR32 project templates
Template NameTemplate Description
EFR32_ASM_EXEEFR32 Assembly Code Only Executable
EFR32_CTL_EXEEFR32 CTL Executable
EFR32_EXEEFR32 C/C++ Executable
EFR32_EXT_EXEEFR32 Externally Built Executable
EFR32_LIBEFR32 Library