Page 161 - Embedded Microprocessor Systems Real World Design
P. 161
Interrupt usage. How interrupts are used, which ones are used for what, which
ones are edge versus level sensitive, and so on.
Memory usage. How the memory will be organized, how much is required for
data buffers, how much is needed for storing acquired samples, and so on.
Tools. What software tools will be used for development.
Special requirements. For example, if the software will perform a lot of
floating-point calculations, this should be spelled out. If there is no hardware
FPU, you will want to prove that the system throughput will still be adequate.
Appendix. The appendix should include any calculations that go into the
software design, such as the following:
Maximum interrupt latency for critical interrupts. How long interrupts can be
turned off.
Service time calculations. To verlfy that processing does not fall behind. Things
like processing time for serial data to be sure a byte is not missed.
Interface speed. Calculations to venfy that, say, the Ethernet can keep up with
the data.
Data movement. If you move a lot of data around, calculations to venfy that
the PCI bus, for example, has sufficient bandwidth to handle all the data.
Customer-driven requirements. In some designs, there will be documentation
requirements provided by the customer. A military customer may want specific
documents describing how the design will actually be implemented. A medical
application may require a section addressing revision control. A product to be
used in a hazardous environment or to control hazardous equipment may
require a section that addresses safety.
In Chapter 5, we'll look at interrupt hardware and software, which is typically
what makes an embedded system into a real-time system.
142 Embedded Micr@rocessor Systems