Skip to main content
Top

1986 | Book

Programming Dedicated Microprocessors

Author: Colin Walls

Publisher: Macmillan Education UK

Book Series : Computer Science Series

insite
SEARCH

Table of Contents

Frontmatter
1. Introduction
Abstract
As the prices of microprocessor chips have fallen, they have increasingly become standard, ‘off the shelf’ components and find their way into a very large proportion of modern electronic equipment and instrumentation. A microprocessor built into a piece of equipment, rather than providing the central processor for a general-purpose microcomputer, is said to be ‘dedicated’ or ‘embedded’. The software which controls such a device is necessarily specialised and is usually called ‘firmware’. This term will be used throughout this book. Strictly speaking, firmware is code which has been placed in non-volatile, read-only memory (ROM) chips, which are built into the circuit with the microprocessor, but this is not always the case, as alternative memory schemes are possible. The various techniques associated with the development of firmware are the subject of this book.
Colin Walls
2. Development Techniques
Abstract
It is probably the development techniques used for firmware which most significantly distinguish it from ordinary software development. Although the aims of the development phases are broadly the same, a number of details are specific to firmware development and it is these which are discussed in this chapter.
Colin Walls
3. Aspects of Hardware Design
Abstract
The principal aim of this book is to aid the transformation of a ‘software engineer’ into a ‘firmware engineer’. As mentioned earlier, the more traditional apprenticeship for a firmware engineer is in hardware. This was the natural evolution, as some knowledge of electronics is required to design firmware successfully. In this chapter, some of the important concepts and ideas behind the design of electronic hardware are presented. It is not intended that the reader should gain a full understanding of electronic engineering, as there are many excellent books which may be studied if further detail is required (Peatman, 1980; Bywater, 1981 ; Berk, 1984).
Colin Walls
4. Interrupts
Abstract
An interrupt, in the general sense, is a change in the flow of a program from the course determined by its instruction sequence, caused by some external influence. Usually the interrupt results in the execution of some specific code to deal with it, before return to the interrupted program.
Colin Walls
5. Z80 Interrupts
Abstract
The interrupt facilities of the Z80 are, for an eight-bit device, quite complex. This serves to enhance the versatility of the chip and provides a very good example for study. A complete understanding of the Z80 capabilities is a useful prerequisite for the study of any device, since the facilities of another microprocessor are quite likely to be a subset of the Z80 facilities.
Colin Walls
6. Input/Output
Abstract
Input/output, or I/O, is, in the general sense, the set of mechanisms by which a program is made ‘aware’ of its environment. I/O is usually envisaged as flow of data, of some form or another, into and out of a piece of software. In a supported environment, I/O is one of the most immediately apparent facilities provided by the operating system to user programs. A program may, in fact, make use of an intermediate facility, a run-time system, for example, to access the system I/O procedures.
Colin Walls
7. Multi-tasking
Abstract
It is difficult to envisage any application of a dedicated microprocessor in which the firmware performs a single, compact and isolated activity. It is much more likely that the microprocessor is required to carry out a number of ‘processes’ or ‘tasks’ (these terms may be used interchangeably; the latter is used in this book), in an apparently simultaneous fashion. Achieving this requirement is the subject of this chapter, with a full description of a practical example the subject of the next.
Colin Walls
8. Implementing a Real-Time Multi-tasking Executive
Abstract
In this chapter, the ideas presented in chapter 7 are put into practice. The development of a real-time multi-tasking executive, for use in firmware applications, is described in some detail. The intention is to provide the reader with enough practical guidance to enable the ideas to be applied to a real firmware application. The executive is called the ‘Firmware Multi-tasking Executive’ (or FMX).
Colin Walls
9. High-level Languages
Abstract
From the beginning of this book it has been assumed that all firmware is written in assembler. It was stated initially that this is the only practical alternative when using eight-bit processors. In most circumstances this is certainly the case, but sometimes the use of a high-level language is feasible and should be considered. This is particularly true if the language permits the inclusion of assembler procedures or ‘insertions’, since some code (interrupt service routines, for example) can hardly ever be written in high level.
Colin Walls
10. Diagnostics
Abstract
During the initial design phase of a piece of electronic equipment, it may be decided that the incorporation of a microprocessor would be advantageous. This conclusion is becoming increasingly common and is the stage at which the firmware engineer should be invited to participate. Having defined the required functions of the microprocessor to achieve the initial design aims, other benefits, which may be provided by the presence of the device, can be considered.
Colin Walls
11. Communications: a Firmware Application
Abstract
It seems only reasonable that a book such as this should have at least one chapter concerned with the application of the concepts and techniques of firmware development. Indeed, it was originally intended to have a final chapter titled simply ‘Firmware Applications’, but this proved to be impractical. Since applications of firmware are, by definition, as diverse and numerous as dedicated applications of microprocessors, this title is more appropriate to another book, rather than a single chapter.
Colin Walls
Backmatter
Metadata
Title
Programming Dedicated Microprocessors
Author
Colin Walls
Copyright Year
1986
Publisher
Macmillan Education UK
Electronic ISBN
978-1-349-08594-1
Print ISBN
978-0-333-40952-7
DOI
https://doi.org/10.1007/978-1-349-08594-1