UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS

Similar documents
UG103.8: Application Development Fundamentals: Tools

QSG105 GETTING STARTED WITH SILICON LABS WIRELESS NETWORKING SOFTWARE

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

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

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

How To Develop A Toolstick

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

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

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

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

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

ZigBee Technology Overview

Silabs Ember Development Tools

UG103.9 EMBER APPLICATION DEVELOPMENT FUNDAMENTALS: ZLL

AN437. Si4432 RF PERFORMANCE AND FCC COMPLIANCE TEST RESULTS. 1. Introduction. 2. Relevant Measurements to comply with FCC

UG110 EMBER EM35X DEVELOPMENT KIT USER GUIDE

UG103-13: Application Development Fundamentals: RAIL

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

TS7 EMBER DEBUG ADAPTER (ISA3) TECHNICAL SPECIFICATION

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

AN220 USB DRIVER CUSTOMIZATION

Figure 1. 8-Bit USB Debug Adapter

USB FM Radio-RD USB FM RADIO USER S GUIDE. 1. USB FM Radio Setup. One-time set-up enables configuration of presets and region specific FM band

AN220 USB DRIVER CUSTOMIZATION

Bootloader with AES Encryption

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

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

In the idle state, the TIP lead will be high impedance to ground and the RING lead will have the battery voltage. See Figure 1.

EM35x Development Kit User Guide

USER GUIDE EDBG. Description

AN335 USB DRIVER INSTALLATION METHODS. 1. Introduction. 2. Relevant Documentation. 3. DPInst Installation and Customization

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

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

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

Selection Criteria for ZigBee Development Kits

AN3354 Application note

UG102 EMBER APPLICATION FRAMEWORK DEVELOPER GUIDE

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

UG103.1 APPLICATION DEVELOPMENT FUNDAMENTALS: WIRELESS NETWORKING

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

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

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

AN10866 LPC1700 secondary USB bootloader

AN111: Using 8-Bit MCUs in 5 Volt Systems

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

Application Note: AN00141 xcore-xa - Application Development

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

etpu Host Interface by:

Introducing a platform to facilitate reliable and highly productive embedded developments

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

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

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

Network connectivity controllers

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

Synapse s SNAP Network Operating System

Windows 7: Using USB TAP on a Classic CodeWarrior Installation (MGT V9.2 DSC V8.3)

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

Radiocrafts Embedded Wireless Solutions

Getting Started with Kinetis SDK (KSDK)

Nuvoton Nu-Link Debug Adapter User Manual

SN 132 SNAPstick QUICK START GUIDE

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

CodeWarrior Development Studio for Freescale S12(X) Microcontrollers Quick Start

Going Linux on Massive Multicore

Product Brief. 2.0 microtoled. Intelligent GOLDELOX Display Module. µtoled-20-g2. Rev 1.0

Robust Over-the-Air Firmware Updates Using Program Flash Memory Swap on Kinetis Microcontrollers

AND8336. Design Examples of On Board Dual Supply Voltage Logic Translators. Prepared by: Jim Lepkowski ON Semiconductor.

Genesi Pegasos II Setup

USER GUIDE. ZigBit USB Stick User Guide. Introduction

Implementing SPI Master and Slave Functionality Using the Z8 Encore! F083A

Design Considerations for DVT and Manufacturing Test of Wireless Devices

Developing an Application for the i.mx Devices on the Linux Platform

Using the Kinetis Security and Flash Protection Features

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

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

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

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

Programming Audio Applications in the i.mx21 MC9328MX21

PAC52XX Clock Control Firmware Design

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

Zynq-7000 Platform Software Development Using the ARM DS-5 Toolchain Authors: Simon George and Prushothaman Palanichamy

Soft processors for microcontroller programming education

Introduction to Silicon Labs. November 2015

Embedded Software development Process and Tools:

How To Build A Project On An Eclipse Powerbook For Anarc (Powerbook) On An Ipa (Powerpoint) On A Microcontroller (Powerboard) On Microcontrollers (Powerstation) On Your Microcontroller 2 (Powerclock

Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start

Software Real Time Clock Implementation on MC9S08LG32

Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start

Adapting the PowerPC 403 ROM Monitor Software for a 512Kb Flash Device

Getting Started with Embedded System Development using MicroBlaze processor & Spartan-3A FPGAs. MicroBlaze

Thingsquare Technology

UM1790 User manual. Getting started with STM32L053 discovery kit software development tools. Introduction

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

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

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

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

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

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

HVP-KV31F120M Quick Start Guide

Transcription:

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. New in This Revision Updated for Thread release; adds Manufacturing Library section. Contents 1 Introduction... 2 2 Stack Software... 3 3 Compiler Toolchain... 4 4 Development Environment... 4 5 Peripheral Drivers... 4 6 Bootloaders... 4 7 Manufacturing Library... 4 8 Node Test... 5 9 Hex File Utilities... 5 10 Debug Adapter (ISA3)... 6 11 ZigBee Over-the-air Bootload Image Generation (image-builder)... 6 Rev 0.9 Copyright 2015 by Silicon Laboratories UG103.8

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. Table 1 summarizes the major tools for each device. Table 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. 2 Rev. 0.9

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. Figure 1 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 Stack API Transport Application Support (APS) Network Routing and Discovery MAC Radio Abstraction Security Power Management Hardware Abstraction Silicon Labs Software Customer Software Figure 1. Silicon Labs Stack and Customer Software Interaction Rev. 0.9 3

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). 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. 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. 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. 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 4 Rev. 0.9

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. 8 Node Test 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 the AN710 Bringing up Custom Devices. 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. 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 Table 2. Table 2. Hex File Tools Tool em3xx_load em3xx_load em3xx_convert em3xx_buildimage em3xx_load 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. 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. 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. Rev. 0.9 5

10 Debug Adapter (ISA3) The Debug Adapter (ISA3) provides the programming, debugging, and data emulation capability for an EM3xbased 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. 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. 6 Rev. 0.9

CONTACT INFORMATION Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 Tel: 1+(512) 416-8500 Fax: 1+(512) 416-9669 Toll Free: 1+(877) 444-3032 For additional information please visit the Silicon Labs Technical Support page: http://www.silabs.com/support/pages/default.aspx Patent Notice Silicon Labs invests in research and development to help our customers differentiate in the market with innovative low-power, small size, analog-intensive mixed-signal solutions. Silicon Labs' extensive patent portfolio is a testament to our unique approach and world-class engineering team. The information in this document is believed to be accurate in all respects at the time of publication but is subject to change without notice. Silicon Laboratories assumes no responsibility for errors and omissions, and disclaims responsibility for any consequences resulting from the use of information included herein. Additionally, Silicon Laboratories assumes no responsibility for the functioning of undescribed features or parameters. Silicon Laboratories reserves the right to make changes without further notice. Silicon Laboratories makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Silicon Laboratories assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Silicon Laboratories products are not designed, intended, or authorized for use in applications intended to support or sustain life, or for any other application in which the failure of the Silicon Laboratories product could create a situation where personal injury or death may occur. Should Buyer purchase or use Silicon Laboratories products for any such unintended or unauthorized application, Buyer shall indemnify and hold Silicon Laboratories harmless against all claims and damages. Silicon Laboratories, Silicon Labs, and Ember are registered trademarks of Silicon Laboratories Inc. Other products or brandnames mentioned herein are trademarks or registered trademarks of their respective holders. Rev. 0.9 7