AN0822: Simplicity Studio™ User Guide Simplicity Studio greatly reduces development time and complexity with Silicon Labs' EFM32, EFM8, and 8051 MCUs, wireless MCUs, and ZigBee SoCs. Simplicity Studio can create wireless applications and provides hardware configuration, network analysis, real-time energy debugging, a high-powered IDE, and links to helpful resources, all in one place. Download and install Simplicity Studio from: http://www.silabs.com/simplicity-studio.
AN0822: Simplicity Studio™ User Guide Relevant Resources 1. Relevant Resources • Simplicity IDE Guide—In the Simplicity Studio IDE, select [Help]>[Help Contents] to display this guide as well as any installed documentation. • AN0821: Simplicity Studio C8051F85x Walkthrough—This document provides a step-by-step walkthrough for using the Simplicity Configurator and Simplicity IDE tools with the C8051F85x family.
AN0822: Simplicity Studio™ User Guide Overview 2. Overview Simplicity Studio is a launching pad for everything needed to evaluate, configure, and develop with EFM32, EFM8, and 8051 MCUs, wireless MCUs, and ZigBee SoCs. The software gathers all of these tools as tiles representing each activity. These tiles are separated into four categories: Tools, Software and Kits, Part Documentation, and Resources.
AN0822: Simplicity Studio™ User Guide Overview 2.1 Part Selection Selecting the device in the Product area of the launcher will change the available tiles and the behavior of each tile in the launcher. The part can be selected by searching for a part, using the Parametric Search button to the left of the search box, or the [Refresh detected hardware] option after connecting a kit or board. Figure 2.1.
AN0822: Simplicity Studio™ User Guide Overview Figure 2.2. Using the Parametric Search To automatically detect the appropriate device, connect the board to the PC. The board will automatically detect, or click the [Refresh detected hardware] option. Simplicity Studio will scan for any connected devices and present a list. Select the device from the list. 2.
AN0822: Simplicity Studio™ User Guide Overview 2.5 Resources The [Resources] section provides links to useful resources, like the Silicon Labs Community or Technical Support. silabs.com | Smart. Connected. Energy-friendly. Rev. 0.
AN0822: Simplicity Studio™ User Guide Kit Manager 3. Kit Manager The [Kit Manager] is a tool used to control the supported starter and development kits. When connected to a kit, the tool displays information about the kit and the MCU present on the kit. Figure 3.1. Kit Manager The [Update Kit] section is used to update the kit firmware. Whenever a new firmware version is released, enter the location of the new firmware image here and install the new firmware on the kit.
AN0822: Simplicity Studio™ User Guide Kit Manager The default setting, [MCU], will debug the device on the kit. To use the on-board debug adapter to debug custom hardware, select the [Out] option in this drop-down menu, and the debug signals will be routed to the debug header on the kit. The [In] option will enable an external debug adapter on the debug header to debug the MCU on the board.
AN0822: Simplicity Studio™ User Guide Setup Tasks 4. Setup Tasks The [Setup Tasks] tile consolidates all optional setup items after installing Simplicity Studio. These items include: • Configuring Simplicity Studio to use an installation of IAR Embedded Workbench for ARM. • Installing CP210x VCP drivers for C8051 kits. • Licensing the Keil tools for the EFM8 and C8051 8-bit MCUs. Select an item from the list and click the [Launch setup] button to start a setup task. Figure 4.1. Setup Tasks silabs.
AN0822: Simplicity Studio™ User Guide Energy Profiler 5. Energy Profiler The [Energy Profiler] is a tile available from the Simplicity Studio Tools area and enables Advanced Energy Monitoring. This tool enables power profiling of code in real-time by measuring the power consumption. Some devices also support linking the power consumed with the associated line of code. Figure 5.1. Energy Profiler More information on this tool can be found at .http://www.silabs.com/support/training/pages/online-training.
AN0822: Simplicity Studio™ User Guide Simplicity Configurator 6. Simplicity Configurator Simplicity Configurator is part of Simplicity Studio and greatly simplifies EFM32, EFM8, and C8051 MCU peripheral initialization by presenting peripherals and peripheral properties in a graphical user interface. The majority of the initialization firmware can be generated by selecting peripherals and property values from combo boxes or entering register values in text boxes.
AN0822: Simplicity Studio™ User Guide Network Analyzer 7. Network Analyzer The Simplicity Network Analyzer enables debugging of complex wireless systems. This tool captures a trace of wireless network activity that can be examined in detail live or at a later time. Figure 7.1. Simplicity Network Analyzer The Simplicity Network Analyzer incorporates all the features of Silicon Labs’ Ember Desktop software.
AN0822: Simplicity Studio™ User Guide Network Analyzer 7.2 Logging Results Simplicity Network Analyzer can record software-based debug activity from the firmware on the embedded networking devices, allowing application developers a glimpse into which firmware events correlate closely in time with certain network-related events and transactions.
AN0822: Simplicity Studio™ User Guide Application Builder 8. Application Builder Simplicity Studio shortens the software design cycle and reduces time-to-market with Application Builder, a graphical interface that works in harmony with Silicon Labs’ application framework to make critical design choices up-front. Figure 8.1.
AN0822: Simplicity Studio™ User Guide Application Builder 8.1 Callback Interface AppBuilder is very versatile, with one example being the callback interface, which allows user applications to be notified about important events or make decisions based on runtime state. Software designers can choose which callbacks are needed for their application and can leave the rest disabled so that only the chosen callbacks appear in the user’s Callbacks C file.
AN0822: Simplicity Studio™ User Guide Simplicity IDE 9. Simplicity IDE The Simplicity IDE is an Eclipse-based Integrated Development Environment (IDE) enabling code editing, downloading, and debugging for Wireless (including EM35xx), EFM32, EFM8, and 8051 devices. Figure 9.1. Simplicity IDE Launch the Simplicity IDE from the Simplicity Studio launcher by clicking on the [Simplicity IDE] tile, clicking the [Software Examples] tile, or using the [Import Project] button in the [Application Notes] tile.
AN0822: Simplicity Studio™ User Guide Simplicity IDE Figure 9.2. Launching Simplicity IDE 9.1 Workspaces A workspace in the Simplicity IDE is a grouping of active projects shown in the [Project Explorer] view and is tied to a physical location on disk. The workspace contains the top-level IDE settings, including the global defaults, view window positions, and the projects in the workspace. The workspace information is contained in the metadata (.metadata) subdirectory in the workspace directory.
AN0822: Simplicity Studio™ User Guide Simplicity IDE 9.3 Importing a Project To import a project from Keil µVision4, IAR Embedded Workbench, or the 8-bit Silicon Labs IDE into Simplicity IDE: 1. Go to [File]>[Import]. 2. Select [Simplicity Studio]>[MCU Project]. 3. Follow the steps in the wizard to finish importing the project. The SDK is a collection of header files and examples for the device families. The header files define registers and enumerations for each bitfield within registers. 9.
AN0822: Simplicity Studio™ User Guide Simplicity IDE 9.5 Creating a New Project There are four project types in Simplicity Studio: • Empty C Program • Example—This type of project is based on a pre-existing example. • Library—A Library project enables the creation of a library, which can then be used as part of another project. • Simplicity Configurator Program—This type of project enables pin, clock, and peripheral configuration of supported devices.
AN0822: Simplicity Studio™ User Guide Simplicity IDE 9.6 Views and Perspectives Perspectives are a saved set and configuration of views. Each view within a perspective provides information specific to the active perspective’s task. For example, while debugging a project, the [Debug] perspective shows the [Debug] view with stack trace information, [Registers] view, [Breakpoints] view, [Expressions] view, and [Disassembly] view.
AN0822: Simplicity Studio™ User Guide Simplicity IDE 9.7 Code Editing and Debugging Features Simplicity IDE is a code editing and development environment. The editor includes context highlighting, reference searching, and standard features found in any modern editor. Open Declaration In addition to the basic features, Simplicity IDE supports many advanced code-editing features. For example, the IDE automatically indexes all code within the project to support symbol lookup.
AN0822: Simplicity Studio™ User Guide Simplicity IDE 1 2 3 4 Figure 9.4. Finding Symbol Declarations Content Assist Simplicity Studio also supports code completion, a feature called [Content Assist]. Content Assist requires that the appropriate header files be included in the file so that the symbols are available. To use [Content Assist], type the first few letters of a symbol or include file and press [Ctrl+Space] to display a list of symbols that match.
AN0822: Simplicity Studio™ User Guide Simplicity IDE 2. Press [Ctrl+Space] to display the [Content Assist] list. 3. Use the arrow keys or page up and down keys to look through the list of matching symbols. 4. Pressing [Enter] will replace the typed characters with the selected symbol. 1 2 Figure 9.5. Using Content Assist Link with Editor The [Link with Editor] button synchronizes the editor with the [Project Explorer] view, highlighting the file currently selected in the editor. silabs.com | Smart.
AN0822: Simplicity Studio™ User Guide Simplicity IDE Figure 9.6. Link with Editor Symbol Expansion Hovering over a function or macro in the editor will create a hover window with expanded information on that symbol. Figure 9.7. Symbol Expansion Task Lists The task list will automatically pick up any comments with [TODO] in the line and consolidate them into the [Tasks] view. To add this view, go to [Window]>[Show View]>[Other], type in [Tasks], and press [OK].
AN0822: Simplicity Studio™ User Guide Simplicity IDE Figure 9.8. Using the Task List Quick-Access Console Pressing [Ctrl+3] within Simplicity Studio brings up a quick-access console for locating any menu or view within the IDE. For example, press [Ctrl+3] and type [Preferences]. This lists all of the Preferences menus available within Simplicity Studio. Then, select an option to open the menu. silabs.com | Smart. Connected. Energy-friendly. Rev. 0.
AN0822: Simplicity Studio™ User Guide Simplicity IDE Figure 9.9. Quick-Access Console Call Hierarchy The IDE includes a call stack and call hierarchy that can help debug and find where functions are called. To find the call hierarchy for a function in either debug or development mode, right-click on it and select [Open Call Hierarchy]. silabs.com | Smart. Connected. Energy-friendly. Rev. 0.
AN0822: Simplicity Studio™ User Guide Simplicity IDE Figure 9.10. Using the Call Stack and Call Hierarchy Snapshots The [Snapshot] feature is available while debugging saves the values of the registers on a device at a particular point in time. Take a [Snapshot] when the core is halted and the register values are constant and accessible by the debug hardware. Each [Snapshot] is listed in the [Snapshot Albums] view.
AN0822: Simplicity Studio™ User Guide Simplicity IDE Figure 9.11. Using the Snapshot Feature silabs.com | Smart. Connected. Energy-friendly. Rev. 0.
AN0822: Simplicity Studio™ User Guide Simplicity IDE 9.8 Common Actions The common actions while developing are described in Table 9.1 Simplicity IDE Development Toolbar on page 28. Table 9.1. Simplicity IDE Development Toolbar Icon Command Description Debug The [Debug] button starts a new debug session. An active debug session must be disconnected before starting a new session using the same debug adapter. Build The [Build] button builds the selected project.
AN0822: Simplicity Studio™ User Guide Simplicity IDE Figure 9.12. Navigating the IDE while Debugging 9.9 Running Blinky with an EFM32 Device To create a project based on the Blinky example using the Zero Gecko starter kit: 1. From the main Simplicity Studio window, click the [Software Examples] tile. 2. In the first [Project setup] page of the project creation wizard: a. Select [Zero Gecko 3200 Starter Kit] in the [Kit] drop-down menu. b.
AN0822: Simplicity Studio™ User Guide Simplicity IDE 9.10 Running Blinky with an EFM8 or 8-bit Device To create a project based on the Blinky example using the EFM8BB1 starter kit: 1. From the main Simplicity Studio window, click the [Software Examples] tile. 2. In the first [Project setup] page of the project creation wizard: a. Select [EFM8BB1 Starter Kit] in the [Kit] drop-down menu. b. The wizard automatically selects the [EFM8BB10F8G] device in the [Part] drop-down menu. c.
AN0822: Simplicity Studio™ User Guide Other Tools 10. Other Tools More information on the other tools available in Simplicity Studio can be found at http://www.silabs.com/support/%20training/pages/ online-training.aspx and http://www.silabs.com/simplicity-studio. silabs.com | Smart. Connected. Energy-friendly. Rev. 0.
Simpilcity Studio One-click access to MCU tools, documentation, software, source code libraries & more. Available for Windows, Mac and Linux! www.silabs.com/simplicity MCU Portfolio www.silabs.com/mcu SW/HW Quality Support and Community www.silabs.com/simplicity www.silabs.com/quality community.silabs.