Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Modular and Multicore RTIC: Multipass compilation, Distributions and Multicore support for hard real-time systems

Madaoui, Zakaria (2024)

 
Avaa tiedosto
MadaouiZakaria.pdf (9.024Mt)
Lataukset: 



Madaoui, Zakaria
2024

Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
Hyväksymispäivämäärä
2024-12-05
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-2024120110654
Tiivistelmä
The Real-Time Interrupt-driven Concurrency (RTIC) framework is a powerful domain-specific language for developing reliable embedded systems. However, as it evolves to support increasingly complex features and compatibility across various hardware platforms and configurations, its monolithic and rigid codebase presents substantial challenges. This complexity makes the framework difficult to understand, maintain, and extend, which deters potential contributors and limits its adaptability.

This thesis focuses on enabling robust multicore support in RTIC. First, a modular architecture was introduced which leveraged Rust traits and a novel technique that involved multi-pass procedural macro expansions inspired by compiler multi-stage processing. This design reduced the framework's complexity and decoupled the core logic from hardware-specific dependencies. Furthermore, it provided the necessary foundation for integrating multicore support and new syntax features without overwhelming the codebase with additional complexity.

Extending the RTIC DSL to describe multicore systems posed further challenges and considerations which were thoroughly examined in this thesis. This includes the preservation of Stack Resource Policy (SRP) guarantees in the presence of cross-core shared resources, varying requirements between symmetric and asymmetric systems, and constraints such as single-binary and multi-binary outputs. The thesis also presents practical solutions to these problems and details their integration into the modular framework.

To validate the proposed approach, three reference implementations were developed: one for the RP2040 microcontroller, another for a simulated multicore ARM architecture using the Renode framework, and one targeting a single-core RISC-V soft-core implementation. These implementations demonstrate that the new architecture not only simplifies the integration of multicore functionality and new hardware targets but also lays the groundwork for future advancements in RTIC. By making the framework modular, flexible, and approachable, this work contributes to ensuring the continuation of RTIC's relevance as multicore architectures become more prevalent in embedded systems.
Kokoelmat
  • Opinnäytteet - ylempi korkeakoulututkinto [41893]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste