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

Assembly language


The Raspberry Pi comes equipped with an ARM v7 quad core processor. Each processor has its own set of specific machine code that it understands; this machine code is represented in binary format. The machine code is different for each processor architecture, so the Raspberry Pi's ARM processor machine code will not work on an IBM or Intel CPU.

Short of writing out 32-bit binary machine code instructions, the lowest level of programming language we can find ourselves using is Assembler language, also known as Assembly language.

The computer architecture's Assembly language is usually a one-to-one mapping between itself and the underlying machine code. This is achieved through using a mnemonic. A combination of these mnemonic codes will result in an operation such as addition or subtraction.

A program written in Assembly language is compiled into machine code by the Assembler program. This program passes through the code one or more times and generates an object file as part...