OpenSDA on TWR-KW2x. User s Guide Rev 1.1

Similar documents
Quick Start Guide for FRDM-KL05Z

Quick Start Guide for the Freescale Freedom Development Platform FRDM-KL43Z

Quick Start Guide for FRDM-KL46Z Rev 1

Quick Start Guide for FRDM-KL46Z Rev 1

Freescale MKW40Z IEEE Software Quick Start Guide

P1010RDB-PB Quick Start Guide

HVP-KV10Z32 User s Guide

Component Development Environment Getting Started Guide

TWR-KV10Z32 Sample Code Guide for IAR Board configuration, software, and development tools

New VLE Instructions for Improving Interrupt Handler Efficiency Robert Moran Applications Engineer Microcontroller Solutions Group

HVP-KV31F120M User s Guide

TWR-KV10Z32 Sample Code Guide for CodeWarrior Board configuration, software, and development tools

FRDM-KE04Z User s Guide User Guide

Mask Set Errata for Mask 2N27B

Getting Started with Freescale MQX RTOS for Kinetis SDK and MDK-ARM Keil

S12Z MagniV LIN Bootloader

CodeWarrior U-Boot Debugging

i.mx 6ULZ Migration Guide

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis,

QN9080 QN908x RF Certification Guide

Adding a run control interface into an existing CodeWarrior for MCU v10.x project

Qorivva MPC5744P Evaluation Board 144LQFP Expansion Board User s Guide Barbara Johnson Applications Engineering

Using the Xtrinsic FXOS8700CQ Command Line Interface Software

Kinetis USB-KW41Z Wireless Protocol Sniffer Quick Start Guide

Migrating Applications from MC9S12VR64 to MC9S12VR32 by: Manuel Rodríguez

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM

IMXPINSQSUG Quick Start Guide on Pins Tool for i.mx Processors

Kinetis Updater User's Guide

Kinetis SDK Freescale Freedom FRDM-KL03Z Platform User s Guide

Mask Set Errata for Mask 3N86B

Load Position-Independent Code (PIC) on a Kinetis Platform Using the IAR EWARM Compiler

Using VRC_CTL to Control an External VDD_LV Supply on the MPC5748G

MQX RTOS Release Notes for Kinetis SDK FRDM- KV10Z Freescale Freedom Development Platform

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobilegt, PowerQUICC,

MQX RTOS Release Notes for Kinetis SDK v1.2.0 for KL33Z64 for FRDM-KL43Z Freescale Freedom Development Platform

QCVS Frame Distributor Wizard User Guide

TWR-LS1021A Getting Started

FRDM-K64F Board Errata

i.mxrt1060 Product Lifetime Usage Estimates

Kinetis Bootloader v1.2.0 Release Notes

Quick Start Guide for FRDM-FXS-MULTI-B

Reference Design KL25-AGMP01 User Guide 10-Axis Data Logger Tool Kit

Kinetis SDK Release Notes for the TWR-K24F120M Tower System Module

CodeWarrior Development Studio for Advanced Packet Processing v10.3.1

Emulating Dual SPI Using FlexIO

S32K1xx Bootloader. 1. Introduction. 2. Architecture description. NXP Semiconductors. Application Notes Rev. 1, 10/2018. Contents

Wai Chee Wong Sr.Member of Technical Staff Freescale Semiconductor. Raghu Binnamangalam Sr.Technical Marketing Engineer Cadence Design Systems

How to Reduce SoC Power when Running M4 with A53 on i.mx8m

FRDM-KE02Z User s Manual

FRDM-KL03Z User s Guide

Working around ERR7026 according to application needs

Offline Flash Programmer for Kinetis K- and L-series MCUs

TWR-LS1021A Getting Started

Getting Started with the MCU Flashloader

Getting Started with Freescale MQX RTOS for Kinetis SDK and ARM GCC

Freescale, the Freescale logo, AltiVec, C- 5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis,

Kinetis SDK v Release Notes for the MK21DA5 and MKW24D5 Devices

Contents 2. Contents

Freescale. TWR-KL25Z Tower Module User Manual TWR-KL25Z-UM Rev. 1.0

Differences Between S32K11x and S32K142

Kinetis SDK v Release Notes for KV5x Derivatives

Exception and fault checking on S32K1xx

Freedom FRDM-KV31F Development Platform User s Guide

Freescale MQX USB Stack for TWR-K24F120M GA User s Guide

IMXPINSQSUG Pins Tool for i.mx Processors Installation User's Guide

Choice of 2 technology platforms. Flexibility in Timing. Flexibility in Teams

Freescale Kinetis Software Development Kit Release Notes

Getting Started with Freescale MQX RTOS for Kinetis SDK and Kinetis Design Studio IDE

Kinetis Bootloader to Update Multiple Devices in a Field Bus Network

Production Flash Programming Best Practices for S32K1xx MCUs

Jan ps/site/prod_summary.jsp?code=r DMK30&fsrch=1&sr=1

Quick Start Guide. TWR-KV10Z32 Development Kit for Kinetis KV1x Family TOWER SYSTEM

WPR1500-LDO MP Receiver V2.1 Reference Design User s Guide

Processor Expert Software for i.mx Processors Version 1.0

Freescale MQX RTOS TWR-K64F120M Release Notes

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis,

MC34708TRN Rev /1/2011

Using the PASS module in MPC5748G to implement password-based protection for flash and debugger access

Collecting Linux Trace without using CodeWarrior

Getting Started with FreeRTOS BSP for i.mx 7Dual

Three-Phase Power Meter Hardware Design Reference Manual

DDR Validation Tool Getting Started Guide

Freedom FRDM-MC-LVBLDC Development Platform User s Guide

Getting Started with MQX RTOS for Kinetis SDK

HVP-MC56F82748 User s Guide

KIT09XS3400EVBE Evaluation Board User Guide Featuring the MC09XS3400

MCU Bootloader Release Notes

Integrate TWR-EPD Software with MQX RTOS Based on the TWR-K21F120M Platform

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM

FRDM-KL26Z User s Guide

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

Watt Saver Software Component (WSC)

Building U-Boot in CodeWarrior ARMv8

DDR Memory controller fundamentals review

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C- Ware, the Energy Efficient Solutions logo, Kinetis,

Kinetis Bootloader Demo Application User's Guide

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he Energy Efficient Solutions logo, mobilegt, PowerQUICC,

CodeWarrior Development Studio for StarCore 3900FP DSP v SP3 Release Notes

How to setup pre-build steps in CodeWarrior for Microcontrollers v10.x

Bharat Bhushan, Stuart Yoder

Transcription:

OpenSDA on TWR-KW2x User s Guide 2013 Rev 1.1 Freescale, Inc. TKW2x_OSDAUG

Table of Contents 1 Overview...3 1.1 OpenSDA Hardware...4 1.2 OpenSDA Software...4 1.2.1 MSD Bootloader...4 1.2.2 P&E Debug Application...5 1.2.3 MSD Flash Programmer...6 1.2.4 USB Communications Device Class (CDC)...7 2 Getting Started with OpenSDA...8 2.1 Getting into Bootloader Mode...8 2.2 Loading an OpenSDA Application...8 2.3 Using the MSD Flash Programmer...8 3 LED Status Indicator...9 TKW2x_OSDAUG OpenSDA User s Guide 2

1 Overview OpenSDA is an open-standard serial and debug adapter. It bridges serial and debug communications between a USB host and an embedded target processor as shown in Figure 1. The hardware circuit is based on a Freescale Kinetis K20 family microcontroller (MCU) with 128 KB of embedded flash and an integrated USB controller. The host interface supports two application modes: - Mass Storage Device (MSD): Allows to easily program applications into the flash of the target processor by dragging the new binary onto the drive - Debug Application: Provides an interface to Integrated Development Environment (IDE) software, allowing the debug of an application directly from the OpenSDA interface. Both application modes support the USB Communications Device Class (USB CDC Interface) that bridges serial communications between the USB Host and a UART serial interface on the target processor. In order to switch between these application modes, the OpenSDA interface processor must be started in bootloader mode and the corresponding OpenSDA application firmware has to be dragged and dropped into the drive. Note: Previous OpenSDA firmware didn t incorporate both MSD and Debug applications into the same firmware. Current version supports both functionalities in the same firmware. This document provides information required to operate OpenSDA. Information on how to integrate OpenSDA into a custom hardware design and how to create custom OpenSDA applications can be found in the OpenSDA Developer s Guide (available October 2012). Figure 1. OpenSDA High-Level Block Diagram TKW2x_OSDAUG OpenSDA User s Guide 3

1.1 OpenSDA Hardware OpenSDA is managed by a Kinetis K20 MCU built on the ARM Cortex -M4 core. The Kinetis K20 includes an integrated USB controller that can operate at clock rates up to 50MHz. The OpenSDA circuit includes, at a minimum, a status LED and a pushbutton. The pushbutton asserts the Reset signal to the target processor, which could be a microcontroller, digital signal controller, or a microprocessor. SPI and GPIO signals provide an interface to either a JTAG or an SWD debug port on a target processor. Additionally, signal connections are available to implement a UART serial channel. The OpenSDA circuit receives power when plugged into a USB Host. In some designs, the OpenSDA circuit can also control the power supply of the target processor. 1.2 OpenSDA Software OpenSDA software includes a flash-resident USB MSD Bootloader and a collection of OpenSDA Applications. The MSD Bootloader is consistent across all implementations of OpenSDA, but the available OpenSDA Applications may vary from one hardware system to another. The following sections describe the MSD Bootloader and the standard OpenSDA Applications provided by Freescale: the P&E Debug Application and the MSD Flash Programmer. 1.2.1 MSD Bootloader The OpenSDA MSD Bootloader provides a simple interface for loading an OpenSDA Application into the OpenSDA processor s non-volatile memory. Only one OpenSDA Application may be resident at a time, and this application will be automatically run at startup unless Bootloader mode is selected by putting a jumper on J30 pins while plugging in a USB cable. The MSD Bootloader appears in the host file system as a removable drive with a volume label of BOOTLOADER, as Figure 2 shows. An OpenSDA Application is loaded by simply dragging and dropping an OpenSDA Application file onto the BOOTLOADER drive, which implements a pseudo- FAT16 file system. OpenSDA Applications can be in S-record, raw binary file, or an encrypted.sda file formats. Status information is provided through a text file named LASTSTAT.TXT. Figure 2. MSD Bootloader file list shown in Windows Explorer on Windows 7 Figure 2 shows the files listed in a typical OpenSDA Bootloader. All files are readable as text files. The *.HTM files execute links to live web pages and, if executed, will open the default browser and load the TKW2x_OSDAUG OpenSDA User s Guide 4

specified web page. Table 1 summarizes the files in the MSD Bootloader and MSD Flash Programmer removable drives. Table 1. OpenSDA Mass Storage Device File List Filename FSL_WEB.HTM LASTSTAT.TXT SDA_INFO.HTM TOOLS.HTM SERCD89.INF SERCD89.CAT Description Link to the primary hardware development tool s web site on freescale.com The text in this file reflects the latest status information from the previous operation. If no operation has been performed, the contents of the file will be Ready.. Following a successful application update operation, the contents will read Completed.. Link to the OpenSDA web page that contains the latest documentation, software drivers, and OpenSDA Applications available from P&E Microcomputer Systems Embedded in this file are id-value pairs that provide detailed information about the hardware: ID Tag Description BOARD Board name (e.g. TWR-MKW24D) BOOTVER Bootloader version APPNAME Installed application APPVER Application version These values will be available on the web page and they can also be read directly from the SDA_INFO.HTM file contents. Link to additional software and hardware tools available for Freescale products. Windows driver files for the USB CDC serial communications port built into the MSD Flash Programmer OpenSDA Application. These files are available in the MSD Flash Programmer drive, but not in the BOOTLOADER drive. Note: Some operating systems cache the files on the BOOTLOADER drive. Because of this, files that were copied to the OpenSDA Bootloader drive may be seen in the file system even though they are not stored to the non-volatile flash memory of the OpenSDA controller. These files will no longer appear once power has been cycled to the OpenSDA device. 1.2.2 P&E Debug Application The P&E Debug Application is an OpenSDA Application that provides debugging and a virtual serial port all in one application. It provides a run-control debug interface that controls the JTAG or SWD debug interface to the target processor. It also provides a USB communications device class (CDC) interface that bridges serial communications between the USB Host and a UART serial interface on the target processor. Several integrated development environments support the P&E Debug Application including CodeWarrior for Microcontrollers (v10.3 and later), IAR Embedded Workbench (v6.40.3 and later), Keil MDK (v4.54 w/ P&E patch), as well as software from P&E Microcomputer Systems. TKW2x_OSDAUG OpenSDA User s Guide 5

USB Drivers for all P&E Microcomputer Systems debug tools can be found online at www.pemicro.com/opensda. The P&E Debug Application is designed to debug the resident target processor in the OpenSDA system with limited support for off-board devices within the same processor family as the resident target processor. 1.2.3 MSD Flash Programmer The MSD Flash Programmer offers a very easy and convenient way to program applications into the flash of the target processor. Like the MSD Bootloader, the MSD Flash Programming Application emulates a FAT16 file system and enumerates as a mass-storage device. It appears as a removable drive in the host operating system with a volume label that matches the board name (for example, TWRKW2xDxxx). Raw binary and Motorola S-Record files that are copied to the drive are programmed directly into the target memory device. This is most often the flash of the target microcontroller, but it could also be another memory device, such as a serial flash, depending on the specific implementation. Figure 3. MSD Flash Programmer file list shown in Windows Explorer on Windows 7 The MSD Flash Programmer is designed to program a specific target configuration. It does not support verification or configuration and is not recommended as a production programmer. The Cyclone products from P&E Microcomputer Systems are recommended for production programming. They provide production programming solutions with many different features and verification options that are highly configurable: http://www.pemicro.com/opensda/tools. The MSD Flash Programmer also provides a USB communications device class (CDC) interface that bridges serial communications between the USB Host and a UART serial interface on the target processor. The drivers required to install this USB CDC device on a Windows operating system are embedded within the pseudo file system of the MSD Flash Programmer itself. USB drivers are available at www.pemicro.com/opensda that can be preinstalled; however, it is not necessary to do so to run the MSD Flash Programmer. If Windows fails to find the CDC drivers on its own, the OS can be pointed to the drivers on the MSD Flash Programmer s removable drive. TKW2x_OSDAUG OpenSDA User s Guide 6

Board and flash programming operation status are also available in text files on the removable drive. The same files that are accessible in the MSD Bootloader are also available in the MSD Flash Programmer s removable drive. Figure 3 shows the files available on TWR-KW2x hardware. Refer to Table 1 for a description of each file. Note: The MSD Flash Programmer currently only operates correctly on Windows operating systems. However, the USB CDC virtual serial port functions properly in Windows, Linux and Mac operating systems. 1.2.4 USB Communications Device Class (CDC) Several of the default OpenSDA Applications provided by Freescale, including the MSD Flash Programmer and the P&E Debug Application, provide a USB Communications Device Class (CDC) interface that bridges serial communications between the USB Host and a UART serial interface on the target processor. With a Windows host operating system, the USB CDC interface will automatically be assigned a COM number, such as COM10 or COM11. To understand which COM number has been assigned to the unit, refer to the Windows Device Manager (Start->Run-> mmc devmgmt.msc ) and look in the Ports section. Many free terminal applications, such as HyperTerminal, Tera Term and PuTTY, are available to send and receive serial traffic in Windows. When the USB CDC interface enumerates on the Linux host operating system, it is generally assigned a tty* hardware identifier. Many free terminal applications, such as minicom, are available to send and receive serial traffic in Linux. Make sure you have the appropriate permissions in the operating system to access this port. Drivers, which can be downloaded from http://www.pemicro.com/opensda, help configure these permissions. The OpenSDA Applications do not drive the serial transmit pin to the target microcontroller until the CDC serial port is opened by an application on the host operating system. After that, these pins will be driven and will remain driven even after the USB CDC serial port is closed. Note: There is a known Windows issue that affects most terminal applications. The virtual COM port will be removed from the device manager when the USB cable is unplugged even if a terminal application has the virtual COM port opened. The virtual COM port will not be accessible even after the virtual serial device is reconnected unless the virtual COM port is released by the application prior to the reconnection, which may require closing the application first. Close the terminal application before unplugging the OpenSDA USB cable. TKW2x_OSDAUG OpenSDA User s Guide 7

2 Getting Started with OpenSDA Follow these simple steps to interact with embedded OpenSDA. 2.1 Getting into Bootloader Mode The Bootloader runs automatically when a powered USB cable is attached to the OpenSDA-compliant device and immediately executes the installed OpenSDA Application unless forced into Bootloader mode by the user. To force the device into Bootloader mode, use the following procedure: 1. Unplug the USB cable (if attached). 2. Insert a jumper in J30 (1-2 pins) 3. Plug in a USB cable from a USB Host to the OpenSDA USB port. 4. A removable drive will be visible in the host file system with a volume label of BOOTLOADER. For more information, double-click the FSL_WEB.HTM link to open the tools pages for the development system in use and explore the other files embedded in the hardware. See Table 1 for a description of these files. 2.2 Loading an OpenSDA Application 1. Locate the desired OpenSDA Application. Freescale standard OpenSDA Applications may be downloaded from the web page links provided in the MSD Bootloader or MSD Flash Programmer removable drives (SDA_INFO.HTM). 2. Enter Bootloader mode by following the instructions in Section 2.1. 3. Drag/drop or copy/paste the desired application to the BOOTLOADER drive. 4. Unplug the USB cable from the host 5. Remove jumper from J30 6. Plug in the USB cable to the host 5. The OpenSDA application should now be running 2.3 Using the MSD Flash Programmer 1. Load the appropriate version of the MSD Flash Programmer application into the OpenSDA board as described in Section 2.2. There are many versions of the MSD Flash Programming application and it is important to choose the version which is specific to the hardware being programmed. 2. Copy an S-record (commonly a file with.s19 or.srec extension) or a raw/flat binary file (commonly a file with a.bin extension) to the MSD removable drive with a volume label of the target hardware (for example, TWRKW2xDxxx). 3. If programming is successful, the embedded application executes automatically. Regardless, the contents of the LASTSTAT.TXT file are updated with the latest status information. TKW2x_OSDAUG OpenSDA User s Guide 8

3 LED Status Indicator The OpenSDA LED indicator is used by the MSD Bootloader and the standard OpenSDA Applications to provide mode and status information. A description of the LED indicator states and patterns is provided in Table 2. Table 2. LED Status and Mode information OpenSDA Mode State Description LED Pattern Bootloader Prior to USB enumeration Off Bootloader Idle running normally with no error conditions Blinking: 500ms on, 500ms off Bootloader Error 2 sec off followed by rapid on/off blinks Application Prior to USB enumeration Off Application Running normally with no error conditions and On no USB activity Application USB activity (i.e. MSD or CDC activity) Blinking Application Error 2 seconds off followed by 8 rapid on/off blinks TKW2x_OSDAUG OpenSDA User s Guide 9

How to Reach Us: Home Page: freescale.com Web Support: freescale.com/support Information in this document is provided solely to enable system and software implementers to use Freescale products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale reserves the right to make changes without further notice to any products herein. Freescale makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale 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. Typical parameters that may be provided in Freescale data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including Typicals, must be validated for each customer application by customer s technical experts. Freescale does not convey any license under its patent rights nor the rights of others. Freescale sells products pursuant to standard terms and conditions of sale, which can be found at the following address: http://www.reg.net/v2/webservices/freescale/docs/termsandconditions.htm Freescale, the Freescale logo, Altivec, C-5, CodeTest, CodeWarrior, ColdFire, C_Ware, Energy Efficient Solutions logo, Kinetis, mobilegt, PowerQUICC, Processor Expert, QorIQ, Qorriva, StarCore, Symphony, and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, MadniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, SMARTMOS, TurboLink, Vybrid, and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. Freescale Semiconductor, Inc. 2013. All rights reserved. TKW2x_OSDAUG Rev. 1.1 2013-12-30 TKW2x_OSDAUG OpenSDA User s Guide 10