Time Measurement and Control Blocks for Bare-Metal C++ Applications

Friederike Bruns, Irune Yarza, Philipp Ittershagen, Kim Grüttner
{"title":"Time Measurement and Control Blocks for Bare-Metal C++ Applications","authors":"Friederike Bruns, Irune Yarza, Philipp Ittershagen, Kim Grüttner","doi":"10.1109/FDL.2019.8876898","DOIUrl":null,"url":null,"abstract":"Precisely timed execution of resource constrained bare-metal applications is difficult, because the embedded software developer usually has to implement and check the timeliness of the executed application through manual interaction with timers or counters. In the scope of this work, we propose a concept for time annotation and control blocks in C++. Our proposed blocks can be used to measure and profile software block execution time. Furthermore, it can be used to control and enforce the software time behavior at run-time. We have implemented our concept in a C++ library and tested it on an ARM Cortex A9 bare-metal platform. The usage of our library has been evaluated on a critical flight-control software for a multi-rotor system. The results show that our concept is working, while still having some room for systematic accuracy testing and optimization.","PeriodicalId":162747,"journal":{"name":"2019 Forum for Specification and Design Languages (FDL)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 Forum for Specification and Design Languages (FDL)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/FDL.2019.8876898","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

Precisely timed execution of resource constrained bare-metal applications is difficult, because the embedded software developer usually has to implement and check the timeliness of the executed application through manual interaction with timers or counters. In the scope of this work, we propose a concept for time annotation and control blocks in C++. Our proposed blocks can be used to measure and profile software block execution time. Furthermore, it can be used to control and enforce the software time behavior at run-time. We have implemented our concept in a C++ library and tested it on an ARM Cortex A9 bare-metal platform. The usage of our library has been evaluated on a critical flight-control software for a multi-rotor system. The results show that our concept is working, while still having some room for systematic accuracy testing and optimization.
用于裸金属c++应用程序的时间测量和控制块
精确地定时执行资源受限的裸机应用程序是困难的,因为嵌入式软件开发人员通常必须通过与计时器或计数器的手动交互来实现和检查已执行应用程序的时效性。在这项工作的范围内,我们提出了c++中时间注释和控制块的概念。我们提出的块可以用来测量和分析软件块的执行时间。此外,它还可以用于在运行时控制和执行软件时行为。我们已经在一个c++库中实现了我们的概念,并在ARM Cortex A9裸机平台上进行了测试。在一个多旋翼系统的关键飞行控制软件上对我们的库的使用进行了评估。结果表明,我们的概念是有效的,但仍有一些空间进行系统的精度测试和优化。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信