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 条
  • [21] Ada for Real-Time and Parallel Processing
    McCormick, John W.
    SIGADA 2009: PROCEEDINGS OF THE ACM INTERNATIONAL CONFERENCE ON ADA AND RELATED TECHNOLOGIES, 2009, : 13 - 13
  • [22] Running Ada on real-time Linux
    Masmano, M
    Real, J
    Ripoll, I
    Crespo, A
    RELIABLE SOFTWARE TECHNOLOGIES - ADA-EUROPE 2003, 2003, 2655 : 322 - 333
  • [23] Proposal for a New Ada Profile for Small Microcontrollers
    Rivas, Mario Aldea
    Perez-Tijero, Hector
    Ada User Journal, 2018, 39 (02): : 119 - 122
  • [24] Timed multitasking for real-time embedded software
    Liu, J
    Lee, EA
    IEEE CONTROL SYSTEMS MAGAZINE, 2003, 23 (01): : 65 - 75
  • [25] Real-time schedulability tests for preemptive multitasking
    Fidge, CJ
    REAL-TIME SYSTEMS, 1998, 14 (01) : 61 - 93
  • [26] 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
  • [27] PRODDING THE PC TO PERFORM REAL-TIME MULTITASKING
    REHRIG, RH
    MINGER, EJ
    MECHANICAL ENGINEERING, 1987, 109 (10) : 53 - 55
  • [28] Debugging real-time software in a multitasking environment
    Abbott, Doug
    Electronic Product Design, 1995, 17 (01):
  • [29] Real-Time Schedulability Tests for Preemptive Multitasking
    C. J. Fidge
    Real-Time Systems, 1998, 14 : 61 - 93
  • [30] Real-time Neural Networks Implementation Proposal for Microcontrollers
    Guimaraes, Caio Jose B. V.
    Fernandes, Marcelo A. C.
    ELECTRONICS, 2020, 9 (10) : 1 - 20