Real Time Framework Parallella : documentation¶
Introduction¶
Source coode for this project can be currently found in the eclipse APP4MC examples repository. Initial merge of this project with APP4MC examples repository can be found in this link.
Soruce code is also available on GitHub.
This file is intended to be an introduction that explains the main functionality of RTFParallella framework.
What is RTFParallella¶
RTFParallella is a framework that allows the easy implementation of nulti-core, real-time applications on the Adapteva Parallella hardware platform by using the 16-core Epiphany III co-processor on board and exploiting the Network on Chip (NoC) architecture of that chip for deterministic multi-core implementations of automotive software. The organization of implementation code within the framework as well as user code has been arranged according to Amalthea. models of a multi-core system (both hardware and software artifacts), The code will only require attributes of tasks and their deployment on cores as a tuple of Amalthea parameters.
Contribution¶
This project has been started in the context of Google summer of code. During Google Summer of Code the following has been contributed to RTFParallella:
- Fixed the FreeRTOS port for Epiphany III processor to be able to realize RMS schedulling.
- Relaized RMS scheduling policy for tasks on Epiphany processor.
- Adapted Amalthea model task structure to run using FreeRTOS.
- Added support for shared memory management and distributed shared memory management.
- Added visuallization of real-time behavior of amalthea model on EpiphanyIII processor.
- Added examples that could be changed (manually or by code generation) to realize any Amalthea model. (given it fits within the parallella hardware constraints).
Quick start¶
- Clone RTFParallella source code and examples from the APP4MC examples repository.
- Set up cross complilation environment as in Cross compilation setup (steps):.
- run patch_init.sh
sh patch_init.sh
- run make all from src/parallella
- set up the deployment script as in Deployment Script.
- deploy the binaries to Parallella (.elf files) and (host_main) using parallellaDeploy
- SSH into parallella board and run host_main
Documentation scope¶
This documentation will include the following:
- A step-by-step guide on the setup of the Adapteva Parallella Hardware platform.
- A guide on setting up the eclipse IDE for cross compilation nad deployment/ running of RTFParallella code on Adapteva Parallella.
- A guide showing the intended usage of the framework and how to manipulate such framework to realize the desired real time behavior.
- The design of RTFP and how it could be adapted to other hardware platforms.
- Limitations that should be taken into account when using RTFP.
Index¶
- Parallella hardware
- Adapteva Parallella setup
- Binary deployment on Parallella
- Real Time Framework Parallella
- Task management in RTFP
- BTF Specification
- BTF Tracing Framework
- BTF traces in RTFParallella
- Shared memory management in RTFP
- Distributed shared memory management in RTFP
- Memory Mapping
- Utility functions - task tracing
- Utility functions - task operations
- Utility functions - Visualization
- Adapting FreeRTOS to RTFP
- Scheduling example
- BTF tracing example
- Limitation and Future Work