esi-risc Development Suite Getting Started Guide

Similar documents
AndeSight. User Manual. Working with AndESLive. Version 1.0

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

Kinetis SDK v Release Notes for KV5x Derivatives

Getting Started with FreeRTOS BSP for i.mx 7Dual

Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim

Freescale Kinetis Software Development Kit Release Notes

Lab 1: Introduction to C Programming. (Creating a program using the Microsoft developer Studio, Compiling and Linking)

Introducing the Spartan-6 & Virtex-6 FPGA Embedded Kits

Bare Metal User Guide

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

Hands-On with STM32 MCU Francesco Conti

A. FPGA Basics Manuals

Building an Embedded Processor System on Xilinx NEXYS3 FPGA and Profiling an Application: A Tutorial

AXI Interface Based KC705. Embedded Kit MicroBlaze Processor Subsystem (ISE Design Suite 14.4)

Using Code Composer Studio IDE with MSP432

Introduction to Embedded System Design using Zynq

S32 SDK for Power Architecture Release Notes Version EAR

Kinetis SDK v Release Notes for the MK21DA5 and MKW24D5 Devices

Reduce SW Development Time with DAVE 3. March, 2012

VORAGO VA108x0 GCC IDE application note

TRACE32 Getting Started... ICD In-Circuit Debugger Getting Started... ICD Introduction... 1

Debugging in AVR32 Studio

Atmel Studio IDE for RIO-2015PG User Guide

Tools Basics. Getting Started with Renesas Development Tools R8C/3LX Family

64 bit Bare Metal Programming on RPI-3. Tristan Gingold

Familiarity with data types, data structures, as well as standard program design, development, and debugging techniques.

Migrating from CubeSuite+ to Eclipse RL78 Family

Creating projects with Nios II for Altera De2i-150. By Trace Stewart CPE 409

Graduate Institute of Electronics Engineering, NTU Advanced VLSI SOPC design flow

Designing with Nios II Processor for Hardware Engineers

Copyright 2014 Xilinx

IAR C-SPY Hardware Debugger Systems User Guide

RL78 Project Configuration Tips

HyperBus Memory Controller (HBMC) Tutorial

System Debug. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved

Designing with ALTERA SoC Hardware

Renesas PE-HMI1 Synergy S7 with Clarinox SPP Application

Heterogeneous multi-processing with Linux and the CMSIS-DSP library

Lab Guide Rev. 0 TWRWIFIG1011MILAB

Lab 1: First Steps in C++ - Eclipse

IDE for medical device software development. Hyun-Do Lee, Field Application Engineer

HyperBus Memory Controller (HBMC) Tutorial

Nios II Studio Help System

Santa Fe (MAXREFDES5#) MicroZed Quick Start Guide

PDK (Platform Development Kit) Getting Started. Automotive Processors

Programming in the MAXQ environment

Manual Eclipse CDT Mac OS Snow Leopard

ARM. Architecture, Programming and Development Tools

F28069 ControlCard Lab1

Application Note: AN00153 Programming OTP memory via SPI boot

QNX Software Development Platform 6.6. Quickstart Guide

Altera SoC Embedded Design Suite User Guide

System Cache (CMS-T002/CMS-T003) Tutorial

User Manual. LPC-StickView V3.0. for LPC-Stick (LPC2468) LPC2478-Stick LPC3250-Stick. Contents

Developing a Camera Application with i.mx RT Series

Embedded Systems Programming

OS PORTING AND ABSTRACTION LAB USER MANUAL

Altera SoC Embedded Design Suite User Guide

Nios Development Kit, Stratix Edition

APPENDIX A. CODE COMPOSER STUDIO (CCS) v5: A BRIEF TUTORIAL FOR THE DSK6713

μez Software Quickstart Guide

IAR Embedded Workbench for 8051 Version 7.30A

Use Vivado to build an Embedded System

Advanced Embedded Systems

Reference Manual , 01/2016. CodeWarrior Development Studio for Power Architecture Processors Targeting Manual

Eclipse Debug Find Current Instruction Pointer

Overview. 1/13/ Preliminary Product Brief

Hands-On Workshop: Developing with the Kinetis Software Development Kit

)8-,768'HY.LW 2YHUYLHZ. )XMLWVX0LNURHOHNWURQLN*PE+ Am Siebenstein Dreieich-Buchschlag, Germany

F28335 ControlCard Lab1

AVR32 Studio Tutorial AVR32 UC3. EVK1100 Control Panel Tutorial

IAR EWARM Quick Start for. Holtek s HT32 Series Microcontrollers

Code Composer Studio. MSP Project Setup

μez Software Quickstart Guide

Design of Embedded Hardware and Firmware

HyperBus Memory Controller (HBMC) Tutorial

Evaluation board for NXP LPC2103. User Guide. Preliminary Version updated 27 th Aug TechToys Company All Rights Reserved

egui Eclipse User Guide

Symphony SoundBite: Quick Start with Symphony Studio. Installation and Configuration

Maxim > Design Support > Technical Documents > Application Notes > Microcontrollers > APP 4465

Overview. 3//5/ Preliminary Product Brief

MCUXpresso SDK USB Stack User s Guide

Nios II Software Developer s Handbook

Getting Started with the TASKING VX-toolset for TriCore

AURIX family and AUDO Future, AUDO MAX

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication

IAR Embedded Workbench

Choosing a Micro for an Embedded System Application

Creating a basic GUI application with Synergy and GUIX SK-S7G2

Hands-On Workshop: ARM mbed

Lab 1 Introduction to Microcontroller

Red Suite 4 Getting Started. Applies to Red Suite 4.22 or greater

CPE 323: Laboratory Assignment #1 Getting Started with the MSP430 IAR Embedded Workbench

TriCore Free Entry Tool Chain. AURIX family and AUDO Future, AUDO MAX

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

MOD5270-LC Quick Start Guide. NetBurner, Inc

Quick Start Guide for the Turbo upsd DK3300-ELCD Development Kit- RIDE

S32K AND ISELED DRIVER

Getting Started with the TASKING VX-toolset for C166

μc/probe on the element14 BeagleBone Black

Transcription:

1 Contents 1 Contents 2 2 Overview 3 3 Starting the Integrated Development Environment 4 4 Hello World Tutorial 5 5 Next Steps 8 6 Support 10 Version 2.5 2 of 10 2011 EnSilica Ltd, All Rights Reserved

2 Overview This guide describes how to create and run your first program using the esi-risc Development Suite. It assumes that you already have the software installed on your computer. For details of how to do this, please refer to the esi-risc Development Suite Installation Guide. The esi-risc Development Suite contains all you need to develop software for an esi-risc CPU. It features: C/C++ compiler Assembler Disassembler Linker Debugger Simulator IDE C and C++ libraries FreeRTOS lwip TCP/IP stack Verilog PLIs for connecting the debugger to Verilog simulations Many of these components are based upon ports of tools that most developers will already be familiar with, such as the Eclipse IDE and GNU tools, allowing you to start developing your esi-risc applications straight away. Version 2.5 3 of 10 2011 EnSilica Ltd, All Rights Reserved

3 Starting the Integrated Development Environment After the esi-risc Development Suite has been installed, the Eclipse Integrated Development Environment can be started, by selecting: Start / All Programs / esi-risc Development Suite / Eclipse. Figure 1: Start the Eclipse IDE Eclipse will request you to enter a folder to use for its workspace, which is where it will store its configuration files and use as a default location for new projects. It is recommended that you select a new folder for this and do not try to share this workspace folder with other Eclipse based programs you may have. Also, if you intend to use the command line tools from a shell, it is recommended that you chose a folder that does not have spaces in the path. Figure 2: Select a workspace Version 2.5 4 of 10 2011 EnSilica Ltd, All Rights Reserved

4 Hello World Tutorial When Eclipse finishes loading, you will be presented with the Welcome page. From here you can select: Overview - Get an overview of the features of Eclipse and its installed plugins. What's New - Find out what is new in this release of Eclipse. Samples - See a list of sample esi-risc applications. Tutorials - See a list of tutorials for Eclipse features and the esi-risc Development Suite. Workbench - Go straight to the workbench. For now select Tutorials, then on the next page under the list of esi-risc tutorials, select Create a Hello World Application for esi-risc. Figure 3: Eclipse Welcome Screen After selecting the tutorial, Eclipse will switch to the workbench, with step-by-step instructions for walking through the tutorial appearing in a window to the right of the workbench, as illustrated in Figure 4: Eclipse Workbench. Each of the instructions will have one of the following icons next to it, which should be clicked to move on to the next step of the tutorial: Click to indicate you have completed the instruction Click to have the instruction performed for you Click to skip the instruction Version 2.5 5 of 10 2011 EnSilica Ltd, All Rights Reserved

Figure 4: Eclipse Workbench The tutorial will guide you through: Creating a C Project, specifying the target CPU and build configurations Compiling the program Running the program on the simulator Debugging the program on the simulator Running the program on hardware Debugging the program on hardware The C project that is created contains the classic Hello World C program, which simply prints the string "Hello World" to the standard output stream. The source code for the program is as follows: #include <stdio.h> int main() { iprintf("hello world\n"); return 0; } Even a program as simple as this will raise a few questions for the seasoned embedded developer: Where does the standard output stream go to on an embedded target? Version 2.5 6 of 10 2011 EnSilica Ltd, All Rights Reserved

What is iprintf? Why use a return type of int for main rather than void on an embedded target? Where the standard output stream will be output to will depend upon the configuration of the target SoC (System-on-a-Chip) and the way in which the program is run. If you are targeting the Cyclone III Demo SoC that is assumed for this tutorial, then it can go to one of two places: If the program is run with a debugging connection to a host computer (via a JTAG or USB cable or if the program is being run on the simulator), then you can choose to have the output directed to the console window in Eclipse. If no connection to a host computer is available, then it will be output via a UART. iprintf is identical to the more commonly used printf function, except that it does not support floating-point format specifiers (E.g. %f, %e and %g). This has the advantage that for targets without hardware floating-point support (E.g. esi-1600, esi-3200 and esi-3250), the software floating-point emulation libraries are not required to be linked in, which helps to minimize code size. If floating-point format specifiers are needed, then the regular printf function can be used. The return type of main is specified as int rather than void, as is often seen in many embedded programs, in order to be fully compliant with language standards. Also, the esi- RISC debugger is able to report the value returned by your program (or passed via a call to exit()), which can be useful when debugging your programs or for programs that run in a hosted environment. Figure 5: Debugging the Hello World Program Version 2.5 7 of 10 2011 EnSilica Ltd, All Rights Reserved

5 Next Steps After you have finished the Hello World tutorial, there are a number of other tutorials and sample applications you can try out to become more familiar with the esi-risc Development Suite. All of these tutorials can be accessed from the Welcome page, which can be accessed at any time by selecting the Help / Welcome menu. Tutorials: Profile and optimize and esi-risc application. Samples: This tutorial shows how to program an application using the esi-risc simulator. It also shows how you can optimize the code and target different esi-risc CPUs to see the difference in performance. c++ Demonstrates several c++ language features, including classes, constructors & destructors (static and dynamic), iostream, operator overloading, exceptions and runtime-type information. CFI FLASH Programmer Demonstrates how to program a CFI FLASH. FreeRTOS Demonstrates the esi-risc port of FreeRTOS, a small, open-source RTOS. FreeRTOS lwip Demonstrates the esi-risc port of the lwip TCP/IP stack with FreeRTOS. The demo consists of a small web-server that dynamically generates a web page showing the tasks being scheduled by FreeRTOS. Hosted I/O Demonstrates how to use hosted I/O, which provides a way to access the file system of a host computer, using the standard C library file functions. GPIO Demonstrates how to use the GPIO peripheral to drive LEDs and read the state of buttons. It also shows how you can write an interrupt handler without writing any assembly code. I2C EEPROM Demonstrates how to use the I2C peripheral to program an EEPROM. I2C Master and Slave Demonstrates how to use the I2C peripheral as both a master and slave. LCD Version 2.5 8 of 10 2011 EnSilica Ltd, All Rights Reserved

Demonstrates how to use the LCD peripheral by displaying an image on it. Makefile Demonstrates how to build an esi-risc application using a handwritten Makefile. Smart Card Demonstrates how to use the UART peripheral in ISO 7816 mode to access a smart card. SPI FLASH Programmer Demonstrates how to use the SPI FLASH peripheral to program a SPI FLASH device. SPI SD Card Demonstrates how to use the SPI peripheral to read the master boot record of a SD Card. User-defined Instructions Demonstrates how to use user-defined instructions in your esi-risc programs and how to create a shared library so that they can be used in the esi-risc simulator. UART Demonstrates how to use the UART peripheral. For more information on each of these tutorials and sample applications, please refer to the on-line help, by selecting the Help / Help Contents menu. Version 2.5 9 of 10 2011 EnSilica Ltd, All Rights Reserved

6 Support For support issues regarding the esi-risc Development Suite, please contact EnSilica support: e-mail support@ensilica.com Telephone +44 (0)118 3217 310 Table 1: Support Contact Details Version 2.5 10 of 10 2011 EnSilica Ltd, All Rights Reserved