18
Hybride Apps – DPR und Android auf dem Xilinx ZYNQ Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm

Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Hybride Apps – DPR und Android auf dem Xilinx ZYNQ

Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm

Page 2: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Konvergenz der Rechenplattformen

09 Juli 2013 www.missinglinkelectronics.com 2

7 Series Programmable

Logic

Common Peripherals

Custom

Peripherals

Common Accelerators

Custom Accelerators

Common Peripherals

Processing System

Memory Interfaces

ARM®

Dual Cortex-A9 MPCore™ System

Page 3: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Motivation & Konzept

09 Juli 2013 www.missinglinkelectronics.com 3

2x GigE with DMA

2x USB with DMA

2x SDIO with DMA

Static Memory Controller Quad-SPI, NAND, NOR

Dynamic Memory Controller DDR3, DDR2, LPDDR2

AMBA® Switches

Programmable Logic:

System Gates, DSP, RAM

ACP

I/O MUX

MIO

ARM® CoreSight™ Multi-core & Trace Debug

512 KB L2 Cache

NEON™/ FPU Engine

Cortex™-A9 MPCore™ 32/32 KB I/D Caches

NEON™/ FPU Engine

Cortex™-A9 MPCore™ 32/32 KB I/D Caches

Snoop Control Unit (SCU)

Timer Counters 256 KB On-Chip Memory

General Interrupt Controller DMA Configuration

2x SPI

2x I2C

2x CAN

2x UART

GPIO

Processing System

AMBA® Switches

AMBA® Switches

AMBA® Switches

Dynamische Partielle Rekonfiguration

HW / SW Interface

Page 4: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Dynamische, Partielle Rekonfiguration (DPR)

Integriert in Chips der Xilinx Virtex Familie

DPR: Rekonfiguration zur Laufzeit

XC7Z020:

Größe der statischen Bitdatei: 4000 kB

Theoretische Rekonfigurationszeit : 2,6 ms

09 Juli 2013 www.missinglinkelectronics.com 4

Static Hardware

DPR DPR DPR

DPR DPR

DPR

Page 5: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Dynamische, Partielle Rekonfiguration (DPR)

09 Juli 2013 www.missinglinkelectronics.com 5

Page 6: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

ANDROID

09 Juli 2013 www.missinglinkelectronics.com 6

Applications

Application

Framework

Libraries

Linux Kernel

… Browser Kontakte Telefon

… Content

Provider

Window

Manager

Activity

Manager

Davilk Virtual

Machine … SSL

Surface

Manager

… Binder (IPC)

Driver

Camera

Driver

Display

Driver

Page 7: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Andoird auf Xilinx ZYNQ

09 Juli 2013 www.missinglinkelectronics.com 7

2x GigE with DMA

2x USB with DMA

2x SDIO with DMA

Static Memory Controller Quad-SPI, NAND, NOR

Dynamic Memory Controller DDR3, DDR2, LPDDR2

AMBA® Switches

Programmable Logic:

System Gates, DSP, RAM

ACP

I/O MUX

MIO

ARM® CoreSight™ Multi-core & Trace Debug

512 KB L2 Cache

NEON™/ FPU Engine

Cortex™-A9 MPCore™ 32/32 KB I/D Caches

NEON™/ FPU Engine

Cortex™-A9 MPCore™ 32/32 KB I/D Caches

Snoop Control Unit (SCU)

Timer Counters 256 KB On-Chip Memory

General Interrupt Controller DMA Configuration

2x SPI

2x I2C

2x CAN

2x UART

GPIO

Processing System

AMBA® Switches

AMBA® Switches

AMBA® Switches

Logi3D

Logi BitBlt

Logi BMP

Logi CVC

DPR DPR

Page 8: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Schedulingkonzepte

09 Juli 2013 www.missinglinkelectronics.com 8

1. Activity Lifecycle Bindung

+ Systemcode unverändert

- Activity Klassen neu erstellen

2. Service Lifecycle Bindung

+ Systemcode unverändert

- kein Detaillierter App-Zustand

für Scheduling verfügbar

Activity Manager Schnittstellen

+ detaillierter App-Zustand

verfügbar

+ Geringer Aufwand bei App

Entwicklung

3. Erweitern des Activity Managers

+ detaillierter App-Zustand

verfügbar

- Systemcode verändert

Page 9: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Kombination von Android und Xilinx Zynq

09 Juli 2013 www.missinglinkelectronics.com 9

Applications

Application

Framework

Libraries

Linux Kernel

ZYNQ

App 2 App 1

Content

Provider

Activity

Manager

JNI

GPIO

JNI

I2C

DPR

Scheduler

I2C

Driver DPR

Manager DevCfg

Driver

DPR HW

Manager

Processing

System I2C

DPR HW

GPIO

DPR HW

GPIO

Driver

Content

Provider List of

Tasks

Task

State

Hardware

Access

Hardware

Access

Hardware

Access

Hardware

Access

sysfs

Reconfi-

guration Control

Page 10: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

DPR Slot IP-Core

• Problem: Wie kann dynamische HW an einem AXI4 ausgetauscht werden?

• Lösung:

09 Juli 2013 www.missinglinkelectronics.com 10

Page 11: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

DPR Hardware Manager

• Problem: Wie können die Slots mittels Software aktiviert werden?

• Lösung:

09 Juli 2013 www.missinglinkelectronics.com 11

Page 12: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Linux Layer

• Problem: Wie erfolgt das Laden und Entladen der Treiber?

• Lösung:

09 Juli 2013 www.missinglinkelectronics.com 12

Page 13: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

DPR und Android auf dem Xilinx ZYNQ

09 Juli 2013 www.missinglinkelectronics.com 13

2x GigE with DMA

2x USB with DMA

2x SDIO with DMA

Static Memory Controller Quad-SPI, NAND, NOR

Dynamic Memory Controller DDR3, DDR2, LPDDR2

AMBA® Switches

Programmable Logic:

System Gates, DSP, RAM

ACP

I/O MUX

MIO

ARM® CoreSight™ Multi-core & Trace Debug

512 KB L2 Cache

NEON™/ FPU Engine

Cortex™-A9 MPCore™ 32/32 KB I/D Caches

NEON™/ FPU Engine

Cortex™-A9 MPCore™ 32/32 KB I/D Caches

Snoop Control Unit (SCU)

Timer Counters 256 KB On-Chip Memory

General Interrupt Controller DMA Configuration

2x SPI

2x I2C

2x CAN

2x UART

GPIO

Processing System

AMBA® Switches

AMBA® Switches

AMBA® Switches

Dynamische Partielle Rekonfiguration

HW / SW Interface

Page 14: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Hybride Apps = Android App + DPR Slot

09 Juli 2013 www.missinglinkelectronics.com 14

ZIP

Hardware Service

Hardware Driver

Device description (dtb file)

DPR Hardware (bin file)

Android App

Ap

p

Entw

ickl

er

„IP

Co

re“

Entw

ickl

er

Page 15: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Ergebnisse: Slotgranularität

09 Juli 2013 www.missinglinkelectronics.com 15

Slotbreite: 1 bis 60 CLBs

Slothöhe: 1 bis 150 CLBs

Minimale Slotfläche: 1 CLB

Maximale Zahl an Slots: 60

Xilinx XC7Z020 verfügt über 6650 CLBs

1 CLB entspricht ca. 200 ASIC Gates

Page 16: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Ergebnisse: Rekonfigurationszeiten

09 Juli 2013 www.missinglinkelectronics.com 16

1.2

%

13

.7%

17

.6%

24

.0%

14

.5%

11

.9%

4.5

%

3.1

% 5

.2%

2.2

%

0.4

%

0.4

%

0.2

%

0.5

%

0.3

%

0.2

%

0.0

%

0.1

%

0.0%

5.0%

10.0%

15.0%

20.0%

25.0%

30.0%

2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36

Häu

figk

eit

Rekonfigurationszeit [ms]

Page 17: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Ergebnisse: Rekonfigurationszeiten

09 Juli 2013 www.missinglinkelectronics.com 17

Übertragene Datenmenge: 30 kB

Page 18: Hybride Apps DPR und Android auf dem Xilinx ZYNQ · 2015. 9. 20. · Hybride Apps = Android App + DPR Slot 09 Juli 2013 14 ZIP Hardware Service Hardware Driver Device description

Kontakt

Missing Link Electronics

Industriestrasse 4 89231 Neu-Ulm

Tel: 0731-141149-14

www.MLEcorp.com

09 Juli 2013 www.missinglinkelectronics.com 18