UG103.8: Application Development Fundamentals: Tools



Similar documents
UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS

Figure 1. 8-Bit USB Debug Adapter

UG103-13: Application Development Fundamentals: RAIL

AN962: Implementing Master-Slave Timing Redundancy in Wireless and Packet- Based Network Applications

AN111: Using 8-Bit MCUs in 5 Volt Systems

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

AN580 INFRARED GESTURE SENSING. 1. Introduction. 2. Hardware Considerations

UG129: ZigBee USB Virtual Gateway Reference Design (RD ) User's Guide

AN486: High-Side Bootstrap Design Using ISODrivers in Power Delivery Systems

AN803. LOCK AND SETTLING TIME CONSIDERATIONS FOR Si5324/27/ 69/74 ANY-FREQUENCY JITTER ATTENUATING CLOCK ICS. 1. Introduction

AN952: PCIe Jitter Estimation Using an Oscilloscope

AN862. OPTIMIZING Si534X JITTER PERFORMANCE IN NEXT GENERATION INTERNET INFRASTRUCTURE SYSTEMS. 1. Introduction

TS1005 Demo Board COMPONENT LIST. Ordering Information. SC70 Packaging Demo Board SOT23 Packaging Demo Board TS1005DB TS1005DB-SOT

QSG105 GETTING STARTED WITH SILICON LABS WIRELESS NETWORKING SOFTWARE

AN922: Using the Command Line Interface (CLI) for Frequency On-the-Fly with the Si5346/47

ETRX3USB ETRX3USB-LRS ETRX3USB+8M ETRX3USB-LRS+8M PRODUCT MANUAL

Bootloader with AES Encryption

Making Prototyping Boards for the EFM32 kits

ZigBee Technology Overview

Current Digital to Analog Converter

Telegesis is a trademark of Silicon Laboratories Inc. Telegesis ZigBee Communications Gateway. Product Manual

Silabs Ember Development Tools

AN0822: Simplicity Studio User's Guide

QSG108: Blue Gecko Bluetooth Smart Software Quick-Start Guide

AN614 A SIMPLE ALTERNATIVE TO ANALOG ISOLATION AMPLIFIERS. 1. Introduction. Input. Output. Input. Output Amp. Amp. Modulator or Driver

AN583: Safety Considerations and Layout Recommendations for Digital Isolators

ZigBee-2.4-DK 2.4 GHZ ZIGBEE DEVELOPMENT KIT USER S GUIDE. 1. Kit Contents. Figure GHz ZigBee Development Kit

RoHs compliant, Pb-free Industrial temperature range: 40 to +85 C Footprint-compatible with ICS , 2.5, or 3.3 V operation 16-TSSOP

UG103.14: Application Development Fundamentals: Bluetooth Smart Technology

AN710 BRINGING UP CUSTOM DEVICES FOR THE EMBER EM35XX SOC OR NCP PLATFORM. (Formerly document )

APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features

How To Develop A Toolstick

UG110 EMBER EM35X DEVELOPMENT KIT USER GUIDE

Selecting the Right MCU Can Squeeze Nanoamps out of Your Next Internet of Things Application

1 Software Overview ncp-uart ash-v3-test-app ash-v3-test-app Command Line Options Testing... 2

AN655 R ANGE TEST APPLICATION FOR EZRADIO AND EZRADIOPRO. 1. Introduction. 2. Supported Radio Types

USER GUIDE EDBG. Description

Backup Power Domain. AN Application Note. Introduction

AN104 I NTEGRATING KEIL 8051 TOOLS INTO THE SILICON LABS IDE. 1. Introduction. 2. Key Points. 3. Create a Project in the Silicon Labs IDE

Table 1. RF Pico Boards of the EZRadioPRO Development Kits. Qty Description Part Number

AN3354 Application note

TS7 EMBER DEBUG ADAPTER (ISA3) TECHNICAL SPECIFICATION

TWR-KV31F120M Sample Code Guide for IAR Board configuration, software, and development tools Rev.0

EM35x Development Kit User Guide

PC Base Adapter Daughter Card UART GPIO. Figure 1. ToolStick Development Platform Block Diagram

AN10866 LPC1700 secondary USB bootloader

Selection Criteria for ZigBee Development Kits

SMARTCARD XPRO. Preface. SMART ARM-based Microcontrollers USER GUIDE

Quick Start Guide. USB Packet Sniffer/Dongle for Kinetis MKW22D and MKW24D Wireless MCUs USB-KW24D512

UG104 TESTING AND DEBUGGING APPLICATIONS FOR THE EMBER EM2XX AND EM35X PLATFORMS

USB Audio Simplified

Application Note: AN00141 xcore-xa - Application Development

Design Considerations for DVT and Manufacturing Test of Wireless Devices

UG102 EMBER APPLICATION FRAMEWORK DEVELOPER GUIDE

APPLICATION. si32library. Callback CMSIS HARDWARE. Figure 1. Firmware Layer Block Diagram

AN728 OVER-THE-AIR BOOTLOAD SERVER AND CLIENT SETUP USING EM35X DEVELOPMENT KITS

AN588 ENERGY HARVESTING REFERENCE DESIGN USER S GUIDE. 1. Kit Contents. 2. Introduction. Figure 1. Energy Harvesting Sensor Node

UM1680 User manual. Getting started with STM32F429 Discovery software development tools. Introduction

Production Flash Programming Best Practices for Kinetis K- and L-series MCUs

APPLICATION NOTE. AT16268: JD Smart Cloud Based Smart Plug Getting. Started Guide ATSAMW25. Introduction. Features

USER GUIDE. ZigBit USB Stick User Guide. Introduction

Wireless Microcontrollers for Environment Management, Asset Tracking and Consumer. October 2009

AN LPC1700 timer triggered memory to GPIO data transfer. Document information. LPC1700, GPIO, DMA, Timer0, Sleep Mode

BLE113 DEVELOPMENT KIT

CPU. PCIe. Link. PCIe. Refclk. PCIe Refclk. PCIe. PCIe Endpoint. PCIe. Refclk. Figure 1. PCIe Architecture Components

CP2110-EK CP2110 EVALUATION KIT USER S GUIDE. 1. Kit Contents. 2. Relevant Documentation. 3. Software Setup

Touchless switch Object detection Handsets Intrusion/tamper detection. Reflectance-Based Proximity Detection PRX. Signal processing SREN

AN335 USB DRIVER INSTALLATION UTILITY. 1. Description. 2. Installation Install Package

Nuvoton Nu-Link Debug Adapter User Manual

ETRX3USB ETRX3USB-LRS ETRX3USB+8M ETRX3USB-LRS+8M PRODUCT MANUAL

APx4 Wireless System-on-Module 5/8/2013 1

AVR1922: Xplain Board Controller Firmware. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

ES_LPC4357/53/37/33. Errata sheet LPC4357/53/37/33. Document information

Radiocrafts Embedded Wireless Solutions

Si52144 PCI-EXPRESS GEN 1, GEN 2, & GEN 3 QUAD OUTPUT CLOCK GENERATOR. Features. Applications. Description. Functional Block Diagram

How To Fix An Lmx9838 Bluetooth Serial Port Module With Bluetooth (Bluetooth 2) From A Bluetooth Bluetooth 4.2 Device With A Bluembee 2.2 Module

Freescale Development Kits IEEE Wireless design made simple. freescale.com/802154

Design Challenges for Adding Relative Humidity Sensors

Accuracy maintained over the entire operating temperature and voltage range Low Power Consumption

CryptoAuth Xplained Pro

TN0072 Technical note

UM0985 User manual. Developing your STM32VLDISCOVERY application using the IAR Embedded Workbench software. Introduction

Mobile and Embedded/IoT market Overview and Trends. June 2014

How To Add A Usb Secondary Ipo Bootloader To An Lpc23Xx Flash Device To A Flash Device

Developing an Application on Core8051s IP-Based Embedded Processor System Using Firmware Catalog Drivers. User s Guide

DKWF121 WF121-A B/G/N MODULE EVALUATION BOARD

SmartFusion csoc: Basic Bootloader and Field Upgrade envm Through IAP Interface

Soft processors for microcontroller programming education

AN220 USB DRIVER CUSTOMIZATION

Getting Started with Kinetis SDK (KSDK)

UM1969 User manual. Getting started with STM32F746G discovery software development tools. Introduction

Embedded Linux Platform Developer

Questions from The New SensorTag - IoT Made Easy Webinar

Building and Debugging a project using Keil MDK-ARM Eclipse plug-in

STM32F4DISCOVERY. Discovery kit with STM32F407VG MCU. Features. Description

Network connectivity controllers

Overcoming Challenges of Connecting Intelligent Nodes to the Internet of Things

User Manual EZR32LG 915MHz Wireless Starter Kit

PAC52XX Clock Control Firmware Design

Embedded Development Tools

Transcription:

UG103.8: Application Development Fundamentals: Tools This document provides an overview of the toolchain used to develop, build, and deploy EmberZNet and Silicon Labs Thread applications, and discusses some additional tools and utilities. It also provides references to more detailed information about the item in the toolchain. If you are developing using Silicon Labs Simplicity Studio, refer to its online and referenced documentation for information about tools. KEY POINTS Describes Silicon Labs legacy toolchain for the EM3x. Covers stack, compiler, and application development and debugging tools. Silicon Labs Application Development Fundamentals series covers topics that project managers, application designers, and developers should understand before beginning to work on an embedded networking solution using Silicon Labs chips, networking stacks such as EmberZNet PRO or Silicon Labs Bluetooth Smart, and associated development tools. The documents can be used a starting place for anyone needing an introduction to developing wireless networking applications, or who is new to the Silicon Labs development environment. silabs.com Smart. Connected. Energy-friendly. Rev. 1.0

Introduction 1. Introduction As with most embedded development technologies, Silicon Labs provides a set of tools to allow you (the developer) to create a product using Silicon Labs wireless networking products. Each Silicon Labs chip family has a toolchain associated with it that addresses its unique development requirements. Wherever possible, we have selected the best development tools available, or we have developed the tool on our own. Silicon Labs is introducing a new development environment, Simplicity Studio. In that environment, some of these tools are no longer required. This document revision is specific to the Ember Desktop development environment, used with the EmberZNet and Silicon Labs Thread stacks. If you are developing using Silicon Labs Simplicity Studio, for example with Silicon Labs Connect, refer to the online help and referenced documentation for information about tools. This document provides an overview of the toolchain that you will use to develop, build and deploy your applications. This document does not provide a step-by-step guide to developing, building, and deploying your application. If you are just getting started with Silicon Labs development kits, see the Quick Start Guide in your kit as a starting point. The tools in the toolchain fall into one of three categories: Stack Software Compiler Toolchain Application Development and Debugging Toolchain The actual toolchain that you will use is device and processor model-dependent. For this discussion, the processor model is either System-on-Chip (SoC) or Network Coprocessor (NCP). The SoC model requires that the customer application to be co-resident with the stack. The NCP model requires that the customer application be on a separate host processor and the stack run on the NCP. The following table summarizes the major tools for each device. Table 1.1. Toolchain Summary Stack Software Compiler Application Development and Debugging EM35x SoC Stack Libraries, HAL source, API Documentation, Sample Applications, Development Kit EM35x NCP Stack Libraries, HAL source, API Documentation, Sample Applications, Utilities, Optional Add-on Development Kit IAR EWARM: IDE: Compiler, Online Help; Debugger (device level); Document Library 3rd Party Compiler Toolchain (depends upon Host Processor Selection) Ember Desktop + Application Builder + Online Help Ember Desktop + Application Builder + Online Help In addition to the major tools above, Silicon Labs also supplies a number of single function tools and utilities such as Bootloaders Programming Support Tools The following sections provide more detail about the most important elements of the toolchain. silabs.com Smart. Connected. Energy-friendly. Rev. 1.0 1

Stack Software 2. Stack Software The network stack software is a collection of libraries, source code, tools, sample applications, and product documentation. The network stack API is documented in an online API reference as well as other documents installed with the stack installer, or available through the development environment. The network stack is delivered as a collection of libraries that you can link to your applications. A description of each library is provided in the development environment. This document applies to the EmberZNet and Silicon Labs Thread network stacks. EmberZNet 5.x is the Silicon Labs implementation of the ZigBee 2007 stack supporting the ZigBee PRO and ZigBee RF4CE feature set. Silicon Labs Thread is the implementation of the Thread protocol, introduced in the summer of 2015. Both Thread and ZigBee PRO support mesh networks, with their increased flexibility and reliability. All EmberZNet PRO and Silicon Labs Thread applications must be linked with the stack library. The following figure illustrates how customer and Silicon Labs stack software interact. In addition to the Fundamentals document family, other resources are available for learning more about your stack software. See the documentation index installed with your stack for more information about available documentation. Customer Application Application Framework Transport Stack API Application Support (APS ) Network Routing and Discovery MAC Radio Abstraction Security Power Management Hardware Abstraction Silicon Labs Software Customer Software Figure 2.1. Silicon Labs Stack and Customer Software Interaction silabs.com Smart. Connected. Energy-friendly. Rev. 1.0 2

Compiler Toolchain 3. Compiler Toolchain As mentioned above, the compiler toolchain is different based upon which platform and processor model you are using. The EM3x devices, when being used as Systems-on-Chip, have customer-accessible processors. The EM3x uses an ARM Cortex -M3 processor and an IAR toolchain that include a compiler, linker, debugger, sample applications, and user documentation. Note: The IAR toolchain is licensed through IAR. Specific information is supplied with your development kit and stack release notes. The EM3x, when acting as a Network Co-Processor, is designed to be a coprocessor to whatever host you might be using. The network coprocessor software is shipped as a binary image, so there is no need to recompile it. One of the most commonly selected hosts is an ARM processor, though many others can be used. You can get additional information at the Silicon Labs Support Portal (http:// www.silabs.com/support/pages/default.aspx). silabs.com Smart. Connected. Energy-friendly. Rev. 1.0 3

Development Environment 4. Development Environment Along with the stack, Silicon Labs provides a development environment (Ember Desktop or Simplicity Studio) and one or more application frameworks. The application frameworks serve as starting places for your application development, and can be customized to your needs using the Application Builder tool in the development environment. The Network Analyzer tool, also part of the development environment, manages the development kit hardware and displays network and node activity in real time. Refer to the Software Quick Start Guide installed with your development kit software for more information about your development environment. At the time of this writing, Ember Desktop is being integrated into Simplicity Studio so that customers will have a single tool chain in the future. Refer to document UG102, Application Framework Developer Guide, and to the Application Framework API for more information about the application frameworks applicable to your protocol and platform. silabs.com Smart. Connected. Energy-friendly. Rev. 1.0 4

Peripheral Drivers 5. Peripheral Drivers Embedded source C code is provided for drivers of peripherals such as the serial controller and analog-to-digital converter (ADC). These drivers let you incorporate standard functionality into custom applications. For more information on these drivers, see the stack API reference for your platform. silabs.com Smart. Connected. Energy-friendly. Rev. 1.0 5

Bootloaders 6. Bootloaders The bootloader is a program stored in reserved flash memory that allows a node to update its image on demand, either by serial communication or over the air. Production-level programming is typically done during the product manufacturing process, yet it is desirable to be able to reprogram the system after production is complete. More importantly, it is valuable to be able to update the device's firmware with new features and bug fixes after deployment. The bootloading capability makes that possible. If you are developing with EmberZNet PRO, see the document UG103.6, Application Development Fundamentals: ZigBee PRO Bootloaders for more details. silabs.com Smart. Connected. Energy-friendly. Rev. 1.0 6

Manufacturing Library 7. Manufacturing Library Silicon Labs supplies a library called the manufacturing library, which is meant to be linked with your production application and provide a means of doing end-of-line manufacturing testing with a light weight library that provides similar functionality to the Node Test application (described in section 8). It can be used to characterize radio performance and validate proper functionality of your device. You can use a token to indicate which mode the application should boot into, either production or test mode. Once done testing, the token will indicate that the application should boot into production mode. silabs.com Smart. Connected. Energy-friendly. Rev. 1.0 7

NodeTest 8. NodeTest The NodeTest applications provide low-level control of the radio and can be used to perform these tasks: Characterize radio performance. Set manufacturing and stack parameters (tokens). Verify proper functionality after manufacturing. Control the radio properly for the certification process required by many countries. For more information about nodetest, see AN1019, Using the NodeTest Application. Most customers have standard product manufacturing test flows, but some do not incorporate RF testing. To address this issue, please see document AN700, Manufacturing Test Guidelines. This document describes the different options available for integrating RF testing and characterization into your standard test flows. This application note is intended for test engineers who are moving from the early prototype development stage to the manufacturing production environment and need assistance with manufacturing test process development. silabs.com Smart. Connected. Energy-friendly. Rev. 1.0 8

Hex File Utilities 9. Hex File Utilities A set of tools for manipulating hex files is also available. All of these utilities are command line (DOS console) applications. The tools are listed in the following table. Table 9.1. Hex File Tools Tool em3xx_load em3xx_load em3xx_convert Description These utilities can be used to program the flash memory space of the EM3x through the SWJ interface. These utilities can be used to examine (dump) or generate a.hex file from the flash of the EM3x through SWJ. This utility is intended for use in converting IAR.s37 application files into Ember.ebl bootload format. In addition to the representation of the application, you can include a representation of the application bootloader of the customer manufacturing tokens. em3xx_buildimage This utility is intended for use in manipulating EM3x file images, which includes generating Intel Hex format (.hex) files from a variety of sources, such as.s37 and.ebl files. In addition to the representation of the application, you can include a representation of the application bootloader of the customer manufacturing tokens. em3xx_load This utility is used to program selected portions of the flash memory space of the EM3x chips through the SWJ interface. See document UG107, EM3x Utilities Guide: For the EM3x Platform, for detailed information on the EM3x utilities. silabs.com Smart. Connected. Energy-friendly. Rev. 1.0 9

Debug Adapter (ISA3) 10. Debug Adapter (ISA3) The Debug Adapter (ISA3) provides the programming, debugging, and data emulation capability for an EM3x-based application. The Ember EM3x chip families integrate the ARM Cortex -M3, 32-bit microcontroller core. The Debug Adapter (ISA3) converts between the JTAG and Serial Wire (SW) commands, Packet Trace Interface, TCP/IP, and UDP for an easy-to-deploy system over 10/100 Ethernet. As part of the EM3x development kits, the Debug Adapter (ISA3) connects to the EM3x module through two interfaces: the 10-pin Packet Trace Port and the 12-pin data emulation interface (DEI). These two interfaces provide access to most EM3x GPIO as well as the EM3x programming and debug I/O. See document TS7, Ember Debug Adapter (ISA3) Technical Specification, for more information about the adapter. See the User Guide for your development kit for information about configuring the Debug Adapter (ISA3). See document AN717, Programming Options for the EM35x for information about using the Debug Adapter (ISA3) in a production environment. silabs.com Smart. Connected. Energy-friendly. Rev. 1.0 10

ZigBee Over-the-air Bootload Image Generation (image-builder) 11. ZigBee Over-the-air Bootload Image Generation (image-builder) The ZigBee Over-the-air bootload specification describes a universal container format for transporting bootload images. Silicon Labs provides a tool known as image-builder that can generate, parse, and manipulate those images. Detailed information on this tool can be found in AN716, Instructions for using Image Builder. silabs.com Smart. Connected. Energy-friendly. Rev. 1.0 11

Smart. Connected. Energy-Friendly. Products www.silabs.com/products Quality www.silabs.com/quality Support and Community community.silabs.com Disclaimer Silicon Laboratories intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Laboratories products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Laboratories reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Silicon Laboratories shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any Life Support System without the specific written consent of Silicon Laboratories. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Laboratories products are not designed or authorized for military applications. Silicon Laboratories products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Trademark Information Silicon Laboratories Inc., Silicon Laboratories, Silicon Labs, SiLabs and the Silicon Labs logo, Bluegiga, Bluegiga Logo, Clockbuilder, CMEMS, DSPLL, EFM, EFM32, EFR, Ember, Energy Micro, Energy Micro logo and combinations thereof, "the world s most energy friendly microcontrollers", Ember, EZLink, EZRadio, EZRadioPRO, Gecko, ISOmodem, Precision32, ProSLIC, Simplicity Studio, SiPHY, Telegesis, the Telegesis Logo, USBXpress and others are trademarks or registered trademarks of Silicon Laboratories Inc. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. All other products or brand names mentioned herein are trademarks of their respective holders. Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 USA http://www.silabs.com