Leveraging real-time and multitasking Ada capabilities to small microcontrollers

被引:1
|
作者
Aldea Rivas, Mario [1 ]
Perez Tijero, Hector [1 ]
机构
[1] Univ Cantabria, Avd Castros S-N, E-39005 Santander 39005, Spain
关键词
Real-time; Operating systems; Embedded systems; Microcontrollers;
D O I
10.1016/j.sysarc.2019.02.015
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Small embedded microcontrollers typically operate for years without further programmer intervention, so that shipping software free of errors becomes paramount. The Ada programming language includes many safety characteristics (e.g., strong typing or contract-based programming) that help to largely reduce the number of errors introduced by programmers. However, Ada is barely used in microcontrollers with tight memory constraints due to the overhead introduced at run-time. The tasking semantics included in the language represent one major source of this overhead. In this paper we present a new Ada run-time environment that includes a new scheduling policy based on the one-shot task model that simplifies the implementation of the Ada tasking primitives and allows stack sharing techniques to be applied. Consequently, the proposed approach allows using the inherent safety characteristics of the Ada language along with a set of tasking constructs more suitable for small memory devices. Despite its simplicity, the tasking primitives have an equivalent, if not superior, expressiveness to the typical tasking constructs provided by the operating systems targeted to small microcontrollers. An implementation based on a small kernel, a modified run-time system and an automatic code transformation tool have been developed in the context of this work. Initial tests provide promising results, showing the tasking constructs are functionally correct and the proposed run-time features a small memory footprint.
引用
收藏
页码:32 / 41
页数:10
相关论文
共 50 条
  • [1] A real-time virtual machine implementation for small microcontrollers
    Davis, W. Roger
    Laplante, Phillip A.
    Sanden, Bo I.
    INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2012, 8 (03) : 223 - 241
  • [2] Timing Comparison of the Real-Time Operating Systems for Small Microcontrollers
    Ungurean, Ioan
    SYMMETRY-BASEL, 2020, 12 (04):
  • [3] Real-time Ada applications on Android
    Perez Ruiz, Alejandro
    Aldea Rivas, Mario
    Gonzalez Harbour, Michael
    REVISTA IBEROAMERICANA DE AUTOMATICA E INFORMATICA INDUSTRIAL, 2019, 16 (03): : 264 - 272
  • [4] Real-time Neural Networks Implementation Proposal for Microcontrollers
    Guimaraes, Caio Jose B. V.
    Fernandes, Marcelo A. C.
    ELECTRONICS, 2020, 9 (10) : 1 - 20
  • [5] Methods to improve the performances of the real-time operating systems for small microcontrollers
    Gaitan, Nicoleta Cristina
    Gaitan, Vasile Gheorghita
    Ungurean, Ioan
    Zagan, Ionel
    2015 20TH INTERNATIONAL CONFERENCE ON CONTROL SYSTEMS AND COMPUTER SCIENCE, 2015, : 261 - 266
  • [6] ARTe: Providing real-time multitasking to Arduino
    Restuccia, Francesco
    Pagani, Marco
    Mascitti, Agostino
    Barrow, Michael
    Marinoni, Mauro
    Biondi, Alessandro
    Buttazzo, Giorgio
    Kastner, Ryan
    JOURNAL OF SYSTEMS AND SOFTWARE, 2022, 186
  • [7] The chance for Ada to support distribution and real-time in embedded systems
    Campos, JL
    Gutiérrez, JJ
    Harbour, MG
    RELIABLE SOFTWARE TECHNOLOGIES- ADA-EUROPE 2004, 2004, 3063 : 91 - 105
  • [8] Power Consumption Prediction in Real-Time Multitasking Systems
    Antolak, Ernest
    Pulka, Andrzej
    ELECTRONICS, 2024, 13 (07)
  • [9] A SYMBOLIC DEBUGGER FOR REAL-TIME EMBEDDED ADA SOFTWARE
    LYTTLE, D
    FORD, R
    SOFTWARE-PRACTICE & EXPERIENCE, 1990, 20 (05) : 499 - 514
  • [10] Real-time distribution middleware from the Ada perspective
    Perez, Hector
    Gutierrez, J. Javier
    Sangorrin, Daniel
    Harbour, Michael Gonzalez
    RELIABLE SOFTWARE TECHNOLOGIES - ADA-EUROPE 2008, 2008, 5026 : 268 - 281