Intel System Studio for Microcontrollers

Similar documents
Intel Unite Plugin Guide for VDO360 Clearwater

Intel Unite Plugin for Logitech GROUP* and Logitech CONNECT* Devices INSTALLATION AND USER GUIDE

White Paper. May Document Number: US

Intel Quark Microcontroller Software Interface Pin Multiplexing

Intel Unite. Intel Unite Firewall Help Guide

IPSO 6LoWPAN IoT Software for Yocto Project* for Intel Atom Processor E3800 Product Family

Intel Unite Solution Intel Unite Plugin for WebEx*

Movidius Neural Compute Stick

Modernizing Meetings: Delivering Intel Unite App Authentication with RFID

Intel Security Dev API 1.0 Production Release

Intel Unite Solution Version 4.0

Intel QuickAssist for Windows*

Intel Unite Solution Version 4.0

Clear CMOS after Hardware Configuration Changes

Intel Firmware Support Package (Intel FSP) for Intel Xeon Processor D Product Family (formerly Broadwell-DE), Gold 001

Intel Celeron Processor J1900, N2807 & N2930 for Internet of Things Platforms

Intel Unite. Enterprise Test Environment Setup Guide

Intel Unite Solution Intel Unite Plugin for Ultrasonic Join

Intel Quark Microcontroller Developer Kit D2000

Intel Unite Solution Version 4.0

Intel Omni-Path Fabric Manager GUI Software

Intel Quark SE Microcontroller C1000 Power Sequencing Considerations

Intel Unite Solution. Plugin Guide for Protected Guest Access

Intel Omni-Path Fabric Manager GUI Software

Intel Unite Solution. Plugin Guide for Protected Guest Access

Intel QuickAssist for Windows*

Intel Serial to Parallel PCI Bridge Evaluation Board

Intel Omni-Path Fabric Manager GUI Software

Intel Unite Solution. Linux* Release Notes Software version 3.2

Intel System Debugger 2018 for System Trace Linux* host

Intel Parallel Studio XE 2011 SP1 for Linux* Installation Guide and Release Notes

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.

Intel Parallel Studio XE 2011 for Linux* Installation Guide and Release Notes

Introduction to Intel Boot Loader Development Kit (Intel BLDK) Intel SSG/SSD/UEFI

Intel Unite Solution Version 4.0

Installation Guide and Release Notes

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

Optional Eclipse Workspace Configurations

Omni-Path Cluster Configurator

Hetero Streams Library (hstreams Library) User's Guide

Intel & Lustre: LUG Micah Bhakti

Intel Parallel Studio XE 2015 Composer Edition for Linux* Installation Guide and Release Notes

Intel Integrated Native Developer Experience 2015 (OS X* host)

Intel Galileo Firmware Updater Tool

Getting Started with Kinetis SDK (KSDK) v.1.2

Ethernut 3 Source Code Debugging

Revision: 0.30 June Intel Server Board S1200RP UEFI Development Kit Firmware Installation Guide

Localized Adaptive Contrast Enhancement (LACE)

User Guide. Introduction. Requirements. Installing and Configuring. C Interface for NI myrio

QUICKSTART CODE COMPOSER STUDIO Stellaris Development and Evaluation Kits for Code Composer Studio

Intel IoT Gateway Platform Data Editor Tool

Windows QuickStart Guide Page 1 of Ambiq Micro, Inc All rights reserved.

Intel System Event Log Viewer Utility

Graphics Performance Analyzer for Android

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup Using a USB Debug Adapter

Intel Xeon W-3175X Processor Thermal Design Power (TDP) and Power Rail DC Specifications

Intel Software Guard Extensions SDK for Linux* OS. Installation Guide

C Support for myrio 5.0 User Guide

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup Using a USB Debug Adapter

Getting Started with Kinetis SDK (KSDK) v.1.3

Running Docker* Containers on Intel Xeon Phi Processors

Intel Compute Card Slot Design Overview

Intel Integrated Native Developer Experience 2015 Build Edition for OS X* Installation Guide and Release Notes

Intel System Information Retrieval Utility

PetaLinux SDK User Guide. Eclipse Plugin Guide

SiFive Freedom E310 Arty FPGA Dev Kit Getting Started Guide. c SiFive, Inc.

Kinetis SDK Freescale Freedom FRDM-KL03Z Platform User s Guide

Installation Guide and Release Notes

BIOS Implementation of UCSI

Disassemble the machine code present in any memory region. Single step through each assembly language instruction in the Nios II application.

Intel True Scale Fabric Switches Series

6th Generation Intel Core Processor Series

CodeWarrior Development Studio for Freescale 68HC12/HCS12/HCS12X/XGATE Microcontrollers Quick Start SYSTEM REQUIREMENTS Hardware Operating System 200

Intel Speed Select Technology Base Frequency - Enhancing Performance

Installation Guide and Release Notes

Intel Software Guard Extensions Platform Software for Windows* OS Release Notes

Intel Parallel Studio XE 2011 for Windows* Installation Guide and Release Notes

Getting Started with MCUXpresso SDK

CodeWarrior Development Studio for StarCore DSP SC3900FP Architectures Quick Start for the Windows Edition

PI Scanner User Guide

HAProxy* with Intel QuickAssist Technology

Intel Unite Solution Plugin Guide for Skype* for Business

EKK-LM3S811 QUICKSTART

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup Using a USB Debug Adapter

CodeWarrior Development Studio for etpu v10.x Quick Start SYSTEM REQUIREMENTS

Intel Parallel Studio XE 2019 Update 1

Zhang, Hongchao

Intel Education Theft Deterrent Release Note WW16'14. August 2014

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter

IoT AppZone Release Notes

CodeWarrior Development Studio for Power Architecture Processors Version 10.x Quick Start

Intel Unite Standalone Setup Guide

Jomar Silva Technical Evangelist

DIY Security Camera using. Intel Movidius Neural Compute Stick

Andreas Dilger High Performance Data Division RUG 2016, Paris

Installation Guide and Release Notes

THIS SPEC IS OBSOLETE

Intel Integrated Native Developer Experience 2015 Build Edition for OS X* Installation Guide and Release Notes

AN 834: Developing for the Intel HLS Compiler with an IDE

Old Company Name in Catalogs and Other Documents

Transcription:

Document Number: 333597-002EN

You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted which includes subject matter disclosed herein No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest Intel product specifications and roadmaps. The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800- 548-4725 or by visiting: http://www.intel.com/design/literature.htm Intel technologies features and benefits depend on system configuration and may require enabled hardware, software or service activation. Learn more at http://www.intel.com/ or from the OEM or retailer. No computer system can be absolutely secure. Intel, Intel Quark, and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. Copyright 2016, Intel Corporation. All rights reserved. 2 Document Number: 333597-002EN

Contents 1.0 Introduction... 6 Intended Audience... 6 1.1 Terminology... 6 2.0 Useful Information before Starting... 7 3.0 Set Up Hardware Configuration... 8 4.0 Linux Environment Set Up... 10 5.0 Windows Environment Setup... 11 6.0 Using the Eclipse* IDE... 12 7.0 Creating a New Project in Eclipse... 14 8.0 Building a Project in Eclipse... 15 9.0 Deploying a Project... 16 10.0 Debugging a Project... 17 11.0 Terminating a Debug Session... 18 12.0 Running a Project... 19 13.0 Getting a Serial Output View... 20 14.0 Access SOC Registers EmbSys Registers View... 22 15.0 Updating ROM Image... 23 16.0 Updating the ROM from the Command Line... 24 16.1 Linux... 24 16.2 Windows... 24 17.0 Developing in the Command Line... 25 17.1 Linux... 25 17.2 Windows... 26 18.0 Use Intel Integrated Performance Primitives for Microcontrollers (Intel IPP for Microcontrollers) Library... 27 18.1 Linux... 27 18.2 Windows... 27 Document Number: 333597-002EN 3

Tables Table 1. Terminology... 6 4 Document Number: 333597-002EN

Revision History Date Revision Description 002 Updated release December 2015 001 Initial release Document Number: 333597-002EN 5

1.0 Introduction Intel System Studio 2016 for Microcontrollers is an integrated tool set for developing, debugging and optimizing systems and firmware for the Intel Quark TM microcontroller D2000. This document provides a general overview of the Intel System Studio 2016 for Microcontrollers and information how to use it for developing and debugging applications for the Intel Architecture-based microcontrollers on Linux* and Windows* platforms from the command line and from the Eclipse* IDE. It gives a list of compiler options, Floating Point Emulation library functions, and points to additional product information and technical support. The package integrates the Intel Quark TM Microcontroller Software Interface Board Support Package (Intel QMSI BSP) and all tools to cross compile, flash, and debug for Intel Quark TM microcontroller D2000 with command line or Eclipse* IDE. Intended Audience This document is intended for the experienced system and application microcontroller developers who develop Intel Architecture-based microcontroller systems and devices. 1.1 Terminology Table 1. Terminology Term Description BSP FTDI IRC JTAG QMSI UART Board Support Package Future Technologies Intel Registration Centre Joint Test Action Group Quark Microcontroller Software Interface Universal Asynchronous Receiver/Transmitter 6 Document Number: 333597-002EN

2.0 Useful Information before Starting For more information on Intel Quark microcontroller D2000, refer to: http://www.intel.com/content/www/us/en/embedded/products/quark/mcu/d2000/overvi ew.html For community support and FAQ s please go to: https://communities.intel.com/community/tech/microcontrollers Note: It is advised to read through the Known Limitations section of the ISSM release notes before starting. Document Number: 333597-002EN 7

3.0 Set Up Hardware Configuration The following information refers to a Fab B board. Check sticker on underside for identification. All other versions of board default jumper settings are adequate to use. 1. Make sure all JTAG-Jumpers are set correctly. 2. Connect the USB cable to a host machine and also to USB power supply and JTAG over USB interface to power up the Intel Quark Microcontroller Board. 3. Attach the UART-A pins to a FTDI cable, for serial output of the board. Connect GND (black) on the serial cable to the board s GND pin Connect TXD (orange) on the serial cable to the board s RX pin Connect RXD (yellow) on the serial cable to the board s TX pin. Figure 1. Hardware Configuration Fab B board Note: If RX and TX of UARTB are connected to each other, then GDB will fail to initialise. 8 Document Number: 333597-002EN

Visit http://www.cyberciti.biz/hardware/5-linux-unix-commands-for-connecting-tothe-serial-console/ and http://www.ftdichip.com/products/cables/usbttlserial.htm for serial connection details. Document Number: 333597-002EN 9

4.0 Linux Environment Set Up 1. Install required tools: sudo apt-get install telnet sudo apt-get install default-jre 2. Extract the contents of the archive to a directory with write access and run installation as a current user : tar -xvf l_cembd_mv_xxx./l_cembd_mv_xxx/install_gui.sh 3. Set the USB rules, to allow flash and debug the target: ~/intel/issm_2016.y.xxx/tools/utils/install_driver.sh Note that the default installation path is: - ISSM_ROOT for sudo/root install: /opt/intel/issm_2016.y.xxx - ISSM_ROOT as user: ~/intel/issm_2016.y.xxx 4. Connect the Board and verify that the Linux detects it lsusb Bus 001 Device 002: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC 5. From the ISSM_ROOT location, start the Eclipse* IDE iss_mcu_ide_eclipselauncher. The default locations would be: Linux: - ISSM_ROOT for sudo/root install: /opt/intel/issm_2016.y.xxx/iss_mcu_ide_eclipse-launcher - ISSM_ROOT as user: ~/intel/issm_2016.y.xxx/iss_mcu_ide_eclipse-launcher 6. Go to Section 6.0 for information on using the Eclipse IDE. 10 Document Number: 333597-002EN

5.0 Windows Environment Setup 1. Ensure all prerequisites have been met: a. The package supports x64 host architecture only. b. Java* Runtime Environment version 1.7(64-bit) or higher must be installed in order to use Eclipse* Luna IDE. c. D2000 board should be plugged in the host PC in order to properly install the Microsoft* Winusb driver (user can reinstall the driver later from C:\IntelSWTools\ISSM_2016.0.XXX\tools\debugger\driver\install.bat) d. Internet connection is required to install the TinyCrypt component. 2. Double click on the installer (w_cembd_mv_xxx.exe) to run it. 3. Tools are typically installed in C:\IntelSWTools 4. ISSM_ROOT location will typically be C:\IntelSWTools\ISSM_2016_0_XXX 5. To launch the IDE: a. Either click on the iss_mcu_ide_eclipse-launcher.bat in that folder or b. In Windows 7/8 type Intel System Studio 2016 for Microcontrollers in the Search Programs and Files pane and click on the following icon Document Number: 333597-002EN 11

6.0 Using the Eclipse* IDE 1. Select the location to create a workspace and click ok: Figure 2. Create a Workspace 2. Once Eclipse is launched, the main page gives the user immediate access to quick start options and useful documentation. 12 Document Number: 333597-002EN

Figure 3. Eclipse* Opening Window Document Number: 333597-002EN 13

7.0 Creating a New Project in Eclipse 1. From the toolbar menu, select: Intel ISSM > New Intel QMSI/BSP Project... 2. In the new wizard, choose: Project Name: accelerometer Template: accel Intel Quark Target: D2000 Connection: USB Onboard Figure 4. Creating a New Project in Eclipse 14 Document Number: 333597-002EN

8.0 Building a Project in Eclipse 1. Highlight the chosen project and select a Build configuration from the drop-down list of the hammer icon (Ctrl+B) build_debug: create symbols for enhanced debugging build_release: optimize the code for deployment 2. Review the build process if desired 3. Locate the binaries Figure 5. Building a Project in Eclipse Document Number: 333597-002EN 15

9.0 Deploying a Project The first time a new board is used, its ROM image will need to be updated otherwise user applications may not run properly. Jump to Section 14 Update ROM Image in this guide before continuing. 16 Document Number: 333597-002EN

10.0 Debugging a Project Figure 6. Bug Icon Click in the Debug drop-down list with the bug icon: Project_Name (flashing): rebuilds the project if necessary, flashes the binary to the target, and runs to main function of the application to start debugging (slow startup time) Project_Name: resets target, reuses flashed image target, and runs to main function of the application to restart debugging (fast startup time but the binary of the target and the host PC have to be the same) Note: Average flashing times are approx. 40secs. Figure 7. Debug Drop Down List Document Number: 333597-002EN 17

11.0 Terminating a Debug Session Only one project can be debugged or run at the same time. From the Debug perspective, make sure all sessions are terminated before deploying a new project. Toolbar Menu > Window > Open Perspective > Debug 1. Select the running projects to be terminated. 2. Right click and select the Terminate button It is important to verify that there are no open debug sessions running before Running/Debugging a new project 18 Document Number: 333597-002EN

12.0 Running a Project 1. Click in the Run drop-down list with the play icon: Project_Name (flashing): rebuilds the project if necessary, flashes the binary to the target, and keeps the target running (slow startup time). Project_Name: resets target, reuses flashed image target, and resumes the target (fast startup time) 2. OpenOCD output is viewable in the session window as below Note: Average flashing times are approx. 40secs. Figure 8. Running a Project Note: Both configurations will start the OpenOCD Session automatically to establish the JTAG connection. Therefore, make sure the board is connected beforehand. Document Number: 333597-002EN 19

13.0 Getting a Serial Output View Connect the serial cable as described before in the Set up Hardware configuration. It is possible to get the serial output within Eclipse as follows: 1. Open the launch Terminal with the monitor icon (Ctrl+Alt+T) 2. Configure the serial connection, by default: Baudrate: 115200 Parity: None Data Bits: 8 Stop bits: 1 Figure 9. Opening a Serial View 20 Document Number: 333597-002EN

Tip: The port will vary depending on the serial hardware used. To identify, which is the correct one, use dmesg in Linux or Device Manager on Windows. Notes: In Linux, permissions must be available to access the USB port. Optionally run usermod -ag dialout $(whoami) and restart the Linux user session. In Windows, make sure the proper drivers for the FTDI cable are installed. Document Number: 333597-002EN 21

14.0 Access SOC Registers EmbSys Registers View The EmbSys Registers View below will show the memory map registers of the target during a debug session: Double click on the register of interest. It will change to green and its value will be automatically updated when the target performs a step or a run/halt operation Double-click on the value to modify the value of the register Figure 10. Accessing SOC Registers 22 Document Number: 333597-002EN

15.0 Updating ROM Image Note: This procedure is only required if it is the first time the board is being used. 1. From the toolbar menu, select: Intel ISSM > Update target ROM 2. In the new dialog, select the connection that matches the target: Figure 11. Updating ROM Image Intel Quark Target: D2000 Connection: USB Onboard ROM file: ISSM_BSP_ROOT/soc/quark_d2000/rom/quark_d2000_rom.bin NOTES: Make sure the board is connected beforehand and be aware that any debug/running configuration will be stopped. Average flashing times are approx. 40secs. Document Number: 333597-002EN 23

16.0 Updating the ROM from the Command Line Note: This section is intended for advanced users, therefore only a generic workflow is explained. Before starting, write access is required to the BSP folder. Alternatively make a copy of it and point to it within the issm_env.sh (Linux*) or issm_env_bat (Windows*) file from the ISSM_ROOT location. ISSM_BSP_ROOT=$ISSM_ROOT/firmware/bsp/1.0 Or ISSM_BSP_ROOT=c:\IntelSWTools\ISSM_2016.0.XXX\firmware\bsp\1.0 Note: Average flashing times are approx. 40secs. 16.1 Linux From the ISSM_ROOT location, set up the environment with issm_env.sh and flash the ROM: source <ISSM_ROOT>/issm_env.sh cd $ISSM_DEBUGGER_ROOT/openocd bin/openocd -f scripts/board/quark_d2000_onboard.cfg -c init -c flash_rom $ISSM_BSP_ROOT/soc/quark_d2000/rom/quark_d2000_rom.bin -c shutdown 16.2 Windows From the ISSM_ROOT location, set up the environment with issm_env.bat and flash the ROM: c:\intelswtools\issm_2016.0.xxx\issm_env.bat cd %ISSM_DEBUGGER_ROOT%\openocd bin\openocd f scripts\board\quark_d2000_onboard.cfg c flash_rom c:\\intelswtools\\issm_2016.0.xxx\\firmware\\bsp\\1.0\\soc\\qua rk_d2000\\rom\\quark_d2000_rom.bin 0 24 Document Number: 333597-002EN

17.0 Developing in the Command Line 17.1 Linux 1. Once the steps in Section 4 have been completed the follow commands can be run. 2. From the ISSM_ROOT location, set up the environment with issm_env.sh and locate the Intel QMSI BSP examples inside the firmware folder: source ISSM_ROOT/issm_env.sh cd $ISSM_BSP_ROOT cd examples/magneto make SOC=quark_d2000 Find the build in: ISSM_BSP_ROOT/examples/magneto/debug/quark_d2000/obj/magneto.elf 3. Open one terminal to run JTAG-OpenOCD: source ISSM_ROOT/issm_env.sh cd $ISSM_DEBUGGER_ROOT/openocd bin/openocd -f scripts/board/quark_d2000_onboard.cfg 4. Open a second terminal to connect GDB to port 3333 source ISSM_ROOT/issm_env.sh cd $ISSM_DEBUGGER_ROOT/gdb./gdb-ia target remote :3333 monitor gdb_breakpoint_override hard set remotetimeout 30 monitor clk32m file../../../firmware/bsp/x.x/examples/magneto/debug/quark_d2000/obj/magneto.e lf load monitor reset halt flushregs tb main c c Document Number: 333597-002EN 25

17.2 Windows 1. From the ISSM_ROOT location(typically C:\IntelSWTools\ISSM_2016_0_XXX), set up the host environment with issm_env.bat and locate the Intel QMSI BSP examples inside the firmware folder: C:\IntelSWTools\ISSM_2016_0_XXX\issm_env.bat cd %ISSM_BSP_ROOT% cd examples\magneto make SOC=quark_d2000 Find the build in: ISSM_BSP_ROOT\examples\magneto\debug\quark_d2000\obj\magneto.elf 2. Open one terminal to run JTAG-OpenOCD: C:\IntelSWTools\ISSM_2016_0_XXX\issm_env.bat cd %ISSM_DEBUGGER_ROOT%\openocd bin\openocd -f scripts\board\quark_d2000_onboard.cfg 3. Open a second terminal to connect GDB to port 3333 C:\IntelSWTools\ISSM_2016_0_XXX\issm_env.bat cd %ISSM_DEBUGGER_ROOT%\gdb gdb-ia target remote :3333 monitor gdb_breakpoint_override hard set remotetimeout 30 monitor clk32m file..\\..\\..firmware\\bsp\\x.x\\examples\\magneto\\debug\\quark_d 2000\\obj\\magneto.elf load monitor reset halt flushregs tb main c c 4. To view the output from the example above, attach the UART as per Section 3 - C and launch a serial terminal emulator like PuTTY (Select the correct COM port for the Serial line, Speed=115200 and ensure Implicit CR in evert LF is checked for terminal). 26 Document Number: 333597-002EN

18.0 Use Intel Integrated Performance Primitives for Microcontrollers (Intel IPP for Microcontrollers) Library The library, Intel IPP for Microcontrollers provides several example files located at <install-dir>/tools/lib/ipp/1.0.0/examples/. The examples use the Board Support Package (BSP) and link to Intel Quark Microcontroller Software Interface. 18.1 Linux 1. In the command line, change the directory to the example file location: source ISSM_ROOT/issm_env.sh cd $IPP_LIBRARY_PATH/examples/<example-name> 2. Run the following command:: make BUILD=<release debug> 18.2 Windows 1. In the command line, change the directory to the example file location: C:\IntelSWTools\ISSM_2016.0.XXX\issm_env.bat cd %IPP_LIBRARY_PATH%\examples\<example-name> 2. Run the following command:: make BUILD=<release debug> See the Intel System Studio 2016 for Microcontrollers User and Reference Guide for more information by clicking on Help in Eclipse*. Document Number: 333597-002EN 27