On-Chip Drivers - Freescale Semiconductor DSP56800E User Manual

Hide thumbs Also See for DSP56800E:
Table of Contents

Advertisement

Chapter 5

On-chip Drivers

One of the DSP56800E_Quick_Start tool strengths is that it provides a high degree of
architectural and hardware independence for the application code. This portability is achieved by
the modular design of DSP56800E_Quick_Start, which in this case, isolates all chip-specific
functionality into a set of defined, tested and documented Application Programming Interface
(API).
This chapter describes the API for on-chip drivers, forming the interface between hardware and
application
software.
<...>\src\MC56F8xxx\peripheral of the DSP56800E_Quick_Start. It defines the API by
identifying all public interface functions-commands and data structures.
The DSP56800E_Quick_Start on-chip driver's API is implemented as a low level device driver
interface. The low level device driver interface was chosen mainly for its efficiency and also
because it enables the utilization of the whole hardware functionality. Another reason is the non
standardized approach, on how to use most of the on-chip peripheral modules. The portability of
the low level device driver interface is not influenced so much by the lower abstraction level, but
mainly by the capability of the peripheral module hardware. It means that, the portability is
ensured between devices, which involves the same or a very similar implementation of the
peripheral module hardware. In case of quite different peripheral modules on target devices, the
portability is much lower. Nevertheless, in such a case, the overall application might be built
differently, just to reflect the hardware capability.
The general introductory description of on-chip drivers can be found in Section 4.3. Here are
some more ideas or hints.
On-chip drivers usage considerations:
Peripheral module hardware and functionality knowledge.
The only efficient and, in some cases, safe usage of the on-chip peripheral module is based on the
user knowledge that the user has about the module itself. A comprehensive description can be found
in the MC56F8300 Peripheral User Manual,
various Freescale/Motorola Application Notes (AN's). The way in which the on-chip driver's API
is designed takes advantage of the whole hardware capability. The self-explaining names of the
driver commands will help the users to find the desired hardware feature.
On-chip driver commands implemented as macros.
Almost all commands are implemented as efficient C function-like macros. The exceptions are the
initialization commands and the read/write commands of the SPI and the SCI, which are
implemented as regular functions. This reality is documented in each detailed description of the
command.
The efficiency is not only the reason for an implementation as macros. The other advantage is an
easy use within the interrupt service routine, where the unwanted overhead (i.e. jump/return to/from
function plus context store/restore) is thus eliminated. Further, the consistent implementation of
FREESCALE SEMICONDUCTOR
The
source
code
Targeting 56F8xxx Platform
-
implementation
56F8000 Peripheral Reference Manual
can
be
found
and in
5-1
at

Advertisement

Table of Contents
loading

Table of Contents