Description

Book Synopsis

Use your Raspberry Pi to get smart about computing fundamentals

In the 1980s, the tech revolution was kickstarted by a flood of relatively inexpensive, highly programmable computers like the Commodore. Now, a second revolution in computing is beginning with the Raspberry Pi. Learning Computer Architecture with the Raspberry Pi is the premier guide to understanding the components of the most exciting tech product available. Thanks to this book, every Raspberry Pi owner can understand how the computer works and how to access all of its hardware and software capabilities.

Now, students, hackers, and casual users alike can discover how computers work with Learning Computer Architecture with the Raspberry Pi. This book explains what each and every hardware component does, how they relate to one another, and how they correspond to the components of other computing systems. You''ll also learn how programming works and how the operating system relates to t

Table of Contents

Introduction 1

Cambridge 1

Cut to the Chase 3

The Knee in the Curve 4

Forward the Foundation 5

Chapter 1 The Shape of a Computer Phenomenon 7

Growing Delicious, Juicy Raspberries 7

System-on-a-Chip 10

An Exciting Credit Card-Sized Computer 12

What Does the Raspberry Pi Do? 14

Meeting and Greeting the Raspberry Pi Board 14

GPIO Pins 15

Status LEDs 16

USB Receptacles 18

Ethernet Connection 18

Audio Out 19

Composite Video 21

CSI Camera Module Connector 21

HDMI 22

Micro USB Power 22

Storage Card 23

DSI Display Connection 24

Mounting Holes 25

The Chips 25

The Future 25

Chapter 2 Recapping Computing 27

The Cook as Computer 28

Ingredients as Data 28

Basic Actions 30

The Box That Follows a Plan 31

Doing and Knowing 31

Programs are Data 32

Memory 33

Registers 34

The System Bus 36

Instruction Sets 36

Voltages, Numbers and Meaning 37

Binary: Counting in 1s and 0s 37

The Digit Shortage 40

Counting and Numbering and 0 40

Hexadecimal as a Shorthand for Binary 41

Doing Binary and Hexadecimal Arithmetic 43

Operating Systems: The Boss of the Box 44

What an Operating System Does 44

Saluting the Kernel 46

Multiple Cores 46

Chapter 3 Electronic Memory 47

There Was Memory Before There Were Computers 47

Rotating Magnetic Memory 48

Magnetic Core Memory 50

How Core Memory Works 50

Memory Access Time 52

Static Random Access Memory (SRAM) 53

Address Lines and Data Lines 54

Combining Memory Chips into Memory Systems 56

Dynamic Random Access Memory (DRAM) 59

How DRAM Works 60

Synchronous vs. Asynchronous DRAM 62

SDRAM Columns, Rows, Banks, Ranks and DIMMs 64

DDR, DDR2 DDR3 and DDR4 SDRAM 66

Error-Correcting Code (ECC) Memory 69

The Raspberry Pi Memory System 70

Power Reduction Features 70

Ball-Grid Array Packaging 71

Cache 72

Locality of Reference 72

Cache Hierarchy 72

Cache Lines and Cache Mapping 74

Direct Mapping 76

Associative Mapping 78

Set-Associative Cache 79

Writing Cache Back to Memory 81

Virtual Memory 81

The Virtual Memory Big Picture 82

Mapping Virtual to Physical 83

Memory Management Units: Going Deeper 84

Multi-Level Page Tables and the TLB 88

The Raspberry Pi Swap Problem 88

Watching Raspberry Pi Virtual Memory 90

Chapter 4 ARM Processors and Systems-on-a-Chip 93

The Incredible Shrinking CPU 93

Microprocessors 94

Transistor Budgets 95

Digital Logic Primer 95

Logic Gates 96

Flip-Flops and Sequential Logic 97

Inside the CPU 99

Branching and Flags 101

The System Stack 102

System Clocks and Execution Time 105

Pipelining 106

Pipelining in Detail 108

Deeper Pipelines and Pipeline Hazards 109

The ARM11 Pipeline 112

Superscalar Execution 113

More Parallelism with SIMD 115

Endianness 118

Rethinking the CPU: CISC vs. RISC 119

RISC's Legacy 121

Expanded Register Files 122

Load/Store Architecture 122

Orthogonal Machine Instructions 123

Separate Caches for Instructions and Data 123

ARMs from Little Acorns Grow 124

Microarchitectures, Cores and Families 125

Selling Licenses Rather Than Chips 125

ARM11 126

The ARM Instruction Set 126

Processor Modes 129

Modes and Registers 131

Fast Interrupts 137

Software Interrupts 137

Interrupt Priority 138

Conditional Instruction Execution 139

Coprocessors 142

The ARM Coprocessor Interface 143

The System Control Coprocessor 143

The Vector Floating Point (VFP) Coprocessor 144

Emulating Coprocessors 145

ARM Cortex 145

Multiple-Issue and Out-Of-Order Execution 146

Thumb 2 147

Thumb EE 147

big.LITTLE 147

The NEON Coprocessor for SIMD 148

ARMv8 and 64-Bit Computing 148

Systems on a Single Chip 150

The Broadcom BCM2835 SoC 150

Broadcom's Second- and Third-Generation SoC Devices 151

How VLSI Chips Happen 151

Processes, Geometries and Masks 152

IP: Cells, Macrocells and Cores 153

Hard and Soft IP 154

Floorplanning, Layout and Routing 154

Standards for On-Chip Communication: AMBA 155

Chapter 5 Programming 159

Programming from a Height 159

The Software Development Process 160

Waterfall vs. Spiral vs. Agile 162

Programming in Binary 165

Assembly Language and Mnemonics 166

High-Level Languages 167

Après BASIC, Le Deluge 170

Programming Terminology 171

How Native-Code Compilers Work 173

Preprocessing 174

Lexical Analysis 175

Semantic Analysis 175

Intermediate Code Generation 176

Optimisation 176

Target Code Generation 176

Compiling C: A Concrete Example 177

Linking Object Code Files to Executable Files 183

Pure Text Interpreters 184

Bytecode Interpreted Languages 186

P-Code 186

Java 187

Just-In-Time (JIT) Compilation 189

Bytecode and JIT Compilation Beyond Java 191

Android, Java and Dalvik 191

Data Building Blocks 192

Identifiers, Reserved Words, Symbols and Operators 192

Values, Literals and Named Constants 193

Variables, Expressions and Assignment 193

Types and Type Definitions 194

Static and Dynamic Typing 196

Two's Complement and IEEE 754 198

Code Building Blocks 200

Control Statements and Compound Statements 200

If/Then/Else 200

Switch and Case 202

Repeat Loops 205

While Loops 205

For Loops 207

The Break and Continue Statements 208

Functions 210

Locality and Scope 211

Object-Oriented Programming 214

Encapsulation 217

Inheritance 219

Polymorphism 221

OOP Wrapup 224

A Tour of the GNU Compiler Collection Toolset 224

gcc as Both Compiler and Builder 225

Using Linux Make 228

Chapter 6 Non-Volatile Storage 231

Punched Cards and Tape 232

Punched Cards 232

Tape Data Storage 232

The Dawn of Magnetic Storage 235

Magnetic Recording and Encoding Schemes 236

Flux Transitions 237

Perpendicular Recording 238

Magnetic Disk Storage 240

Cylinders, Tracks and Sectors 240

Low-Level Formatting 242

Interfaces and Controllers 244

Floppy Disk Drives 246

Partitions and File Systems 247

Primary Partitions and Extended Partitions 247

File Systems and High-Level Formatting 249

The Future: GUID Partition Tables (GPTs) 249

Partitions on the Raspberry Pi SD Card 250

Optical Discs 252

CD-Derived Formats 254

DVD-Derived Formats 254

Ramdisks 255

Flash Storage 257

ROMs, PROMs and EPROMs 257

Flash as EEPROM 258

Single-Level vs. Multi-Level Storage 260

NOR vs. NAND Flash 261

Wear Levelling and the Flash Translation Layer 265

Garbage Collection and TRIM 267

SD Cards 268

eMMC 270

The Future of Non-Volatile Storage 271

Chapter 7 Wired and Wireless Ethernet 273

The OSI Reference Model for Networking 274

The Application Layer 276

The Presentation Layer 276

The Session Layer 278

The Transport Layer 278

The Network Layer 279

The Data Link Layer 281

The Physical Layer 282

Ethernet 282

Thicknet and Thinnet 283

The Basic Ethernet Idea 283

Collision Detection and Avoidance 285

Ethernet Encoding Systems 286

PAM-5 Encoding 290

10BASE-T and Twisted-Pair Cabling 291

From Bus Topology to Star Topology 292

Switched Ethernet 293

Routers and the Internet 296

Names vs. Addresses 296

IP Addresses and TCP Ports 297

Local IP Addresses and DHCP 300

Network Address Translation 302

Wi-Fi 304

Standards within Standards 305

Facing the Real World 305

Wi-Fi Equipment in Use 309

Infrastructure Networks vs. Ad Hoc Networks 311

Wi-Fi Distributed Media Access 312

Carrier Sense and the Hidden Node Problem 314

Fragmentation 315

Amplitude Modulation, Phase Modulation and QAM 316

Spread-Spectrum Techniques 319

Wi-Fi Modulation and Coding in Detail 320

How Wi-Fi Connections Happen 323

Wi-Fi Security 325

Wi-Fi on the Raspberry Pi 326

Even More Networking 329

Chapter 8 Operating Systems 331

Introduction to Operating Systems 333

History of Operating Systems 333

The Basics of Operating Systems 336

The Kernel: The Basic Facilitator of Operating Systems 343

Operating System Control 344

Modes 345

Memory Management 346

Virtual Memory 347

Multitasking 347

Disk Access and File Systems 348

Device Drivers 349

Enablers and Assistants to the Operating System 349

Waking Up the OS 349

Firmware 353

Operating Systems for Raspberry Pi 354

NOOBS 354

Third-Party Operating Systems 356

Other Available Operating Systems 356

Chapter 9 Video Codecs and Video Compression 359

The First Video Codecs 360

Exploiting the Eye 361

Exploiting the Data 363

Understanding Frequency Transform 367

Using Lossless Encoding Techniques 371

Changing with the Times 373

The Latest Standards from MPEG 374

H.265 378

Motion Search 378

Video Quality 381

Processing Power 382

Chapter 10 3D Graphics 383

A Brief History of 3D Graphics 383

The Graphical User Interface (GUI) 384

3D Graphics in Video Games 386

Personal Computing and the Graphics Card 387

Two Competing Standards 390

The OpenGL Graphics Pipeline 391

Geometry Specification and Attributes 393

Geometry Transformation 396

Lighting and Materials 400

Primitive Assembly and Rasterisation 403

Pixel Processing (Fragment Shading) 405

Texturing 407

Modern Graphics Hardware 411

Tiled Rendering 411

Geometry Rejection 413

Shading 415

Caching 416

Raspberry Pi GPU 417

Open VG 421

General Purpose GPUs 423

Heterogeneous Architectures 423

OpenCL 425

Chapter 11 Audio 427

Can You Hear Me Now? 427

MIDI 428

Sound Cards 428

Analog vs. Digital 429

Sound and Signal Processing 430

Editing 431

Compression 431

Recording with Effects 432

Encoding and Decoding Information for Communication 433

1-Bit DAC 434

I2S 436

Raspberry Pi Sound Input/Output 437

Audio Output Jack 437

HDMI 438

Sound on the Raspberry Pi 438

Raspberry Pi Sound on Board 439

Manipulating Sound on the Raspberry Pi 439

Chapter 12 Input/Output 447

Introducing Input/Output 448

I/O Enablers 451

Universal Serial Bus 452

USB Powered Hubs 455

Ethernet 457

Universal Asynchronous Receiver/Transmitters 458

Small Computer Systems Interface 459

Parallel ATA 459

Serial Advanced Technology Attachment 460

RS-232 Serial 460

High Definition Media Interface 461

I2S 462

I2C 463

Raspberry Pi Display, Camera Interface and JTAG 464

Raspberry Pi GPIO 464

GPIO Overview and the Broadcom SoC 465

Meeting the GPIO 466

Programming GPIO 473

Alternative Modes 479

GPIO Experimentation the Easy Way 480

Index 481

Learning Computer Architecture with Raspberry Pi

    Product form

    £20.40

    Includes FREE delivery

    RRP £24.00 – you save £3.60 (15%)

    Order before 4pm today for delivery by Tue 16 Jun 2026.

    A Paperback / softback by Eben Upton, Jeff Duntemann, Ralph Roberts

    1 in stock

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of Learning Computer Architecture with Raspberry Pi by Eben Upton

      Publisher: John Wiley & Sons Inc
      Publication Date: 27/09/2016
      ISBN13: 9781119183938, 978-1119183938
      ISBN10: 1119183936

      Description

      Book Synopsis

      Use your Raspberry Pi to get smart about computing fundamentals

      In the 1980s, the tech revolution was kickstarted by a flood of relatively inexpensive, highly programmable computers like the Commodore. Now, a second revolution in computing is beginning with the Raspberry Pi. Learning Computer Architecture with the Raspberry Pi is the premier guide to understanding the components of the most exciting tech product available. Thanks to this book, every Raspberry Pi owner can understand how the computer works and how to access all of its hardware and software capabilities.

      Now, students, hackers, and casual users alike can discover how computers work with Learning Computer Architecture with the Raspberry Pi. This book explains what each and every hardware component does, how they relate to one another, and how they correspond to the components of other computing systems. You''ll also learn how programming works and how the operating system relates to t

      Table of Contents

      Introduction 1

      Cambridge 1

      Cut to the Chase 3

      The Knee in the Curve 4

      Forward the Foundation 5

      Chapter 1 The Shape of a Computer Phenomenon 7

      Growing Delicious, Juicy Raspberries 7

      System-on-a-Chip 10

      An Exciting Credit Card-Sized Computer 12

      What Does the Raspberry Pi Do? 14

      Meeting and Greeting the Raspberry Pi Board 14

      GPIO Pins 15

      Status LEDs 16

      USB Receptacles 18

      Ethernet Connection 18

      Audio Out 19

      Composite Video 21

      CSI Camera Module Connector 21

      HDMI 22

      Micro USB Power 22

      Storage Card 23

      DSI Display Connection 24

      Mounting Holes 25

      The Chips 25

      The Future 25

      Chapter 2 Recapping Computing 27

      The Cook as Computer 28

      Ingredients as Data 28

      Basic Actions 30

      The Box That Follows a Plan 31

      Doing and Knowing 31

      Programs are Data 32

      Memory 33

      Registers 34

      The System Bus 36

      Instruction Sets 36

      Voltages, Numbers and Meaning 37

      Binary: Counting in 1s and 0s 37

      The Digit Shortage 40

      Counting and Numbering and 0 40

      Hexadecimal as a Shorthand for Binary 41

      Doing Binary and Hexadecimal Arithmetic 43

      Operating Systems: The Boss of the Box 44

      What an Operating System Does 44

      Saluting the Kernel 46

      Multiple Cores 46

      Chapter 3 Electronic Memory 47

      There Was Memory Before There Were Computers 47

      Rotating Magnetic Memory 48

      Magnetic Core Memory 50

      How Core Memory Works 50

      Memory Access Time 52

      Static Random Access Memory (SRAM) 53

      Address Lines and Data Lines 54

      Combining Memory Chips into Memory Systems 56

      Dynamic Random Access Memory (DRAM) 59

      How DRAM Works 60

      Synchronous vs. Asynchronous DRAM 62

      SDRAM Columns, Rows, Banks, Ranks and DIMMs 64

      DDR, DDR2 DDR3 and DDR4 SDRAM 66

      Error-Correcting Code (ECC) Memory 69

      The Raspberry Pi Memory System 70

      Power Reduction Features 70

      Ball-Grid Array Packaging 71

      Cache 72

      Locality of Reference 72

      Cache Hierarchy 72

      Cache Lines and Cache Mapping 74

      Direct Mapping 76

      Associative Mapping 78

      Set-Associative Cache 79

      Writing Cache Back to Memory 81

      Virtual Memory 81

      The Virtual Memory Big Picture 82

      Mapping Virtual to Physical 83

      Memory Management Units: Going Deeper 84

      Multi-Level Page Tables and the TLB 88

      The Raspberry Pi Swap Problem 88

      Watching Raspberry Pi Virtual Memory 90

      Chapter 4 ARM Processors and Systems-on-a-Chip 93

      The Incredible Shrinking CPU 93

      Microprocessors 94

      Transistor Budgets 95

      Digital Logic Primer 95

      Logic Gates 96

      Flip-Flops and Sequential Logic 97

      Inside the CPU 99

      Branching and Flags 101

      The System Stack 102

      System Clocks and Execution Time 105

      Pipelining 106

      Pipelining in Detail 108

      Deeper Pipelines and Pipeline Hazards 109

      The ARM11 Pipeline 112

      Superscalar Execution 113

      More Parallelism with SIMD 115

      Endianness 118

      Rethinking the CPU: CISC vs. RISC 119

      RISC's Legacy 121

      Expanded Register Files 122

      Load/Store Architecture 122

      Orthogonal Machine Instructions 123

      Separate Caches for Instructions and Data 123

      ARMs from Little Acorns Grow 124

      Microarchitectures, Cores and Families 125

      Selling Licenses Rather Than Chips 125

      ARM11 126

      The ARM Instruction Set 126

      Processor Modes 129

      Modes and Registers 131

      Fast Interrupts 137

      Software Interrupts 137

      Interrupt Priority 138

      Conditional Instruction Execution 139

      Coprocessors 142

      The ARM Coprocessor Interface 143

      The System Control Coprocessor 143

      The Vector Floating Point (VFP) Coprocessor 144

      Emulating Coprocessors 145

      ARM Cortex 145

      Multiple-Issue and Out-Of-Order Execution 146

      Thumb 2 147

      Thumb EE 147

      big.LITTLE 147

      The NEON Coprocessor for SIMD 148

      ARMv8 and 64-Bit Computing 148

      Systems on a Single Chip 150

      The Broadcom BCM2835 SoC 150

      Broadcom's Second- and Third-Generation SoC Devices 151

      How VLSI Chips Happen 151

      Processes, Geometries and Masks 152

      IP: Cells, Macrocells and Cores 153

      Hard and Soft IP 154

      Floorplanning, Layout and Routing 154

      Standards for On-Chip Communication: AMBA 155

      Chapter 5 Programming 159

      Programming from a Height 159

      The Software Development Process 160

      Waterfall vs. Spiral vs. Agile 162

      Programming in Binary 165

      Assembly Language and Mnemonics 166

      High-Level Languages 167

      Après BASIC, Le Deluge 170

      Programming Terminology 171

      How Native-Code Compilers Work 173

      Preprocessing 174

      Lexical Analysis 175

      Semantic Analysis 175

      Intermediate Code Generation 176

      Optimisation 176

      Target Code Generation 176

      Compiling C: A Concrete Example 177

      Linking Object Code Files to Executable Files 183

      Pure Text Interpreters 184

      Bytecode Interpreted Languages 186

      P-Code 186

      Java 187

      Just-In-Time (JIT) Compilation 189

      Bytecode and JIT Compilation Beyond Java 191

      Android, Java and Dalvik 191

      Data Building Blocks 192

      Identifiers, Reserved Words, Symbols and Operators 192

      Values, Literals and Named Constants 193

      Variables, Expressions and Assignment 193

      Types and Type Definitions 194

      Static and Dynamic Typing 196

      Two's Complement and IEEE 754 198

      Code Building Blocks 200

      Control Statements and Compound Statements 200

      If/Then/Else 200

      Switch and Case 202

      Repeat Loops 205

      While Loops 205

      For Loops 207

      The Break and Continue Statements 208

      Functions 210

      Locality and Scope 211

      Object-Oriented Programming 214

      Encapsulation 217

      Inheritance 219

      Polymorphism 221

      OOP Wrapup 224

      A Tour of the GNU Compiler Collection Toolset 224

      gcc as Both Compiler and Builder 225

      Using Linux Make 228

      Chapter 6 Non-Volatile Storage 231

      Punched Cards and Tape 232

      Punched Cards 232

      Tape Data Storage 232

      The Dawn of Magnetic Storage 235

      Magnetic Recording and Encoding Schemes 236

      Flux Transitions 237

      Perpendicular Recording 238

      Magnetic Disk Storage 240

      Cylinders, Tracks and Sectors 240

      Low-Level Formatting 242

      Interfaces and Controllers 244

      Floppy Disk Drives 246

      Partitions and File Systems 247

      Primary Partitions and Extended Partitions 247

      File Systems and High-Level Formatting 249

      The Future: GUID Partition Tables (GPTs) 249

      Partitions on the Raspberry Pi SD Card 250

      Optical Discs 252

      CD-Derived Formats 254

      DVD-Derived Formats 254

      Ramdisks 255

      Flash Storage 257

      ROMs, PROMs and EPROMs 257

      Flash as EEPROM 258

      Single-Level vs. Multi-Level Storage 260

      NOR vs. NAND Flash 261

      Wear Levelling and the Flash Translation Layer 265

      Garbage Collection and TRIM 267

      SD Cards 268

      eMMC 270

      The Future of Non-Volatile Storage 271

      Chapter 7 Wired and Wireless Ethernet 273

      The OSI Reference Model for Networking 274

      The Application Layer 276

      The Presentation Layer 276

      The Session Layer 278

      The Transport Layer 278

      The Network Layer 279

      The Data Link Layer 281

      The Physical Layer 282

      Ethernet 282

      Thicknet and Thinnet 283

      The Basic Ethernet Idea 283

      Collision Detection and Avoidance 285

      Ethernet Encoding Systems 286

      PAM-5 Encoding 290

      10BASE-T and Twisted-Pair Cabling 291

      From Bus Topology to Star Topology 292

      Switched Ethernet 293

      Routers and the Internet 296

      Names vs. Addresses 296

      IP Addresses and TCP Ports 297

      Local IP Addresses and DHCP 300

      Network Address Translation 302

      Wi-Fi 304

      Standards within Standards 305

      Facing the Real World 305

      Wi-Fi Equipment in Use 309

      Infrastructure Networks vs. Ad Hoc Networks 311

      Wi-Fi Distributed Media Access 312

      Carrier Sense and the Hidden Node Problem 314

      Fragmentation 315

      Amplitude Modulation, Phase Modulation and QAM 316

      Spread-Spectrum Techniques 319

      Wi-Fi Modulation and Coding in Detail 320

      How Wi-Fi Connections Happen 323

      Wi-Fi Security 325

      Wi-Fi on the Raspberry Pi 326

      Even More Networking 329

      Chapter 8 Operating Systems 331

      Introduction to Operating Systems 333

      History of Operating Systems 333

      The Basics of Operating Systems 336

      The Kernel: The Basic Facilitator of Operating Systems 343

      Operating System Control 344

      Modes 345

      Memory Management 346

      Virtual Memory 347

      Multitasking 347

      Disk Access and File Systems 348

      Device Drivers 349

      Enablers and Assistants to the Operating System 349

      Waking Up the OS 349

      Firmware 353

      Operating Systems for Raspberry Pi 354

      NOOBS 354

      Third-Party Operating Systems 356

      Other Available Operating Systems 356

      Chapter 9 Video Codecs and Video Compression 359

      The First Video Codecs 360

      Exploiting the Eye 361

      Exploiting the Data 363

      Understanding Frequency Transform 367

      Using Lossless Encoding Techniques 371

      Changing with the Times 373

      The Latest Standards from MPEG 374

      H.265 378

      Motion Search 378

      Video Quality 381

      Processing Power 382

      Chapter 10 3D Graphics 383

      A Brief History of 3D Graphics 383

      The Graphical User Interface (GUI) 384

      3D Graphics in Video Games 386

      Personal Computing and the Graphics Card 387

      Two Competing Standards 390

      The OpenGL Graphics Pipeline 391

      Geometry Specification and Attributes 393

      Geometry Transformation 396

      Lighting and Materials 400

      Primitive Assembly and Rasterisation 403

      Pixel Processing (Fragment Shading) 405

      Texturing 407

      Modern Graphics Hardware 411

      Tiled Rendering 411

      Geometry Rejection 413

      Shading 415

      Caching 416

      Raspberry Pi GPU 417

      Open VG 421

      General Purpose GPUs 423

      Heterogeneous Architectures 423

      OpenCL 425

      Chapter 11 Audio 427

      Can You Hear Me Now? 427

      MIDI 428

      Sound Cards 428

      Analog vs. Digital 429

      Sound and Signal Processing 430

      Editing 431

      Compression 431

      Recording with Effects 432

      Encoding and Decoding Information for Communication 433

      1-Bit DAC 434

      I2S 436

      Raspberry Pi Sound Input/Output 437

      Audio Output Jack 437

      HDMI 438

      Sound on the Raspberry Pi 438

      Raspberry Pi Sound on Board 439

      Manipulating Sound on the Raspberry Pi 439

      Chapter 12 Input/Output 447

      Introducing Input/Output 448

      I/O Enablers 451

      Universal Serial Bus 452

      USB Powered Hubs 455

      Ethernet 457

      Universal Asynchronous Receiver/Transmitters 458

      Small Computer Systems Interface 459

      Parallel ATA 459

      Serial Advanced Technology Attachment 460

      RS-232 Serial 460

      High Definition Media Interface 461

      I2S 462

      I2C 463

      Raspberry Pi Display, Camera Interface and JTAG 464

      Raspberry Pi GPIO 464

      GPIO Overview and the Broadcom SoC 465

      Meeting the GPIO 466

      Programming GPIO 473

      Alternative Modes 479

      GPIO Experimentation the Easy Way 480

      Index 481

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account