scholarly journals Real-Time Operating Systems and Programming Languages for Embedded Systems

Author(s):  
Javier D. ◽  
Rodrigo M.
Author(s):  
Massimo Violante ◽  
Gianpaolo Macario ◽  
Salvatore Campagna

Automotive infotainment applications are examples of embedded systems in which a heterogeneous software stack is used, which most likely comprises a real-time operating system, an automotive-grade Linux, and possibly Android. Thanks to the availability of modern systems-on-a-chip providing multicore computing platforms, architects have the possibility of integrating the entire software stack in a single chip. Embedded virtualization appears an interesting technology to achieve this goal, while providing the different operating systems the capability of exchanging data as well as optimizing resource usage. Although very well known in server-class systems, virtualization is rather new to the embedded domain; in order to leverage its benefits, it is therefore mandatory to understand its peculiarities and shortcomings. In this chapter, the authors illustrate the virtualization technologies with particular emphasis on hypervisors and Linux Containers. Moreover, they illustrate how those technologies can cooperate to fulfill the requirements on automotive infotainment applications. Finally, the authors report some experimental evidence of the performance overheads introduced when using embedded virtualization.


2010 ◽  
Vol 47 (2) ◽  
pp. 120-131 ◽  
Author(s):  
Janez Puhan ◽  
Árpád Bűrmen ◽  
Tadej Tuma ◽  
Iztok Fajfar

The paper discusses whether (and how) to teach assembly coding as opposed to (or in conjunction with) higher programming languages as part of a modern electrical engineering curriculum. We describe the example of a very simple cooperative embedded real-time operating system, first programmed in C and then in assembler. A few lines of C language code are compared with the slightly longer assembly code equivalent, and the advantages and drawbacks are discussed. The example affords students a much deeper understanding of computer architecture and operating systems. The course is linked to other courses in the curriculum, which all use the same hardware and software platform; this lowers prices, reduces overheads and encourages students to reuse parts of a written code in subsequent courses. A student learns that badly written and poorly documented code is very difficult to reuse.


Author(s):  
Francis (Pete) Fisher

For the most basic embedded systems, an integrator must assume that the system has no keyboard support, no mouse, and no monitor. A programmable keypad and a limited alphanumeric display are the usual interface devices. Our research looks at the new generation of powerful embedded platforms and operating systems to investigate the potential integration of automatic speech recognition (ASR) to control high-end diagnostic systems. Our goal is to present a working design model and identify critical issues to aid future designers and system engineers in the process of incorporating speech control into embedded systems. Critical issues discussed include hardware platforms, use of off-the-shelf ASR software, real-time versus near-real-time operating systems, and user system navigation and location awareness.


Author(s):  
Viktória Bakonyi ◽  
Zoltán Illés ◽  
Zoltán Illés

Today we are surrounded by IT devices and a lot of different applications from which more and more are usually work in real-time. These systems are mainly embedded systems but there are general operating systems which offers such possibilities too. Moreover, we can talk about real-time applications on the web as well. Therefore, it became very important for each informatician especially for future informatics teachers to know about the bases of this technology. Everybody knows the fact that each new technology appears sooner or later in education and finds its place in it. These new possibilities may give additional tools into teachers’ hands. The question is whether they can live with the opportunity or not.


Symmetry ◽  
2020 ◽  
Vol 12 (4) ◽  
pp. 592 ◽  
Author(s):  
Ioan Ungurean

In automatic systems used in the control and monitoring of industrial processes, fieldbuses with specific real-time requirements are used. Often, the sensors are connected to these fieldbuses through embedded systems, which also have real-time features specific to the industrial environment in which it operates. The embedded operating systems are very important in the design and development of embedded systems. A distinct class of these operating systems is real-time operating systems (RTOSs) that can be used to develop embedded systems, which have hard and/or soft real-time requirements on small microcontrollers (MCUs). RTOSs offer the basic support for developing embedded systems with applicability in a wide range of fields such as data acquisition, internet of things, data compression, pattern recognition, diversity, similarity, symmetry, and so on. The RTOSs provide basic services for multitasking applications with deterministic behavior on MCUs. The services provided by the RTOSs are task management and inter-task synchronization and communication. The selection of the RTOS is very important in the development of the embedded system with real-time requirements and it must be based on the latency in the handling of the critical operations triggered by internal or external events, predictability/determinism in the execution of the RTOS primitives, license costs, and memory footprint. In this paper, we measured and compared the timing performance for synchronization throughout an event, semaphore, and mailbox for the following RTOSs: FreeRTOS 9.0.0, FreeRTOS 10.2.0, rt-thread, Keil RTX, uC/OS-II, and uC/OS-III. For the experimental tests, we developed test applications for two MCUs: ARM Cortex™-M4 and ARM Cortex™-M0+ based MCUs.


Sign in / Sign up

Export Citation Format

Share Document