- Chapter 1 A First Look at Embedded Systems
Read this! Provides a nice idea on what embedded systems are, and in which application domains they are used. You should know the examples used, since they will be revisited in other chapters later on.
This chapter will be tested.
- Chapter 2 HW Fundamentals for the SW Engineer
This is not necessary for the course, but it describes issues that an embedded SW engineer should know. Basis knowledge is expected from the course IN2305-I. There is an error in Figures 2.18 and 2.19: remove OVERLOADED.
This chapter will not be tested.
- Chapter 3 Advanced HW Fundamentals
This is not necessary, but something that a good embedded SW engineer should know. Basis knowledge is expected from courses IN1705 and IN2305-I. We will look at the X32, instead.
This chapter will not be tested.
- Chapter 4 Interrupts
This is essential, you should read it completely. Interrupts are at the heart of every computer system, and even more so in embedded systems, because they have to react to a number of external events.
This chapter will be tested.
- Chapter 5 Survey of SW Architectures
This is essential, you should read this completely. This chapter addressed a number of architectures, beginning with a very simple round-robin configuration up to a complete RTOS configuration. Each new architecture is motivated through shortcomings of the architectures just addressed. This is an essential chapter in order to figure out the advantages of an RTOS over other architectures, and in order to see that an RTOS is not always necessary.
This chapter will be tested.
- Chapter 6 Introduction to RTOS
Essential, you should read this completely. This chapter addressed the programming with an RTOS with respect to known aspects such as priority scheduling, data sharing, reentrancy, semaphores as basic solutions for data sharing problems, such as priority inversion, deadlock.
This chapter will be tested.
- Chapter 7 More OS Services
This is important, you should read it at least partially. With interrupts as the basis of RTOS functions (priority) task scheduling and semaphores you get all the concepts needed to build embedded applications. This chapter introduces a number of useful tools such as queues, mailboxes, pipes, timers, events, en memory management, that can facilitate a programmer's life. Read 7.1 to 7.4, look in particular at the dangers of crude programming (pitfalls on pages 181 -- 184). Look at timer functions (7.2) and interrupt routines in combination with an RTOS (7.5).
This chapter will be tested.
- Chapter 8 Basic Design Using an RTOS
This is important, you have to read this. This chapter gives a number of general hints on how to develop an embedded system. All the concepts from earlier in the book will be used in the example of the underground tank monitoring system, including methods to avoid bugs (look at 8.4). However, we will concentrate on the development of the cruise control system in the lab.
This chapter will be tested.
- Chapter 9 Embedded SW Development Tools
This is important, read it. This presents a nice introduction on the tool chain for embedded systems in general. We will concentrate on the tool chain of the X32 package that will be used in the labs.
This chapter will be tested.
- Chapter 10 Debugging Techniques
It provides a good and important introduction of the most important techniques for debugging and testing. We will address parts of this topic as well.
This chapter will be tested.
- Chapter 11 An Example System
This is not necessary. This chapter presents a PC-version of the UTMS from the book. It is a system version that is not really embedded, and we will have a look at the cruise control system instead.
This chapter will not be tested.