Embedded Operating System Projects
Title | Embedded Operating System Projects PDF eBook |
Author | Hentschel, Uwe |
Publisher | Universitätsverlag Potsdam |
Pages | 106 |
Release | 2014 |
Genre | |
ISBN | 386956296X |
In today’s life, embedded systems are ubiquitous. But they differ from traditional desktop systems in many aspects – these include predictable timing behavior (real-time), the management of scarce resources (memory, network), reliable communication protocols, energy management, special purpose user-interfaces (headless operation), system configuration, programming languages (to support software/hardware co-design), and modeling techniques. Within this technical report, authors present results from the lecture “Operating Systems for Embedded Computing” that has been offered by the “Operating Systems and Middleware” group at HPI in Winter term 2013/14. Focus of the lecture and accompanying projects was on principles of real-time computing. Students had the chance to gather practical experience with a number of different OSes and applications and present experiences with near-hardware programming. Projects address the entire spectrum, from bare-metal programming to harnessing a real-time OS to exercising the full software/hardware co-design cycle. Three outstanding projects are at the heart of this technical report. Project 1 focuses on the development of a bare-metal operating system for LEGO Mindstorms EV3. While still a toy, it comes with a powerful ARM processor, 64 MB of main memory, standard interfaces, such as Bluetooth and network protocol stacks. EV3 runs a version of 1 1 Introduction Linux. Sources are available from Lego’s web site. However, many devices and their driver software are proprietary and not well documented. Developing a new, bare-metal OS for the EV3 requires an understanding of the EV3 boot process. Since no standard input/output devices are available, initial debugging steps are tedious. After managing these initial steps, the project was able to adapt device drivers for a few Lego devices to an extent that a demonstrator (the Segway application) could be successfully run on the new OS. Project 2 looks at the EV3 from a different angle. The EV3 is running a pretty decent version of Linux- in principle, the RT_PREEMPT patch can turn any Linux system into a real-time OS by modifying the behavior of a number of synchronization constructs at the heart of the OS. Priority inversion is a problem that is solved by protocols such as priority inheritance or priority ceiling. Real-time OSes implement at least one of the protocols. The central idea of the project was the comparison of non-real-time and real-time variants of Linux on the EV3 hardware. A task set that showed effects of priority inversion on standard EV3 Linux would operate flawlessly on the Linux version with the RT_PREEMPT-patch applied. If only patching Lego’s version of Linux was that easy... Project 3 takes the notion of real-time computing more seriously. The application scenario was centered around our Carrera Digital 132 racetrack. Obtaining position information from the track, controlling individual cars, detecting and modifying the Carrera Digital protocol required design and implementation of custom controller hardware. What to implement in hardware, firmware, and what to implement in application software – this was the central question addressed by the project.
Making Embedded Systems
Title | Making Embedded Systems PDF eBook |
Author | Elecia White |
Publisher | "O'Reilly Media, Inc." |
Pages | 329 |
Release | 2011-10-25 |
Genre | Computers |
ISBN | 1449320589 |
Interested in developing embedded systems? Since they donâ??t tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate a host of good development practices, based on classic software design patterns and new patterns unique to embedded programming. Learn how to build system architecture for processors, not operating systems, and discover specific techniques for dealing with hardware difficulties and manufacturing requirements. Written by an expert whoâ??s created embedded systems ranging from urban surveillance and DNA scanners to childrenâ??s toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use. Optimize your system to reduce cost and increase performance Develop an architecture that makes your software robust in resource-constrained environments Explore sensors, motors, and other I/O devices Do more with less: reduce RAM consumption, code space, processor cycles, and power consumption Learn how to update embedded code directly in the processor Discover how to implement complex mathematics on small processors Understand what interviewers look for when you apply for an embedded systems job "Making Embedded Systems is the book for a C programmer who wants to enter the fun (and lucrative) world of embedded systems. Itâ??s very well writtenâ??entertaining, evenâ??and filled with clear illustrations." â??Jack Ganssle, author and embedded system expert.
An Embedded Software Primer
Title | An Embedded Software Primer PDF eBook |
Author | David E. Simon |
Publisher | Addison-Wesley Professional |
Pages | 460 |
Release | 1999 |
Genre | Computers |
ISBN | 9780201615692 |
Simon introduces the broad range of applications for embedded software and then reviews each major issue facing developers, offering practical solutions, techniques, and good habits that apply no matter which processor, real-time operating systems, methodology, or application is used.
Hands-On RTOS with Microcontrollers
Title | Hands-On RTOS with Microcontrollers PDF eBook |
Author | Brian Amos |
Publisher | Packt Publishing Ltd |
Pages | 479 |
Release | 2020-05-15 |
Genre | Computers |
ISBN | 1838829288 |
Build a strong foundation in designing and implementing real-time systems with the help of practical examples Key Features Get up and running with the fundamentals of RTOS and apply them on STM32 Enhance your programming skills to design and build real-world embedded systems Get to grips with advanced techniques for implementing embedded systems Book DescriptionA real-time operating system (RTOS) is used to develop systems that respond to events within strict timelines. Real-time embedded systems have applications in various industries, from automotive and aerospace through to laboratory test equipment and consumer electronics. These systems provide consistent and reliable timing and are designed to run without intervention for years. This microcontrollers book starts by introducing you to the concept of RTOS and compares some other alternative methods for achieving real-time performance. Once you've understood the fundamentals, such as tasks, queues, mutexes, and semaphores, you'll learn what to look for when selecting a microcontroller and development environment. By working through examples that use an STM32F7 Nucleo board, the STM32CubeIDE, and SEGGER debug tools, including SEGGER J-Link, Ozone, and SystemView, you'll gain an understanding of preemptive scheduling policies and task communication. The book will then help you develop highly efficient low-level drivers and analyze their real-time performance and CPU utilization. Finally, you'll cover tips for troubleshooting and be able to take your new-found skills to the next level. By the end of this book, you'll have built on your embedded system skills and will be able to create real-time systems using microcontrollers and FreeRTOS.What you will learn Understand when to use an RTOS for a project Explore RTOS concepts such as tasks, mutexes, semaphores, and queues Discover different microcontroller units (MCUs) and choose the best one for your project Evaluate and select the best IDE and middleware stack for your project Use professional-grade tools for analyzing and debugging your application Get FreeRTOS-based applications up and running on an STM32 board Who this book is for This book is for embedded engineers, students, or anyone interested in learning the complete RTOS feature set with embedded devices. A basic understanding of the C programming language and embedded systems or microcontrollers will be helpful.
Embedded System Design on a Shoestring
Title | Embedded System Design on a Shoestring PDF eBook |
Author | Lewin Edwards |
Publisher | Elsevier |
Pages | 249 |
Release | 2003-06-02 |
Genre | Technology & Engineering |
ISBN | 0080491235 |
In this practical guide, experienced embedded engineer Lewin Edwards demonstrates faster, lower-cost methods for developing high-end embedded systems. With today's tight schedules and lower budgets, embedded designers are under greater pressure to deliver prototypes and system designs faster and cheaper. Edwards demonstrates how the use of the right tools and operating systems can make seemingly impossible deadlines possible. Designer's Guide to Embedded Systems Development shares many advanced, in-the-trenches design secrets to help engineers achieve better performance on the job. In particular, it covers many of the newer design tools supported by the GPL (GNU Public License) system. Code examples are given to provide concrete illustrations of tasks described in the text. The general procedures are applicable to many possible projects based on any 16/32-bit microcontroller. The book covers choosing the right architecture and development hardware to fit the project; choosing an operating system and developing a toolchain; evaluating software licenses and how they affect a project; step-by-step building instructions for gcc, binutils, gdb and newlib for the ARM7 core used in the case study project; prototyping techniques using a custom printed circuit board; debugging tips; and portability considerations. A wealth of practical tips, tricks and techniques Design better, faster and more cost-effectively
Embedded Software Development
Title | Embedded Software Development PDF eBook |
Author | Ivan Cibrario Bertolotti |
Publisher | CRC Press |
Pages | 526 |
Release | 2017-12-19 |
Genre | Computers |
ISBN | 1466593938 |
Embedded Software Development: The Open-Source Approach delivers a practical introduction to embedded software development, with a focus on open-source components. This programmer-centric book is written in a way that enables even novice practitioners to grasp the development process as a whole. Incorporating real code fragments and explicit, real-world open-source operating system references (in particular, FreeRTOS) throughout, the text: Defines the role and purpose of embedded systems, describing their internal structure and interfacing with software development tools Examines the inner workings of the GNU compiler collection (GCC)-based software development system or, in other words, toolchain Presents software execution models that can be adopted profitably to model and express concurrency Addresses the basic nomenclature, models, and concepts related to task-based scheduling algorithms Shows how an open-source protocol stack can be integrated in an embedded system and interfaced with other software components Analyzes the main components of the FreeRTOS Application Programming Interface (API), detailing the implementation of key operating system concepts Discusses advanced topics such as formal verification, model checking, runtime checks, memory corruption, security, and dependability Embedded Software Development: The Open-Source Approach capitalizes on the authors’ extensive research on real-time operating systems and communications used in embedded applications, often carried out in strict cooperation with industry. Thus, the book serves as a springboard for further research.
Programming Embedded Systems
Title | Programming Embedded Systems PDF eBook |
Author | Michael Barr |
Publisher | "O'Reilly Media, Inc." |
Pages | 326 |
Release | 2006-10-11 |
Genre | Computers |
ISBN | 0596009836 |
Authored by two of the leading authorities in the field, this guide offers readers the knowledge and skills needed to achieve proficiency with embedded software.