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

£19.20

Includes FREE delivery

RRP £24.00 – you save £4.80 (20%)

Order before 4pm tomorrow for delivery by Sat 27 Dec 2025.

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

15 in stock


    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

    © 2025 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