Building#

Simplicity Studio® 5 (SSv5) offers two convenient ways to compile or 'build' projects:

Projects are built with the toolchain defined when the project was created, and using the active configuration. Project files must be generated before you can build the project.

Progress is shown in the lower right of the Simplicity IDE perspective.

new project generate

Speed varies depending on your system, number of projects, and other factors. Be sure that generation and indexing complete before building the application image.

The result of the build is a compiled application known as a firmware image or binary. The binaries are physically located in a directory named for the compiler used to generate them, and are also shown as a 'binaries' group in project explorer. Right-click a binary for a context menu from which you can debug, flash, and perform other functions.

The binaries generated depend on both the SDK and the target device. For example, the Keil® 8051 compiler for an 8-bit device generates:

  • *.hex (application image)

  • *.omf (contains additional debug information)

The GNU ARM® compiler for a 32-bit device using the Zigbee EmberZNet SDK generates:

  • *.axf (image that can be read on a Microsoft Windows device)

  • *.bin (binary image file, can be flashed to any address)

  • *.gbl (Gecko Bootloader file, specialized firmware file for use with the Gecko bootloader)

  • *.hex (application image file)

  • *.s37 (similar to a binary file but contains the target memory location to flash to - an application image or a bootloader image, but not both)

Note that if you need a .gbl file but do not see one in the binary directory, you can use Simplicity Commander to create one. Commands invoked from Simplicity Commander's CLI can be used to:

  • Generate key files for signing and encryption

  • Sign application images for Secure Boot

  • Create GBL images (encrypted or unencrypted, signed or unsigned)

  • Parse GBL images

For details about using Simplicity Commander see UG162: Simplicity Commander Reference Guide.

For details about using the Gecko Bootloader, including its enhanced security features, see UG266: Silicon Labs Gecko Bootloader User's Guide.

See your SDK's quick-start guide for more stack-specific information about building and flashing.

About Toolchains#

SSv5 provides a GNU ARM® toolchain to build projects for 32-bit devices and a 30-day evaluation license to the Keil® 8051 toolchain to build projects for 8-bit devices. You can apply for a free full license when you build an 8-bit project.

build flash keil

You can also add your own toolchain, for example IAR-EWARM. IAR is required for some projects, such as the Zigbee Dynamic Multiprotocol and Micrium OS examples. However, you must use the version specified in the SDK release notes front page under compatible tools. See your SDK's quick-start guide for information on how to load a compatible version and obtain a free evaluation license. SSv5 provides an integration package for IAR, so that you can use that tool within SSv5.

build flash iar integration

Projects use the toolchain selected at the time of project creation. The selection is available on the first of the three New Project Wizard dialogs.

new project target toolchain

The toolchain and build configuration are displayed in Project Explorer view with the project directory. The build configuration determines whether the image is built for debugging or release. Default is typically equivalent to a debug build.

build flash project directory

If more than one toolchain is available, you can configure which are presented as options when creating a new project. In the Preferences filter field type toolchain. Uncheck the ones you do not wish to display. You can also completely remove toolchains, or add new toolchains through this dialog.

tips toolchains

Simple Build#

Right-click the project directory and in the context menu select Build, or click the Build (hammer) button on the Simplicity IDE perspective toolbar to build a project with its toolchain and the active build configuration.

build flash hammer

While the Build menu selection always uses the active configuration, the Build button's drop-down menu allows you to select a different configuration. This also changes the active configuration for the project to the one selected.

If the Build button is not enabled, make sure you have a project directory or file in the directory selected.

Debug Build and Flash#

Click the Debug (bug) button in either the Simplicity IDE or Debug perspective to build an application image, flash it to the device, and open the Debug perspective (if it is not already open).

build flash debug button

The Debug button's drop-down menu allows you to select the project in your workspace you want to debug.

build flash debug drop-down

If you have a lot of projects use Organize Favorites to select favorites and organize them. These projects then appear at the top of the selection list with other projects below a demarcation line.

build flash debug favorites

Select Debug Configurations to open a tabbed set of configuration option dialogs. If you click Debug, the build and flash process will proceed with the options you selected.

See Using the Debugger for more information.

build flash debug configuration