{"title":"A Backend Tool for the Integration of Memory Optimizations into Embedded Software","authors":"Manuel Strobel, M. Radetzki","doi":"10.1109/FDL.2019.8876895","DOIUrl":null,"url":null,"abstract":"Higher functionality combined with increasingly data-hungry and more complex applications make embedded system design steadily more complex. This situation, however, is in direct contrast to development effort in terms of cost and time. A central pillar to face these challenges is system design automation. In this context and regarding increasingly software-centric embedded applications, this work presents a design automation tool for the transparent integration of memory subsystem optimization results into the embedded software at hand. Our solution is based on the LLVM backend and neatly integrated into the LLVM low-level compiler llc. In this paper, the workflow of our code generation method is described in general and further discussed on the example of a concrete implementation for the ARMv6-M architecture. Experiments for this platform and using 10 representative embedded benchmarks prove the functionality of our method by targeted tests and show the successful application of the tool to selected use cases from the field of memory subsystem optimization.","PeriodicalId":162747,"journal":{"name":"2019 Forum for Specification and Design Languages (FDL)","volume":"113 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.8876895","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Higher functionality combined with increasingly data-hungry and more complex applications make embedded system design steadily more complex. This situation, however, is in direct contrast to development effort in terms of cost and time. A central pillar to face these challenges is system design automation. In this context and regarding increasingly software-centric embedded applications, this work presents a design automation tool for the transparent integration of memory subsystem optimization results into the embedded software at hand. Our solution is based on the LLVM backend and neatly integrated into the LLVM low-level compiler llc. In this paper, the workflow of our code generation method is described in general and further discussed on the example of a concrete implementation for the ARMv6-M architecture. Experiments for this platform and using 10 representative embedded benchmarks prove the functionality of our method by targeted tests and show the successful application of the tool to selected use cases from the field of memory subsystem optimization.