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] REAL-TIME OPERATING SYSTEMS FOR SMALL MICROCONTROLLERS
    Anh, Tran Nguyen Bao
    Tan, Su-Lim
    IEEE MICRO, 2009, 29 (05) : 30 - 45
  • [2] 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
  • [3] Timing Comparison of the Real-Time Operating Systems for Small Microcontrollers
    Ungurean, Ioan
    SYMMETRY-BASEL, 2020, 12 (04):
  • [4] REAL-TIME ADA
    LEIBSON, SH
    EDN, 1989, 34 (17) : 102 - &
  • [5] A small and effective data cache for real-time multitasking systems
    Segarra, Juan
    Rodrigues, Clemente
    Gran, Ruben
    Aparicio, Luis C.
    Vinals, Victor
    2012 IEEE 18TH REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATIONS SYMPOSIUM (RTAS), 2012, : 45 - 54
  • [6] 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
  • [7] MICROCONTROLLERS EASE REAL-TIME TASKS
    WINARD, H
    ELECTRONIC DESIGN, 1986, 34 (27) : 167 - 172
  • [8] On Real-Time Performance of Multitasking with RTAI
    Zhao, Lan
    2018 2ND INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION SCIENCES (ICRAS), 2018, : 51 - 56
  • [9] MICROPROCESSOR DOES MULTITASKING IN REAL-TIME
    GOSCH, J
    ELECTRONICS, 1982, 55 (22): : 71 - 72
  • [10] MULTITASKING AND REAL-TIME FOR VIBRATION WELDING
    BRUCKERT, F
    KUNSTSTOFFE-GERMAN PLASTICS, 1992, 82 (10): : 974 - 977