Chapter 4: Real Time Means Right Now!
This chapter discusses the concepts of hard and soft real time tasks. Hard real time tasks must be completed before a specific time deadline, else the system fails. Soft real time tasks are more flexible with system failure on the time requirement. Mainly, interrupts complete these time demanding tasks. Ganssle talks about interrupt code planning using an interrupt map to help solve problems. Ganssle emphasizes the importance of avoiding huge, complex instructions in an interrupt routine. The rule is to keep ISRs short and simple.
Lastly, Ganssle closes the chapter with interesting poor man's quick measurement analysis of ISRs.
Chapter 5: Firmware Musings
The chapter discussion begins with Ganssle coaching on firmware development. Firmware is coded with the embedded system hardware in mind. Therefore, hardware is important to master first before creating code for better firmware development.
The author offers tips for expanding memory using banking. These tips cut down debugging time and help out with system problem analysis. One tip Ganssle offers is to always estimate a project code size for the proper allocation of total system memory. Estimating project code size before a project is underway is a characteristic of a professional software engineer.
Ganssle closes the chapter with a talk on protoyping embedded systems.
Chapter 6: Hardware Musings
Ganssle opens this chapter with a brief talk about debugging hardware. The oscilloscope is a very useful debugging tool. The oscilloscope catches many different hardware problems including problems in "operation of I/O ports, ISR sequencing, and performance". Ganssle goes into detail and explains the problems and solutions associated with I/O ports, ISR sequencing, and performance.
Next, Ganssle recommends that all prototypes be on a printed circuit board, not wirewrapped. Engineers should have the right tools available when working with hardware designs. X-Acto knives, or sharp blades, wire, a soldering iron and parts are some tools that should be readily available for the "hardware editing" portion of the design.
Timely completion of the hardware design portion is dependent on available resources. Ganssle says, "Buy [all] the parts first, before your design is complete". He also says, "Avoid temptation to use new parts unless there is good reason".