Hardware Reference
In-Depth Information
Chapter 1
The Raspberry Pi
Before considering the details about each resource within the Raspberry Pi, it is useful
to take a high-level inventory. In this chapter, let's just list what you get when you
purchase a Pi.
In later chapters, you'll be looking at each resource from two perspectives:
The hardware itself—what it is and how it works
The driving software and API behind it
In some cases, the hardware will have one or more kernel modules behind it,
forming the device driver layer. They expose a software API that interfaces between the
application and the hardware device. For example, applications communicate with the
driver by using ioctl(2) calls, while the driver communicates with the I2C devices on the
bus. The /sys/class file system is another way that device drivers expose themselves to
applications. You'll see this when you examine GPIO in Chapter 10.
There are some cases where drivers don't currently exist in Raspbian Linux.
An example is the Pi's PWM peripheral that is covered in Chapter 9 of Experimenting with
Raspberry Pi (Apress, 2014). Here we must map the device's registers into the application
memory space and drive the peripheral directly from the application. Both direct access
and driver access have their advantages and disadvantages.
So while our summary inventory here simply lists the hardware devices, you'll be
examining each from a hardware and software point of view in the chapters ahead.
Models
A hardware inventory is directly affected by the model of the unit being examined.
The Raspberry Pi comes in two models:
Model A (introduced later as a hardware-reduced model)
Model B (introduced first and is the full hardware model)
Figure 1-1 shows the Model B and its interfaces. Table 1-1 indicates the differences
between the two models.
 
Search WWH ::




Custom Search