Online Learning Center for Embedded Systems and Software
This whitepaper shows some simple "build-it-yourself" task schedulers, and then examines the
point at which it becomes worthwhile to consider a more sophisticated off-the-shelf preemptive
task scheduler. It concludes with a peek into the future of task schedulers.
This whitepaper introduces the fundamental issues and ideas inherent in real-time operating
system kernels. It discusses the differences between real-time operating systems on the one
hand, and general-purpose or multi-user operating systems on the other hand.
This more advanced whitepaper examines the problems of unbounded priority inversion in
embedded multitasking software design. It shows some of the weaknesses of traditional software
semaphores, and then goes on to propose a mechanism called a 'mutex' as a solution to these
This more advanced whitepaper examines the problems of embedded systems which must
provide service 99.999% of the time, while being able to tolerate both expected and unexpected
faults. Their design is based on a combination of redundant hardware components and software
to manage fault detection and correction.
This extremely technical whitepaper examines the high-level design of driver software that is to
operate hardware I/O devices interfaced to an embedded computer. It goes through a series of
structural models for device driver design, presented in the order of their growing complexity.
This extremely technical whitepaper examines some of the mathematical calculations that
embedded systems and software designers need to perform in order to design message queues
and evaluate other memory capacity issues. The emphasis of this paper is on practical examples,
rather than mathematical proofs.
This very specialized whitepaper examines the problems of embedded systems which must
guarantee the life, safety and well-being of human beings, while being able to tolerate both
expected and unexpected faults. Such systems are being used more and more in areas such as
medical, automotive, avionic, chemical and nuclear applications.
For Additional Reading Materials in Other European Languages:
A list of additional technical reading materials in other European languages
, with links for on-line access, is available by clicking here .
|© Copyright 2016, D. Kalinsky Associates, All Rights Reserved.
This page Updated March 30, 2016
This very specialized whitepaper examines the design of software for embedded systems which
are to be run on multicore processors, whether in symmetric or asymmetric multiprocessing.
Multicore processors are becoming more and more popular in the design of embedded devices,
as processing requirements continue to burgeon while silicon chip speeds cannot keep up.
This is a highly technical article. Both application software designers and embedded / real-time
operating system designers are striving to find new ways to design software for multicore. One
new approach is the use of Multiple Reader – Writer locks, a fourth kind of semaphore that is now
becoming popular in embedded / real-time operating systems for multicore.
This is a highly advanced technical article. Multicore application software designers and
embedded / real-time operating system builders are searching new ways to efficiently and reliably
regulate access to shared data in their software. The Compare-and-Swap atomic machine
instruction that is available in a number of multicore SOCs, offers a novel solution.
This whitepaper introduces the fundamental issues and ideas in today's struggle against attacks
on embedded systems which exploit vulnerabilities in embedded software . It discusses a
number of "mindframes" and "vulnerabilities" involved in this new challenge to our embedded
This whitepaper introduces the concepts and principles of operation of modern-generation static
source code analysis tools . These tools are valuable for testing and debugging embedded
systems software, and are also useful in identifying security vulnerabilities in this software.
|This website contains some technical papers for professional embedded software
developers and designers of real time systems. They range from introductory topics on the
fundamentals of embedded systems and embedded programming, to advanced topics on
software architectural design, testing and debugging of real-time software, cyber-physical
systems and engineering of safety critical and high availability systems. Several papers
delve into the use of real time operating systems ("RTOSs") in embedded application
development. Cutting-edge topics such as multi-core processing, fault tolerance, high
availability and safety critical embedded systems design are addressed. The papers are
relevant to systems engineers as well as embedded software architects.
The techniques presented in these papers find wide usage in embedded systems
applications as diverse as aerospace, defense, medical, automotive, consumer electronics,
industrial control, multimedia, communication infrastructure and the 'Internet of Things' (IoT).
|SPECIAL ADVERTISING SECTION