Raspberry Pi Computer Architecture Essentials
Andrew K. Dennis
- Explore Raspberry Pi 2's hardware through the Assembly, C/C++, and Python programming languages
- Experiment with connecting electronics up to your Raspberry Pi 2 and interacting with them through software
- Learn about the Raspberry Pi 2 architecture and Raspbian operating system through innovative projects
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.
What you will learn
- Set up your Raspberry Pi 2 and learn about its hardware
- Write basic programs in Assembly Language to learn about the ARM architecture
- Use C and C++ to interact with electronic components
- Find out about the Python language and how to use it to build web applications
- Interact with third-party microcontrollers
- Experiment with graphics and audio programming
- Expand Raspberry Pi 2's storage mechanism by using external devices
- Discover Raspberry Pi 2's GPIO pins and how to interact with them
About the Author
Andrew K. Dennis is the manager of professional services software development at Prometheus Research. Prometheus Research is a leading provider of integrated data management for research and is the home of HTSQL, an open source navigational query language for RDBMS.
Andrew has a diploma in computing, a BSc in software engineering, and is currently studying for a second BSc in creative computing in his spare time.
He has over 12 years of experience working in the software industry in the UK, Canada, and the USA. This experience includes e-learning courseware development, custom CMS and LMS development, SCORM consultancy, web development in a variety of languages, open source application development, blogging about the integration of web technologies with electronics for home automation, and punching lots of Cat5 cables.
His interests include web development, e-learning, 3D printing, Linux, the Raspberry Pi and Arduino, open source projects, home automation and the use of web technology in this sphere, amateur electronics, home networking, and software engineering.
Table of Contents
- Introduction to the Raspberry Pi's Architecture and Setup
- Programming on Raspbian
- Low-Level Development with Assembly Language
- Multithreaded Applications with C/C++
- Expanding on Storage Options
- Low-Level Graphics Programming
- Exploring the Raspberry Pi's GPIO Pins
- Exploring Sound with the Raspberry Pi 2
- Building a Web Server
- Integrating with Third-Party Microcontrollers
- Final Project