作 者:(英)姚文祥(Joseph Yiu) 著;吴常玉,张淑,吴卫东 译 定 价:128 出 版 社:清华大学出版社 出版日期:2018年01月01日 页 数:608 装 帧:平装 ISBN:9787302473312 ●译者序1
●推荐序3
●前言5
●致谢7
●术语和缩写9
●本书约定13
●第1章概论
●1.1欢迎来到嵌入式处理器的世界
●1.1.1处理器有什么作用
●1.1.2处理器、CPU、内核、微控制器及其命名
●1.1.3嵌入式系统的编程
●1.1.4学习微控制器需要了解什么
●1.2理解处理器的类型
●1.2.1处理器为什么有很多种类
●1.2.2ARM处理器家族概述
●1.2.3模糊边界
●1.2.4ARM Cortex-M处理器系列
●1.2.5ARM Cortex-M0和Cortex-M0+处理器简介
●1.2.6从Cortex-M0处理器到Cortex-M0+处理器
●1.2.7Cortex-M0和Cortex-M0+处理器的应用
●部分目录
内容简介
本书是ARM公司微控制器系统级设计专家Joseph Yiu的作品。本书全面系统论述Cortex-M0与Cortex-M0+的内核、体系结构、指令集、编译器、程序设计及软件移植。全书共23章,近700页。深度剖析系统模型、指令集以及中断处理,以利于理解ARM Cortex-M0与Cortex-M0+的工作方式;综合运用汇编语言和C语言实现的丰富的ARM Cortex-M0与Cortex-M0+编程案例,有助于快速动手实践;系统论述软件的开发流程,并以常用软件开发工具为例,介绍程序设计的实例及如何定位程序代码问题和软件移植等方面的知识;全面揭秘从其他架构处理器进行软件移植的方法,包括ARM7TDMI、ARM Cortex-M3以及8051微控制器移植的实例;深入解析Cortex-M0和Cortex-M0+处理器架构特性的差异(如非特权执行等级、向量表重定等 (英)姚文祥(Joseph Yiu) 著;吴常玉,张淑,吴卫东 译 姚文祥(Joseph Yiu),英国ARM公司资历专家,12年半导体行业从业经历(在ARM公司工作15年以上)。曾参与多个处理器设计项目,包括ARM Cortex-M3和Cortex-M0,并参与了多种ARM IP(知识产权)产品的开发。Joseph Yiu为微控制器系统级设计专家,并涉猎了诸多相关领域,包括ARM Cortex-M系列微控制器软件开发、微控制器市场以及片上系统设计技术。其他代表性著作有《The Definitive Guide to the ARM Cortex-M3等
ARM Cortex-M0与Cortex-M0+权威指南(第2版) 一本深入浅出的嵌入式系统开发实战宝典 本书专为广大嵌入式系统工程师、硬件设计者、软件开发者以及对此领域充满热情的学生和爱好者量身打造。如果您正在寻求一本能够系统性地、深入地理解 ARM Cortex-M0 和 Cortex-M0+ 微控制器核心架构、指令集、编程模型,并能将这些知识转化为实际应用的设计宝典,那么《ARM Cortex-M0与Cortex-M0+权威指南(第2版)》将是您的不二之选。 内容概述 本书并非对 ARM Cortex-M0 和 Cortex-M0+ 硬件规格的简单堆砌,而是以一种循序渐进、理论与实践相结合的方式,引导读者从宏观架构到微观细节,逐步掌握这两个高性能、低功耗微控制器核心的精髓。我们将深入探讨它们的内在设计理念,分析其指令集如何实现高效的代码执行,并详细阐述在实际嵌入式项目开发中,如何充分发挥其潜能,优化性能,降低功耗,并提升系统的可靠性。 核心架构深度解析:理解心脏的跳动 本书将从 ARMv6-M 架构出发,为您详细剖析 Cortex-M0 和 Cortex-M0+ 的核心组成部分。我们将逐一揭示: 流水线结构: 深入理解指令的获取、解码、执行和写回过程,以及不同流水线阶段如何协同工作,实现高效的指令处理。 寄存器组: 详解通用寄存器、程序计数器 (PC)、栈指针 (SP)、连接寄存器 (LR) 和状态寄存器 (PSR) 等关键寄存器的作用与使用,理解它们在指令执行和函数调用中的重要性。 内存模型: 探讨 Cortex-M0/M0+ 的内存映射,包括指令存储器、数据存储器、外设寄存器等区域的组织方式,以及如何通过内存访问进行硬件控制。 中断与异常处理: 这是嵌入式系统设计的灵魂。我们将详细讲解中断控制器 (NVIC) 的工作原理,包括中断优先级、中断向量表、中断嵌套等概念,并提供实际的代码示例,指导您如何编写高效、可靠的中断服务例程,应对各种外部事件。 低功耗模式: Cortex-M0/M0+ 在低功耗方面表现卓越。本书将深入分析各种低功耗模式(如 Sleep, Deep Sleep 等)的实现机制,以及如何通过软件和硬件手段进一步优化功耗,满足电池供电设备的严苛要求。 Cortex-M0+ 的增强特性: 重点突出 Cortex-M0+ 相较于 Cortex-M0 在性能和功耗上的改进,例如单周期 I/O 访问、更优化的指令执行等,并说明这些改进如何影响实际的开发和应用。 指令集精细解读:让代码奔跑起来 ARMv6-M 指令集是 Cortex-M0/M0+ 的核心语言。本书将带您领略其简洁而强大的魅力: Thumb-2 指令集: 详细介绍 Thumb-2 指令集的特点,包括 16 位和 32 位指令混合使用带来的代码密度和执行效率的平衡。 常用指令分析: 逐一讲解数据处理指令 (如 ADD, SUB, AND, ORR)、加载/存储指令 (如 LDR, STR)、分支指令 (如 B, BL) 和协处理器指令等,并结合实际场景演示它们的用法。 寻址模式: 深入理解寄存器偏移寻址、基址加偏移寻址等多种寻址模式,掌握如何高效地访问和操作数据。 汇编语言编程实践: 提供大量的汇编语言示例,帮助读者理解 C 语言代码在底层是如何被翻译成机器指令的,以及如何通过汇编语言实现一些 C 语言难以达到的优化。 C 语言与嵌入式开发:从硬件到软件的桥梁 本书将重点关注使用 C 语言进行 Cortex-M0/M0+ 开发的最佳实践: GCC 编译器与工具链: 详细介绍如何配置和使用 GCC 编译器,以及常用的调试工具(如 GDB, OpenOCD)来开发、编译、下载和调试 Cortex-M0/M0+ 程序。 标准外设驱动开发: 针对常见的微控制器外设,如 GPIO、UART、SPI、I2C、ADC、Timers 等,提供详细的驱动程序编写教程和示例,帮助读者快速上手外设控制。 中断驱动的编程: 强调中断驱动编程的重要性,讲解如何设计高效、可重入的中断服务例程,以及如何通过状态机等技术管理复杂的并发任务。 实时操作系统 (RTOS) 的应用: 介绍 RTOS 的基本概念和原理,并以一款轻量级的 RTOS 为例,演示如何在 Cortex-M0/M0+ 上移植和使用 RTOS,实现多任务并发管理,构建复杂的嵌入式系统。 代码优化技巧: 分享针对 Cortex-M0/M0+ 的代码优化策略,包括编译器优化选项、寄存器使用技巧、数据结构选择以及算法优化等,帮助读者在资源受限的嵌入式环境中实现最佳性能。 实际项目与案例分析:理论付诸实践 纸上得来终觉浅,绝知此事要躬行。本书将通过一系列精心设计的实际项目和案例分析,将理论知识转化为生动的实践经验: LED 闪烁与按键扫描: 最基础的嵌入式入门项目,但我们会深入解析其背后的中断和延时机制。 串行通信实验: 通过 UART、SPI、I2C 等接口实现与外部设备的通信,例如连接传感器、显示屏或与其他微控制器进行数据交换。 ADC 数据采集与处理: 演示如何使用 ADC 采集模拟信号,并进行数据滤波、分析和应用。 定时器应用: 学习如何使用定时器实现精确延时、脉冲生成、PWM 输出等功能,例如控制电机速度或舵机角度。 简单 I/O 控制系统: 设计一个包含多个输入输出端口的控制系统,例如简单的温湿度监测设备或智能家居节点。 低功耗模式下的睡眠唤醒应用: 实际演示如何利用 Cortex-M0/M0+ 的低功耗特性,设计能够在长时间待机后被唤醒执行任务的应用。 本书的独特价值 系统性与全面性: 涵盖了从底层架构到上层应用的所有关键环节,为读者提供了一个完整的学习路径。 深入浅出的讲解: 采用通俗易懂的语言,配以大量的图示和代码示例,使复杂的概念易于理解。 注重实践: 强调动手实践的重要性,通过丰富的项目和案例分析,帮助读者将所学知识融会贯通。 权威性与前沿性: 基于 ARM Cortex-M0 和 Cortex-M0+ 的官方文档和最新的行业实践,确保内容的准确性和前沿性。 面向实际应用: 旨在培养读者独立解决实际嵌入式开发问题的能力,使其能够胜任各种复杂的项目开发任务。 谁应该阅读本书? 嵌入式系统工程师: 希望深入理解 Cortex-M0/M0+ 架构,提升开发效率和产品性能的工程师。 硬件设计者: 需要了解微控制器核心如何与外部硬件交互,进行系统级设计的硬件工程师。 软件开发者: 想要将 C 语言知识应用于嵌入式领域,开发高效、可靠的嵌入式软件的开发者。 学生与研究人员: 学习嵌入式系统原理,进行相关课程学习或科研项目的学生和研究人员。 业余爱好者: 对嵌入式开发充满兴趣,希望自己动手制作智能设备的项目爱好者。 结语 《ARM Cortex-M0与Cortex-M0+权威指南(第2版)》不仅仅是一本书,更是一扇通往嵌入式系统世界的大门。通过本书的学习,您将掌握驾驭 ARM Cortex-M0 和 Cortex-M0+ 微控制器核心的利器,开启您的智能硬件创新之旅,在日新月异的物联网、人工智能等领域,挥洒您的才华,创造无限可能。
这本书的封面设计我真的太喜欢了,沉稳中带着科技感,深蓝和银灰的配色,让人一看就知道是讲嵌入式系统开发的专业书籍。书的纸张质感也很棒,印刷清晰,没有一点错别字,这一点对于技术书籍来说太重要了。翻开第一页,一股淡淡的书墨香扑面而来,瞬间就勾起了我当年在实验室熬夜写代码的回忆。我买这本书主要是想系统地学习一下ARM Cortex-M0和M0+的架构细节,之前看了一些零散的资料,总觉得不够深入。这本书厚度适中,拿在手里很有分量,封底的条形码和出版信息都很规范,感觉是正版书无疑了。我特别期待书中关于指令集、中断处理和低功耗模式的讲解,这几个方面是我目前工作和学习中的瓶颈,希望能通过这本书找到突破口。从目录来看,内容安排得很合理,循序渐进,从基础概念讲到具体应用,应该能让我快速上手。