前言Foreword



嵌入式系统是当下计算机领域的热门技术之一,它具有体积小、功能专一的特点,广泛应用于各类需要控制、计算、通信的产品,如手机、监控摄像头、ATM、微波炉等。
嵌入式处理器经过50多年的飞速发展,从最早的单片机时代,到后来形成的以SoC(片上系统)为主嵌入式处理器的时代,目前已发展为以高通和三星为代表的ARM架构系列处理器时代,占据了70%以上的市场份额。ARM处理器最大的优点是低功耗、低成本和高性能,其提供的各种微处理器内核几乎满足了目前应用市场对性能、功耗和成本的所有需求,加上其提供的一系列优化片上系统的软件工具,已经构成了庞大的ARM生态系统。许多先进的嵌入式技术都与ARM技术有很好的融合。因此,基于ARM进行嵌入式应用教学无疑是最合适的。
本书基于昇腾Ascend 310 AI处理器详细介绍ARM嵌入式应用开发技术。
全书共7章。
第1章从总体上介绍嵌入式系统的发展情况,从嵌入式系统的基本概念、硬件组成、软件组成、发展趋势四方面介绍嵌入式系统开发的基础知识。
第2章主要介绍ARM技术,对ARM目前的技术体系进行详细介绍,包括ARM处理器的发展、ARM处理器的特点、ARM流水线和ARM处理器核;重点阐述ARM CortexA55处理器的结构及其特点。
第3章阐述ARMv8架构的基础知识,包括ARMv8的基本概念、ARMv8架构的寄存器组、ARMv8架构下支持的A64指令集、ARMv8架构下ARM64状态的异常处理和ARMv8架构下ARM64状态的内存管理。
第4章介绍Linux嵌入式操作系统的知识及技术,包括Linux操作系统目前的发展情况、Linux文件系统的概念及其管理方法、Linux常见的指令操作以及Linux环境下嵌入式应用开发常用的工具。
第5章主要介绍基于ARM的嵌入式软件开发技术,包括嵌入式C语言程序设计基础、C语言程序设计技巧,以及C语言与汇编混合编程。
第6章主要介绍嵌入式开发中常见的通信接口技术,包括通用输入/输出接口、I2C、SPI和UART总线。特别地,本章详细介绍上述通信接口在昇腾Atlas 200 Dev Board上的使用方法。
第7章主要介绍基于昇腾AI处理器的嵌入式AI应用开发,首先阐述昇腾AI处理器的技术架构,再详细介绍基于昇腾AI处理器的嵌入式开发环境的搭建方法,最后向读者展示基于昇腾Atlas 200 Dev Board进行的AI应用开发案例。
参与本书编写工作的主要人员有陈朋、赵冬冬和宦若虹,最终方案的确定和本书的定稿由陈朋负责。
限于作者水平,书中难免存在不足和疏漏之处,恳请读者提出宝贵的意见和建议,以便以后予以补充和修订。陈朋2024年1月