PORTALE DELLA DIDATTICA

Ricerca CERCA
  KEYWORD

Multithreaded support Embedded Application on RISC-V

keywords EMBEDDED SYSTEMS, MULTICORE SYSTEMS, MULTIPROCESSOR SYSTEMS

Reference persons EDGAR ERNESTO SANCHEZ SANCHEZ, ALESSANDRO SAVINO

External reference persons Michele Portolan

Research Groups ELECTRONIC CAD & RELIABILITY GROUP - CAD, TESTGROUP - TESTGROUP

Thesis type IMPLEMENTATION, RESEARCH

Description Goals: Allow standalone execution of multithreaded application on an embedded RISC-V processor
Description:
Multithreaded programming is nowadays commonplace, especially since the advent of BOOST and C++11 provided efficient and optimized libraries for thread creation and handling. In particular, the std::thread library provides several advantages over legacy POSIX implementation. To obtain these results, they both rely on low-level OS libraries such as glibc to implement multithreading, and focus on providing a standardized API.
When moving from desktop to embedded applications, a fully-fledged OS is not always available. The so-called “baremetal” flow uses platform-optimized implementation of low-level libraries to obtain statically-linked independent executable. The most famous of these implementation is newlib, which does not provide multithreading. Other implementation exists, such as musl, but they have not been ported to RISC-V, the up-and-coming Open Source processor which is set to fight on equal terms with giants such as ARM.
The goal of this internship is to port musl (or equivalent) on RISC-V, and to provide an API for the std::thread library.

Learned Outcomes: Cross-compilation, Embedded Multithreading, Standard Libraries, RISC-V Instruction Set Architecture

Required skills C/C++ programming, Computer Architecture, OS basics, Assembler

Notes Possibility to develop an FPGA-based demonstrator


Deadline 03/10/2020      PROPONI LA TUA CANDIDATURA