27
Processor SDK Overview

Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

  • Upload
    dothien

  • View
    263

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Processor SDK Overview

Page 2: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Agenda • Why Processor SDK?

• Cores Determine Software

• SDK Architectures

• TI Development Ecosystem

Page 3: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Why Processor SDK?

Processor SDK Overview

Page 4: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Processor SDK Purpose • The Processor SDK was designed from the ground up to provide a great

software starting point for portable applications. • Application software needs to be portable to maximize reuse and engineering

efficiency. • Lower levels of software can effectively provide this abstraction. • Heterogeneous multi-core devices have software architectures to match.

Page 5: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Hardware

SoC

Problems Need Abstraction

Application Application

Hardware Abstraction

Operating Systems (scheduling, stacks, etc.)

• Applications solve problems. • Time to market and efficiency demand

that application software be reused as much as possible.

• Lower-level software should enable this reuse.

• Developer experience and lessons learned should translate from project to project.

• Ideally, software reuse should even scale across SoCs.

Page 6: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Hardware

SoC

Reuse Applications Broadly Platforms

Application Application

Hardware Abstraction

Operating Systems (scheduling, stacks, etc.)

Application Application

Sitara AM335x • 1x ARM

Cortex-A8 • 2x PRU-ICSS

Sitara AM437x • 1x ARM

Cortex-A9 • 4x PRU-ICSS

Sitara AM57x • 1-2x ARM

Cortex-A15 • 1-2x C66x DSP • 2x ARM-M4 • 4x PRU-ICSS

AM5K2Ex 2-4x ARM Cortex-A15

66AK2Ex • 1-4x ARM

Cortex-A15 • 1 C66x DSP

TMS320C66x 1-8 C66x DSP

TMS320C55x Dual MAC C55x DSP

Page 7: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Hardware

SoC

Application Application

Hardware Abstraction

Operating Systems (scheduling, stacks, etc.)

Application Application

Heterogeneous Multicore Enabled by Software

Sitara AM57x • 1-2x ARM

Cortex-A15 • 1-2x C66x DSP • 4x ARM-M4 • 4x PRU-ICSS

Page 8: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Processor SDK

The Processor SDK

Hardware

SoC

Application Application

Hardware Abstraction

Operating Systems (scheduling, stacks, etc.)

Application Application

Sitara AM57x • 1-2x ARM

Cortex-A15 • 1-2x C66x DSP • 4x ARM-M4 • 4x PRU-ICSS

Page 9: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Cores Determine Software

Processor SDK Overview

Page 10: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

AM57x Block Diagram High Speed Interconnect 28 nm

32b DDR3/3L

ARM M4

System Services

2MB L2

ARM Cortex-A15 ARM

Cortex-A15

ARM M4

32KB L1 64KB RAM

C66x DSP

= + - *

C66x DSP = + - *

32b DDR3/3L w/ECC

Video Acceleration

Display Subsystem

Video Input Ports

Graphics Acceleration

2.5MB L3 Shared RAM w/ECC

Security

Acceleration

PRU (Quad Core)

Industrial Communication

Subsystem (ICSS)

Storage IO Serial IO Industrial and Programmable IO

• LOTS of great features • But only some has impact on

software • Take a look at the

programmable cores: – 2x ARM Cortex-A15 – 2x ARM M4 – 2x C66x DSP – 4x PRUs

Page 11: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Software Runs on Cores

ARM M4

ARM Cortex-A15 ARM

Cortex-A15

ARM M4

= + - *

C66x DSP = + - *

PRU (Quad Core)

• In many ways, the core architecture determines the software. For example, full Linux needs MMU.

• The problem that the core is best at solving (i.e., lower latency) influences the software used.

• Each core may do best with a different software architecture.

• Combining different cores with different capabilities provides a powerful solution.

Page 12: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Cores Run Run-Time Software

ARM Cortex-A15 ARM

Cortex-A15 ARM M4

ARM M4

PRU (Quad Core)

C66x DSP

= + - *

C66x DSP = + - *

Page 13: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Cores Run Run-Time Software

ARM Cortex-A15 ARM

Cortex-A15 ARM M4

ARM M4

C66x DSP

= + - *

C66x DSP = + - *

PRU PRU

PRU PRU

Page 14: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Run-Time Software • While the ideal scenario might be a complete abstraction of all cores, we

are NOT there (yet!): – OpenXX (CL, CV, MP, etc.) options are improving. – OpenCL is DSP recommendation for AM57x.

• Today, different cores often require fairly different software environments: – Linux is best developed using a Linux host. – DSP, MCU, and others are still fairly Windows-based.

• TI-RTOS • Bare metal

• Skill sets and experience level of individual developers varies widely: – Linux development is still a pretty specific skill set. – DSP algorithm development is also skill specialized. – General “C” firmware development is classic embedded.

PRU PRU

PRU PRU

ARM M4 ARM M4

ARM Cortex-A15

ARM Cortex-A15

C66x DSP = + - *

C66x DSP = + - *

Page 15: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Core HLOS Host

Linux Linux

TI-RTOS Windows/Linux

Other Varies

TI-RTOS Windows/Linux

Bare metal Windows/Linux

Other Varies

TI-RTOS, bare metal, other Windows/Linux

Bare metal Windows/Linux

Run-Time Software Environments

PRU PRU

PRU PRU

C66x DSP = + - *

C66x DSP = + - *

ARM M4 ARM M4

• Linux development should be done with Linux host.

• Windows users may not want to learn Linux. • TI-RTOS work can be done on Linux. • TI-RTOS is better at IPC (Inter-Processor

Communication) than bare metal. • Bare metal could be done with either host. But

Windows predominates. • Developer comfort with a given environment

will impact schedule and success. • If using all cores, different developers will

use a mix of software architectures and development hosts.

ARM Cortex-A15

ARM Cortex-A15

Page 16: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

SDK Architectures

Processor SDK Overview

Page 17: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

AM57x

Software Architectures: Linux on A15

ARM Cortex-A15

ARM Cortex-A15

PRU PRU

PRU PRU

C66x DSP = + - *

C66x DSP = + - *

ARM M4 ARM M4

IPC

OpenCL ARM Cortex-A15s

• OS = Linux • Dev Host = Linux

ARM Cortex-M4s • OS = TI-RTOS • Dev Host = Windows

or Linux

DSPs • OS = TI-RTOS • Dev Host = Windows

or Linux

PRUs • OS = Bare Metal • Dev Host = Windows

or Linux

Page 18: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

AM57x

Software Architectures: TI-RTOS on A15

ARM Cortex-A15

ARM Cortex-A15

PRU PRU

PRU PRU

C66x DSP = + - *

C66x DSP = + - *

ARM M4 ARM M4

IPC

IPC ARM Cortex-A15s

• OS = TI-RTOS • Dev Host = Windows

or Linux

ARM Cortex-M4s • OS = TI-RTOS • Dev Host = Windows

or Linux

DSPs • OS = TI-RTOS • Dev Host = Windows

or Linux

PRUs • OS = Bare Metal • Dev Host = Windows

or Linux

Page 19: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Hardware

SoC

Application Application

Hardware Abstraction

Operating Systems

Application Application

ARM Cortex-A15

ARM Cortex-A15

PRU PRU

PRU PRU

C66x DSP = + - *

C66x DSP = + - *

ARM M4 ARM M4

Linux TI-RTOS TI-RTOS

Applications by Core

Page 20: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Hardware

SoC

Application Application

Hardware Abstraction

Application Application

Two Flavors of SDKs

ARM Cortex-A15

ARM Cortex-A15

PRU PRU

PRU PRU

C66x DSP = + - *

C66x DSP = + - *

ARM M4 ARM M4

Operating Systems Linux TI-RTOS TI-RTOS

Page 21: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Hardware

SoC

Application Application

Hardware Abstraction

Application Application

One Package When Using TI-RTOS

ARM Cortex-A15

ARM Cortex-A15

PRU PRU

PRU PRU

C66x DSP = + - *

C66x DSP = + - *

ARM M4 ARM M4

Operating Systems TI-RTOS TI-RTOS TI-RTOS

Page 22: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Hardware

SoC

Application Application

Hardware Abstraction

Application Application

One Package When Using Different SoCs

ARM Cortex-A15

ARM Cortex-A8 PRU

PRU

Operating Systems Linux

Page 23: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

TI Development Ecosystem

Processor SDK Overview

Page 24: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Run-Time Software: Foundational SDKs

Processor SDK for Linux®:

• Long Term Stable (LTS) Mainline Linux kernel support

• U-Boot community boot loader • Robust, commercial-grade Linaro® GNU

compiler collection (GCC) toolchain • Yocto Project™ OE Core-compatible file systems

enable tailored Linux application support

Processor SDK for TI-RTOS:

• Robust real-time TI-RTOS kernel including TCP/IP networking stack

• Posix thread-compatible API layer available • Driver libraries that can be used with TI-RTOS or without a

kernel • Free and available as open source

http://www.ti.com/lsds/ti/tools-software/processor_sw.page

Processor SDK for Linux and TI-RTOS helps speed application development. • Includes complete board support packages, documentation, libraries, benchmarks, utilities, and code examples • Allows seamless reuse and migration of software across devices

Page 25: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

TI’s Software Ecosystem

• TI Design Network: off-the-shelf software, tools and services

• E2E forums, wikis and open source development communities available 24/7

• Online training

Support & Community

Development Tools, Kits & Boards

• Code Composer Studio™ integrated development environment (IDE)

• Wide range of generation, build, and debug support

• Design kits, development boards & evaluation modules

TI continues to invest heavily in its software and tools ecosystem

Run-Time Software • Foundational embedded software

development kits (SDKs) • Application-specific development kits

(ex. Industrial SDKs) • Large libraries of OS-independent

algorithms, protocol stacks, and codecs

Page 26: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

Single Processor SDK One SDK Experience, committed to mainline Linux and TI-RTOS, with application-specific packages.

Software is a differentiator - Consistent software packages for all new devices - LTS Linux brings higher quality, greater stability, easier migration - Common Yocto/OE-Core file systems, kernel, U-Boot for Linux - Common chip support library/driver model for TI-RTOS

Single foundational SDK: “Processor SDK” • Convergence of MCSDK and AMSDK

– Sitara user experience including graphical navigation – MCSDK-like ARM & DSP programming

• Common Linux and TI-RTOS packages – General purpose foundational packages – Application-specific packages build upon foundational packages:

• Industrial SDK: industrial package for AM3/4/5 • High-performance computing (HPC): KeyStone II SoC platform

Page 27: Processor SDK Overview - TI Training · Why Processor SDK? Processor SDK Overview . Processor SDK Purpose ... – DSP, MCU, and others are still fairly Windows-based. •TI-RTOS •Bare

For More Information

• Processor SDK Linux Getting Started Guide

• Processor SDK RTOS Getting Started Guide

• Processor SDK Training Series

• For questions about this training, refer to the E2E Community Forum: https://e2e.ti.com/support