RP2040 Assembly Language Programming: ARM Cortex-M0+ on the Raspberry Pi Pico

Smith, Stephen

  • 出版商: Apress
  • 出版日期: 2021-10-28
  • 定價: $1,690
  • 售價: 9.5$1,606
  • 貴賓價: 9.0$1,521
  • 語言: 英文
  • 頁數: 346
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 148427752X
  • ISBN-13: 9781484277522
  • 相關分類: ARMRaspberry PiAssembly
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

Chapter 1: How to Set Up the Development Environment

About the Raspberry Pi Pico

About the Host Computer

How to Solder and Wire

How to Install Software

A Simple Program to Ensure Things are Working

Chapter 2: Our First Assembly Language Program

About the ARM Processor

Computers and Numbers

CPU Registers

ARM Instruction Format

RP2040 Memory

About the GCC Assembler

Flashing LEDs in Assembly Language

Chapter 3: How to Build and Debug Programs

CMake

GNU Make

Print Statements

GDB

Chapter 4: Loading and Adding

Negative Numbers

Little Endian Format

How to Shift and Rotate

MOV/MVN

ADD/ADC

SUB/SBC

Chapter 5: How to Controll Program Flow

Unconditional Branch

About the CPSR

Branch on Condition

About the CMP Instruction

Loops

If/Then/Else

Logical Operators

Design Patterns

Chapter 6: Thanks for the Memories

How to Define Memory Contents

How to Load a Register

PC Relative Addressing

How to Load from Memory

How to Index Through Memory

How to Store a Register

Hardware as Memory

Introduction to DMA

Chapter 7: How to Call Functions and Use the Stack

The Stack

Branch with Link

How to Nest Function Calls

Function Parameters and Return Values

How to Manage the Registers

Summary of the Function Call Algorithm

Stack Frames

Chapter 8: Interacting with C and the SDK

How to Call C Routines

How to Call Assembly Routines from C

How to Deal with Inline C Routines

How to Use SDK Header Files

Chapter 9: How to Program the Built-in Hardware

The GPIO Pins

Analog to Digital

PWM

Chapter 10: How to Set and Catch Interrupts

Overview

How to Create an Interrupt Handler

Timers Example

Chapter 11: How to Initialize and Interact with Programmable I/O

Overview

SDK Support

PIO Instructions

How to Control Timing

Examples

Chapter 12: How to Connect Pico to IoT

Connectivity Options

Using a UART or I2C

Internet Basics

Security

Chapter 13: Multiplication, Division and Floating Point

Multiplication Coprocessor

Division Coprocessor

Interpolation

Floating Point Library

Chapter 14: Multiprocessing

Using Both CPU Cores

How to Synchronize and Share Resources


Audience: Intermediate

商品描述(中文翻譯)

第一章:如何設置開發環境

關於 Raspberry Pi Pico

關於主機電腦

焊接和連接線的方法

安裝軟體的方法

一個簡單的程式以確保一切運作正常

第二章:我們的第一個組合語言程式

關於 ARM 處理器

電腦和數字

CPU 註冊器

ARM 指令格式

RP2040 記憶體

關於 GCC 組合語言器

以組合語言閃爍 LED

第三章:如何建構和除錯程式

CMake

GNU Make

列印語句

GDB

第四章:載入和加法

負數

小端格式

位移和旋轉的方法

MOV/MVN

ADD/ADC

SUB/SBC

第五章:控制程式流程的方法

無條件跳躍

關於 CPSR

有條件跳躍

關於 CMP 指令

迴圈

If/Then/Else

邏輯運算子

設計模式

第六章:感謝記憶體

如何定義記憶體內容

如何載入註冊器

相對於 PC 的位址

如何從記憶體載入

如何遍歷記憶體

如何儲存註冊器

硬體作為記憶體

介紹 DMA

第七章:如何呼叫函式和使用堆疊

堆疊

帶連結的跳躍

如何巢狀呼叫函式

函式參數和返回值

如何管理註冊器

函式呼叫演算法摘要

堆疊框架

第八章:與 C 和 SDK 互動

如何呼叫 C 程式

如何從 C 呼叫組合語言程式

如何處理內嵌 C 程式

如何使用 SDK 標頭檔

第九章:如何控制內建硬體

GPIO 腳位

類比到數位轉換

PWM

第十章:如何設置和捕捉中斷

概述

如何建立中斷處理器

計時器範例

第十一章:如何初始化和互動可程式化 I/O

概述

SDK 支援

PIO 指令

如何控制時間

範例

第十二章:如何將 Pico 連接到物聯網

連接選項

使用 UART 或 I2C

網際網路基礎知識

安全性

第十三章:乘法、除法和浮點數

乘法協處理器

除法協處理器

插值

浮點數函式庫

第十四章:多處理

使用兩個 CPU 核心

如何同步和共享資源


讀者:中級