Book Image

Raspberry Pi Computer Architecture Essentials

By : Andrew K. Dennis, Teemu O Pohjanlehto
Book Image

Raspberry Pi Computer Architecture Essentials

By: Andrew K. Dennis, Teemu O Pohjanlehto

Overview of this book

With the release of the Raspberry Pi 2, a new series of the popular compact computer is available for you to build cheap, exciting projects and learn about programming. In this book, we explore Raspberry Pi 2’s hardware through a number of projects in a variety of programming languages. We will start by exploring the various hardware components in detail, which will provide a base for the programming projects and guide you through setting up the tools for Assembler, C/C++, and Python. We will then learn how to write multi-threaded applications and Raspberry Pi 2’s multi-core processor. Moving on, you’ll get hands on by expanding the storage options of the Raspberry Pi beyond the SD card and interacting with the graphics hardware. Furthermore, you will be introduced to the basics of sound programming while expanding upon your knowledge of Python to build a web server. Finally, you will learn to interact with the third-party microcontrollers. From writing your first Assembly Language application to programming graphics, this title guides you through the essentials.
Table of Contents (18 chapters)
Raspberry Pi Computer Architecture Essentials
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

C and ALSA


In addition to using Python, we can also use the C programming language for writing audio applications that leverage ALSA.

Before we begin to write code, we need to install and compile some C programming libraries.

These are libasound2 and its development counterpart libasound2-dev. Install them using the following command:

sudo apt-get install gcc libasound2 libasound2-dev

The libasound2 library contains the shared library for the ALSA application. The next library, libasound-dev, is the libasound library's development file counterpart. You will often see –dev versions of packages in Linux, as they contain the headers related to a library's interface.

We are now ready to write our C application. This will check which version of ALSA is installed. The idea behind this program is to introduce you to how to import the necessary library into your program. Once you understand this, you can then implement the example C programs from the ALSA website.

Navigate to the c_programs directory...