KeyStone Multicore. Ecosystem



Similar documents
Development Kit (MCSDK) Training

How to realize high-performance compute with Multicore DSP

KeyStone Training. Multicore Navigator Overview. Overview Agenda

System Design Issues in Embedded Processing

Going Linux on Massive Multicore

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

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Embedded Software development Process and Tools:

ZigBee Technology Overview

Yun Shield User Manual VERSION: 1.0. Yun Shield User Manual 1 / 22.

Computer and Set of Robots

Chapter 12. Development Tools for Microcontroller Applications

Lab Manual. TMS320TCI66x. Keystone Multicore Workshop. Texas Instruments Incorporated Century Boulevard Germantown, MD USA

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

STLinux Software development environment

Lean and Easy Ways to Adopt MOST Technology

Nios II Software Developer s Handbook

UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS

Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications. ni.com

USB 3.0 Connectivity using the Cypress EZ-USB FX3 Controller

7a. System-on-chip design and prototyping platforms

Selection Criteria for ZigBee Development Kits

Java Embedded Applications

Freescale Semiconductor, I

Lesson 10:DESIGN PROCESS EXAMPLES Automatic Chocolate vending machine, smart card and digital camera

Network connectivity controllers

Advanced Scripting Techniques for Automating Regression Tests and Measurements with the Code Composer Studio Scripting Utility

Code Composer Studio Development Tools v3.3. Getting Started Guide

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

FLYPORT Wi-Fi G

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

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

System Considerations

Design for Success: Designing for the Internet of Things with TiWiConnect

Embedded Display Module EDM6070

VELOCITY LAB TM Embedded Development Ecosystem

Embedded Development Tools

CGI-based applications for distributed embedded systems for monitoring temperature and humidity

Questions from The New SensorTag - IoT Made Easy Webinar

M85 OpenCPU Solution Presentation

Embedded Component Based Programming with DAVE 3

Networking Remote-Controlled Moving Image Monitoring System

Embedded Linux RADAR device

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

Pre-tested System-on-Chip Design. Accelerates PLD Development

A Design of Video Acquisition and Transmission Based on ARM. Ziqiang Hao a, Hongzuo Li b

Easy H.264 video streaming with Freescale's i.mx27 and Linux

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

i.mx USB loader A white paper by Tristan Lelong

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING

Texas Instruments TMS320C6678 (Shannon) DSP Training

Embedded PC The modular Industrial PC for mid-range control. Embedded PC 1

Simplifying Embedded Hardware and Software Development with Targeted Reference Designs

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

CB-OLP425 DEVELOPMENT KIT GETTING STARTED

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

USBSPYDER08 Discovery Kit for Freescale MC9RS08KA, MC9S08QD and MC9S08QG Microcontrollers User s Manual

High Performance or Cycle Accuracy?

Using the TASKING Software Platform for AURIX

KeyStone Architecture Security Accelerator (SA) User Guide

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

ERIKA Enterprise pre-built Virtual Machine

Chapter 2 System Structures

A New, High-Performance, Low-Power, Floating-Point Embedded Processor for Scientific Computing and DSP Applications

Thingsquare Technology

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

Development With ARM DS-5. Mervyn Liu FAE Aug. 2015

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

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

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

NanopowerCommunications: Enabling the Internet of Things OBJECTS TALK

System-on-a-Chip with Security Modules for Network Home Electric Appliances

AppliedMicro Trusted Management Module

Board also Supports MicroBridge

Embedded Linux Platform Developer

STM32JAVA. Embedded Java Solutions for STM32

IOVU-571N ARM-based Panel PC

Andreas Läng. Hilscher Gesellschaft für Systemautomation mbh Intelligent solutions for industrial communication.

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

System Software Integration: An Expansive View. Overview

Bluetooth 4.0 Solutions for Apple ios Devices. Bluegiga Technologies

Embedded System Deployment and Management

Enhanced Project Management for Embedded C/C++ Programming using Software Components

1) SETUP ANDROID STUDIO

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

Tutorial for MPLAB Starter Kit for PIC18F

High-Performance, Highly Secure Networking for Industrial and IoT Applications

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Developing reliable Multi-Core Embedded-Systems with NI Linux Real-Time

Universal Flash Storage: Mobilize Your Data

Complete Integrated Development Platform Copyright Atmel Corporation

Embedded Systems on ARM Cortex-M3 (4weeks/45hrs)

UniKey Family 0. UniKey Time

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

IST STREP Project. Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer.

Silabs Ember Development Tools

Design of a remote image monitoring system based on GPRS

Transcription:

KeyStone Multicore Software Development Ecosystem

Agenda Multicore Development Ecosystem Code Composer Studio (CCS) Multicore Software Development Kit (MCSDK) Third Party Software C66x Lite Evaluation Module (EVM)

TI Software Development Ecosystem Multicore Performance, Single core Simplicity Eclipse IDE Code Composer Studio TM Third Party Plug-Ins Multicore Software Development Kit (MCSDK) Host Computer Emulator Target Board

TI Software Development Ecosystem Code Composer Studio + Eclipse IDE Eclipse IDE Code Composer Studio TM Third Party Plug-Ins Multicore Software Development Kit (MCSDK) Host Computer Emulator Target Board

Code Composer Studio (CCS) Code Composer Studio (CCS) is an Eclipse based IDE that supports application development on multiple cores/devices: GUI interface for SYS/BIOS, project based system to build drivers and utilities for developer s target platform. Multiple perspectives (default and custom) Advance debugging, monitoring, and profiling Multiple configurations allow a single executable or multiple executables to be generated for the same project. Editor Integrated compiler tools Support for OpenMP Simulator Debug/Emulation Remote Debug Instrumentation Visualization

TI Software Development Ecosystem Multicore Software Development Kit Eclipse IDE Code Composer Studio TM Editor Compiler Tools Simulator Debug/Emulation Third Party Plug-Ins Multicore Software Development Kit (MCSDK) Remote Debug Instrumentation Visualization Host Computer Emulator Target Board

MCSDK Overview Standard set of APIs to configure and utilize peripherals, accelerators, and other hardware resources Compliant implementation of packet and network based protocols Utilities to boot, test, debug, and monitor execution Individual core based real time operating system Communication and facilitated cooperation between processes, cores, and devices, as well as between peripherals and cores Optimized, ready to use algorithm libraries, example code, and demonstration applications

MCSDK Advantages Provides the core foundational building blocks for customers to quickly start developing embedded applications on TI high performance multicoredsps: Uses either the SYS/BIOS or Linux real time operating system Accelerates time to market by focusing on ease of use and performance Provides multicore programming methodologies and utilities Simplifies porting of applications: To a standard devaluation platform ltf From a standard evaluation platform to customer s target platform To next generation platform hardware Available as a free download on TI.com, bundled in one installer as source code along with pre built libraries

BIOS MCSDK Software Layers HUA/OOB Demonstration Applications IO Bmarks Image Processing Software Framework Components Communication Protocols Inter-Processor Communication () Instrumentation (MCSA) TCP/IP Networking (NDK) Algorithm Libraries Platform/EVM Software DSPLIB IMGLIB MATHLIB Platform Library Transports - - NDK SYS/BIOS RTOS EDMA3 Low-Level Drivers (LLDs) PA SRIO FFTC TSIP Resource Manager OS PCIe QMSS CPPI HyperLink Abstraction Layer Power On Self Test (POST) Bootloader Chip Support Library (CSL) Hardware

Development Requirements > MCSDK Solutions Development Requirement Hide hardware details from the user to simplify process of porting to new hardware. Standard API to talk to peripherals, accelerators, and other resources MCSDK Solution Chip Support Library (CSL) is the only MCSDK layer that depends on the hardware. This layer is completely transparent to the user/application. Low Level Drivers (LLD) provide standard API to initialize, configure, and utilize peripherals and other resources. LLD blocks include SRIO, PCIe, PA, CPPI, QMSS, FFTC, and many more. Utilities to facilitate system operations Platform/EVM Software provides platform level utilities such as bootloader, Power On Self Test (POST), resource manager, and platform utilities. Efficient real time individual core operating system Reliable interface to external networks SYS/BIOS provides an efficient, mature, real time operating system with a low memory footprint. Network Development Kit (NDK) provides a standardized interface for common packet and network based communication protocols (e.g., IPV4 and IPV6 compliant TCP/IP). Coordination of tasks/process across multiple cores Inter Processor Communication () provides several high level utilities and libraries to communicate between cores and enable multiple cores to work together. Facilitate application development Optimized algorithm libraries with standard APIs. A starting ti point tfor multicore application development Demonstration ti applications (e.g., Image Processing) show how to build and run a complete multicore application.

Communication via LLD and CSL Layers Antenna Interface 2 (AIF2) Bit rate ratecoprocessor (BCP) EDMA EMAC FFTC HyperLink NETCP: Packet Accelerator (PA) NETCP: Security Accelerator (SA) PCIe Packet DMA (PKTDMA) Queue Manager (QMSS) Resource Manager SRIO TSIP Turbo Decoder (TCPD) Turbo Encoder (TCPE) Semaphores GPIO I2C UART SPI EMIF 16 McBSP UPP Registers Timers Other IP LLD Layer CSL Function Layer CSL Registers Layer

MCSDK Algorithm Libraries Algorithm libraries contain C66x C callable, hand coded, assembly optimized functions for specific usage: DSPLIB provides signal processing math and vector functions: Adaptive filtering Correlation FFT (e.g. FFT functions for npoint FFTs) Filtering and Convolution (e.g., FIR, IIR filter functions, etc.) Matrix (e.g., single and double precision matrix multiplication, etc.) IMGLIB provides image/video processing functions: Compression & Decompression (e.g., forward and inverse DCT, motion estimation, quantization, etc.) Image Analysis (e.g., edge detection, histogram, thresholding, etc.) Image Filtering and Conversion (e.g., color space conversion, convolution, correlation, error diffusion, etc.) MathLIB provides floating point math functions: Single precision (e.g., cosine/sine/tangent of a floating point number, etc.) Double precision (e.g., similar functions as above with argument type and return values to be of type double) More info: http://processors.wiki.ti.com/index.php/software_libraries

Inter Processor Communication () Usage provides a standard interface between processes/threads in the samecore core, between two cores, and between two devices. Device 1 Core 1 Core 2 Device 2 Core 1 Core 2 Transports Task to Task Core to Core Device to Device BIOS Process 1 Process 2 BIOS Process 1 Process 2 BIOS Process 1 Process 2 BIOS Process 1 Process 2 Shared Memory x x Navigator/QMSS x x Serial Rapid IO (SRIO) x x x SoC Hardware and Peripherals SoC Hardware and Peripherals Device 1 Core 1 Core 2 Core 3 Core N Linux Process s 1 Process s 2 BIOS Process s 1 Process s 2 BIOS Process s 1 Process s 2 BIOS Process s 1 Process s 2 SysLink SoC Hardware and Peripherals

Simplified Development & Migration TI Demo Application on TI Evaluation Platform TI Demo Application on Customer Platform Customer Application on Customer Platform Customer App on Next Generation TI SOC Platform Demo Application Demo Application Customer Application Customer Application Tools LIB Tools LIB Tools LIB Tools LIB Network Dev Kit (NDK) Network Dev Kit (NDK) Network Dev Kit (NDK) Network Dev Kit (NDK) LLD TI Platform LLD Customer Platform LLD Customer Platform LLD Next Gen TI SoC Platform CSL CSL CSL CSL No modifications required May be used as is or customer can implement value-add modifications Software may be different, but API remain the same (CSL, LLD, etc.) Needs to be modified or replaced with customer version

/mcsdk /pdk /edma3 /bios /dsplib /imglib /mathlib /ipc /ndk MCSDK Top level Directory Folders

TI Software Development Ecosystem Third Party Software Plug ins Eclipse IDE Code Composer Studio TM Multicore Software Development Kit (MCSDK) Editor Compiler Tools Simulator Debug/Emulation Third Party Plug-Ins Remote Debug Instrumentation Visualization Host Computer Emulator Target Board

Third Party Software Plug Ins Eclipse allows developers to integrate third party software tools that provide additional multicore programming, profiling and analysis capabilities: Poly Platform from PolyCore http://polycoresoftware.com is a development framework consisting of tools and run time software that provide a programming model for applications to scale from one to many cores. Prism from CriticalBlue http://www.criticalblue.com provides multicore analysis and exploration tools to evaluate parallelization strategies of existing software applications. Optima from ENEA http://www.enea.com includes overview and management tools for multicore systems, profiling tools showing resource usage, and debug tools that track execution of application and operating system events. Diamond from 3L http://www.3l.com is a tool suite and model that provides a highly automated development flow from concept throughtoto applications running in multiprocessor hardware.

TI Software Development Ecosystem Multicore Performance, Single core Simplicity Eclipse IDE Code Composer Studio TM Third Party Plug-Ins Multicore Software Development Kit (MCSDK) Editor Compiler Tools Simulator Debug/Emulation PolyCore Critical Blue ENEA Optima 3L Remote Debug Instrumentation Visualization Host Computer Emulator Target Board

Linux/BIOS MCSDK C66x Lite EVM Details EVM Flash Contents DVD Contents Factory default recovery EEPROM: POST, IBL NOR: BIOS MCSDK Demo NAND: Linux MCSDK Demo EEPROM/Flash writers CCS 5.0 IDE C667x EVM GEL/XML files BIOS MCSDK 2.0 Source/binary packages Linux MCSDK 2.0 Source/binary packages EEPROM 128 KB POST IBL Online Collateral NOR 16 MB BIOS MCSDK Out of Box Demo TMS320C667x processor website http://focus.ti.com/docs/prod/folders/print/tms320c6678.html http://focus.ti.com/docs/prod/folders/print/tms320c6670.html MCSDK website for updates http://focus.ti.com/docs/toolsw/folders/print/bioslinuxmcsdk.html NAND 64 MB Linux MCSDK Demo CCS v5 http://processors.wiki.ti.com/index.php/category:code_composer_studio_v5 Developer s website Linux: http://linux-c6x.org/ BIOS: http://processors.wiki.ti.com/index.php/bios_mcsdk_2.0_user_guide

For More Information MCSDK Product Folder: http://www.ti.com/tool/bioslinuxmcsdk Download CCSv5 and MCSDK software: http://software dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/latest/index_fds.html KeyStone C66x Multicore Wiki Resources http://processors.wiki.ti.com/index.php/keystone_device_architecture For questions regarding topics covered in this training, visit thesupport forums at theti E2E Community website http://e2e.ti.com