FreeRTOS Multicore Port for Validation Infrastructure

Post on 08-Aug-2015

139 views 19 download

Tags:

Transcript of FreeRTOS Multicore Port for Validation Infrastructure

Confidential and Proprietary

TM

FreeRTOS Multicore Port for Validation Infrastructure

Raghav Nayak raghav.nayak@freescale.com

2 0 1 5

14th IDC Technical Symposium

TM

Confidential and Proprietary 2

Agenda

Problem Analysis

Proposed Solution

Results

Uniqueness

TM

Confidential and Proprietary 3

PROBLEM:

SoC’s becoming increasingly complex

Limitations with Bare-Metal Framework

Better validation strategy to find/reproduce critical silicon issues

Bridge the gap between Bare-Metal and Software Environment

TM

Confidential and Proprietary 4

SOLUTION:

RTOS Based Validation

Which RTOS to choose????

We have decided to go with “FREERTOS”

TM

Confidential and Proprietary 5

WHY FREERTOS?

Very Scalable

Simple and easy to use

Low Memory Footprint

Popular Open-Source embedded real-time operating system

Ported over different hardware architectures and compiler tool-chains

TM

Confidential and Proprietary 6

FREERTOS:

TM

Confidential and Proprietary 7

TM

Confidential and Proprietary 8

FREERTOS:

TM

Confidential and Proprietary 9

FREERTOS-MULTICORE:

Extending the support to Multicore Implementing MP Scheduler

Hardware design

TM

Confidential and Proprietary 10

FREERTOS-MULTICORE:

Memory model

TM

Confidential and Proprietary 11

FREERTOS-IMPLEMENTATION:

Core-Ignition:

TM

Confidential and Proprietary 12

FREERTOS-IMPLEMENTATION:

Task Creation:

Single-Core:

Multi-Core:

TM

Confidential and Proprietary 13

FREERTOS-IMPLEMENTATION:

Scheduler -> Task Control Block (TCB) :

Single-Core--->

Multi-Core---->

TM

Confidential and Proprietary 14

FREERTOS-IMPLEMENTATION:

Port-Layer (Context Save/Restore)

Synchronization

TM

Confidential and Proprietary 15

FREERTOS-RUN:

LS1 Platform with debug from ARM DS-5

LS2 Fast Model with debug from GDB

TM

Confidential and Proprietary 16

FREERTOS-SUPPORT:

Preemptive and Co-operative Scheduling

Core-Subsystem (ARM Cortex A7, A57, A53)

Memory Management (Short descriptor and LPAE)

Interrupt Management (GIC400, GIC500)

Drivers ( I2C, UART, DMA )

Logging ( Console, Trace )

TM

Confidential and Proprietary 17

FREERTOS-PLATFORM:

Python (Host-Interface) FreeRTOS (Target-Interface)

Multi-Processing and Multi-Tasking

Provide path to run directed and complex system synario’s

Multiple-Masters/Cores getting services to validate/stress-out better

TM

Confidential and Proprietary 18

UNIQUENESS:

“Memory footprint” <400KB and “Boot-time” is <1min with full-system on emulator

Scalable enough to find “early” critical silicon bugs in Pre-Silicon phase

Easy to “reproduce” issues reported by software team in Post-Silicon phase

Helps to “bridge the gap” between Bare-Metal and Software

Platform is “generic” across different hardware architectures and applications

TM

Confidential and Proprietary 19

Thinking Ahead

TM

Confidential and Proprietary 20

TM

Confidential and Proprietary 21

TM

Confidential and Proprietary 22

UNIQUENESS:

Scalable enough to find “early” critical silicon bugs in Pre-Silicon phase

Easy to “reproduce” issues reported by software team in Post-Silicon phase

Helps to “bridge the gap” between Bare-Metal and Software

Platform is “generic” across different hardware architectures and applications

Questions and Answers

TM

© 2014 Freescale Semiconductor, Inc. | Confidential and Proprietary

www.Freescale.com