Embedded software development, even for real-time applications, evolved along the years from using the assembly language and custom-built schedulers - often derived from a cyclic executive - towards higher-level languages and execution models. In turn, this requires a much more sophisticated support at the toolchain level with respect to the past, especially when a real-time operating system (RTOS) is involved. In this paper, the mutual relationships between several key mechanisms internal to a C-language toolchain and the underlying RTOS are analyzed. These relationships are sometimes neglected in practice, but can easily lead to subtle and hard to debug time-dependent errors. The discussion is carried out with reference to a real-world GCC-based open-source toolchain for the C language and the FreeRTOS RTOS, both of considerable practical interest.

RTOS support in C-language toolchains

I Cibrario Bertolotti
2017

Abstract

Embedded software development, even for real-time applications, evolved along the years from using the assembly language and custom-built schedulers - often derived from a cyclic executive - towards higher-level languages and execution models. In turn, this requires a much more sophisticated support at the toolchain level with respect to the past, especially when a real-time operating system (RTOS) is involved. In this paper, the mutual relationships between several key mechanisms internal to a C-language toolchain and the underlying RTOS are analyzed. These relationships are sometimes neglected in practice, but can easily lead to subtle and hard to debug time-dependent errors. The discussion is carried out with reference to a real-world GCC-based open-source toolchain for the C language and the FreeRTOS RTOS, both of considerable practical interest.
2017
Istituto di Elettronica e di Ingegneria dell'Informazione e delle Telecomunicazioni - IEIIT
Real-time systems
Embedded software
Open source software.
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14243/339347
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 3
  • ???jsp.display-item.citation.isi??? 4
social impact