{"title":"Improving Software Development for Embedded Systems","authors":"José M. Garrido","doi":"10.1145/3077286.3077318","DOIUrl":null,"url":null,"abstract":"Software development for embedded systems can be challenging. One reason for this is that computing engineers may not have sufficient preparation in a well-defined software development process and computer scientists do not often have sufficient knowledge of low-level architecture of controller devices. The actual implementation of software for embedded subsystems is usually carried out with the C programming language and might also require assembly language routines called from the C program. Several existing micro-controller development boards include software support for developing C and assembly programs. Examples of these types of boards are: Arduino boards and Silicon Labs Development kits. The software support provided mainly includes software tools such as: C compiler, editor, debugger, utilities for transferring the compiled program to the actual micro-controller board. This paper presents the first version of the high-level systems programming language Systems Computing Language (SCL). This is part of larger ongoing project that has as its goal the investigation of newer approaches, methods, techniques, and tools for improving the software development of embedded systems. The language syntax is defined at a higher level of abstraction than C, C++, and Java. Its compiler is implemented as a pre-processor that generates C code, that will subsequently be compiled and linked with standard tools. This paper provides an overview of systems programming languages, a description of the main features of the SCL language, then presents an example of an SCL program implemented for an Arduino program.","PeriodicalId":91384,"journal":{"name":"Proceedings of the 2014 ACM Southeast Regional Conference","volume":"1 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2017-04-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2014 ACM Southeast Regional Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3077286.3077318","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Software development for embedded systems can be challenging. One reason for this is that computing engineers may not have sufficient preparation in a well-defined software development process and computer scientists do not often have sufficient knowledge of low-level architecture of controller devices. The actual implementation of software for embedded subsystems is usually carried out with the C programming language and might also require assembly language routines called from the C program. Several existing micro-controller development boards include software support for developing C and assembly programs. Examples of these types of boards are: Arduino boards and Silicon Labs Development kits. The software support provided mainly includes software tools such as: C compiler, editor, debugger, utilities for transferring the compiled program to the actual micro-controller board. This paper presents the first version of the high-level systems programming language Systems Computing Language (SCL). This is part of larger ongoing project that has as its goal the investigation of newer approaches, methods, techniques, and tools for improving the software development of embedded systems. The language syntax is defined at a higher level of abstraction than C, C++, and Java. Its compiler is implemented as a pre-processor that generates C code, that will subsequently be compiled and linked with standard tools. This paper provides an overview of systems programming languages, a description of the main features of the SCL language, then presents an example of an SCL program implemented for an Arduino program.