Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Raspberry Pi Computer Architecture Essentials

You're reading from  Raspberry Pi Computer Architecture Essentials

Product type Book
Published in Mar 2016
Publisher
ISBN-13 9781784397975
Pages 232 pages
Edition 1st Edition
Languages
Authors (2):
Andrew K. Dennis Andrew K. Dennis
Profile icon Andrew K. Dennis
Teemu O Pohjanlehto Teemu O Pohjanlehto
Profile icon Teemu O Pohjanlehto
View More author details

Table of Contents (18) Chapters

Raspberry Pi Computer Architecture Essentials
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
1. Introduction to the Raspberry Pi's Architecture and Setup 2. Programming on Raspbian 3. Low-Level Development with Assembly Language 4. Multithreaded Applications with C/C++ 5. Expanding on Storage Options 6. Low-Level Graphics Programming 7. Exploring the Raspberry Pi's GPIO Pins 8. Exploring Sound with the Raspberry Pi 2 9. Building a Web Server 10. Integrating with Third-Party Microcontrollers 11. Final Project Index

Filling the screen with a color


We are now going to demonstrate how to fill the screen with the color red. This seems a fitting color choice since our device is named the Raspberry Pi.

This program starts off looking very similar to our previous one; however, it will introduce you to some new concepts, such as memory mapping, setting, and unmapping.

Start by creating a new program in the c_programs directory called fifth_c_prog.c:

vim fifth_c_prog.c

We are now ready to start writing our application.

A C program to turn the screen red

Copy and paste the following code into your fifth_c_prog.c file.

Once you have done this, we will walk through the code to see what exactly is going on here:

#include <stdio.h>
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <string.h>

int main(void)
{
  struct fb_fix_screeninfo info;

  int framebuff_filedesc = 0;
  char *device_map = 0;

  framebuff_filedesc = open("/dev/fb0", O_RDWR);

  if (framebuff_filedesc...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}