freertos multicore port for validation infrastructure
TRANSCRIPT
Confidential and Proprietary
TM
FreeRTOS Multicore Port for Validation Infrastructure
Raghav Nayak [email protected]
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