新書推薦:
《
清洁
》
售價:HK$
65.0
《
组队:超级个体时代的协作方式
》
售價:HK$
77.3
《
第十三位陪审员
》
售價:HK$
53.8
《
微观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:HK$
155.7
《
Python贝叶斯深度学习
》
售價:HK$
89.4
《
启微·狂骉年代:西洋赛马在中国
》
售價:HK$
78.4
《
有趣的中国古建筑
》
售價:HK$
67.0
《
十一年夏至
》
售價:HK$
76.2
|
內容簡介: |
本书以昇腾AI处理器为核心,循序渐进地展开嵌入式系统应用开发技术的讲解,涵盖嵌入式系统概述、ARMv8处理器架构、Linux系统、硬件接口、系统总线、嵌入式AI等内容。
本书基于昇腾Atlas 200开发板设计层进式实验内容,从系统启动卡制作、代码编译等验证性实验,到综合外部接口、传感器等提高性实验,再到目标检测、语义分割等设计性AI实验,应有尽有。读者可以通过本书获知嵌入式综合应用的编写方法、嵌入式软件的开发流程和技巧。
本书可以作为高等院校嵌入式系统相关课程的本科生或者研究生的教材,也适合作为各类相关培训的教材,还可以作为机电一体化控制系统、信息电器、工业控制等领域嵌入式应用软件开发人员和创客的自学用书。
|
目錄:
|
第1章嵌入式系统发展绪论1
1.1嵌入式系统简介1
1.1.1嵌入式系统发展历史2
1.1.2嵌入式系统概念及特点4
1.1.3嵌入式系统分类及应用5
1.2嵌入式系统硬件组成7
1.2.1嵌入式微处理器/微控制器7
1.2.2嵌入式DSP/FPGA10
1.2.3嵌入式SoC/SoPC10
1.2.4嵌入式系统接口及外设12
1.3嵌入式系统软件组成14
1.3.1嵌入式系统的软件分层体系14
1.3.2嵌入式操作系统综述15
1.3.3嵌入式系统软件集成开发环境19
1.4嵌入式系统发展趋势21
1.5课后习题23
第2章ARM技术概述25
2.1ARM体系结构25
2.1.1ARM体系结构的发展25
2.1.2ARM体系结构的特点28
2.1.3ARM流水线30
2.1.4ARM核简述36
2.2ARM CortexA5543
2.2.1CortexA55内核及其特征43
2.2.2CortexA55内核结构43
2.2.3CortexA55内存管理单元46
2.2.4CortexA55中断控制器CPU接口47
2.3课后习题48
第3章ARMv8架构基础知识49
3.1ARMv8架构49
◆嵌入式系统开发与应用目录3.1.1ARMv8架构介绍49
3.1.2ARMv8基础概念50
3.1.3ARMv8处理器的运行状态51
3.1.4ARMv8架构支持的数据宽度51
3.2ARMv8寄存器52
3.2.1通用寄存器52
3.2.2处理器状态寄存器53
3.2.3特殊寄存器54
3.2.4系统寄存器57
3.3A64指令集58
3.3.1加载与存储指令59
3.3.2算术与移位指令65
3.3.3比较与跳转指令74
3.3.4其他重要指令76
3.4ARM64异常处理78
3.4.1异常类型78
3.4.2同步异常和异步异常79
3.4.3异常的发生和退出80
3.4.4异常向量表80
3.5ARM64内存管理81
3.5.1页表81
3.5.2页表映射84
3.5.3页表粒度86
3.5.4两套页表87
3.5.5两套描述符87
3.5.6页表属性91
3.5.7连续块表项94
3.6课后习题94
第4章Linux嵌入式操作系统96
4.1Linux系统发展96
4.1.1Linux的起源96
4.1.2Linux的特点97
4.1.3Linux的发展历史97
4.1.4Linux的发行版本98
4.1.5Linux的应用领域100
4.1.6Linux虚拟机安装100
4.2Linux文件系统102
4.2.1用户与用户组102
4.2.2文件和目录的权限105
4.2.3文件系统的目录结构110
4.2.4常见的Linux文件系统111
4.3Linux指令112
4.3.1文件管理112
4.3.2文档编辑116
4.3.3文件传输118
4.3.4磁盘管理119
4.3.5网络通信122
4.3.6系统管理124
4.4Linux常用工具126
4.4.1Vi和Vim126
4.4.2shell129
4.4.3SSH146
4.4.4FTP148
4.4.5git项目管理工具151
4.5课后习题159
第5章基于ARM的嵌入式软件开发160
5.1嵌入式C语言程序设计基础160
5.1.1Hello World160
5.1.2GCC与交叉编译器161
5.1.3Makefile163
5.1.4CMake166
5.2嵌入式C语言程序设计技巧168
5.2.1C编译器及其优化方法169
5.2.2C语言面向对象编程思想174
5.2.3C语言模块化编程思想178
5.3C语言与汇编语言混合编程193
5.3.1ATPCS规则193
5.3.2在C程序中内嵌汇编代码195
5.3.3在汇编程序中调用C程序196
5.4课后习题197
第6章通信接口及其昇腾实例198
6.1通用输入/输出接口198
6.1.1GPIO功能与特点198
6.1.2GPIO功能描述199
6.1.3GPIO使用说明199
6.1.4GPIO应用例程200
6.2I2C总线201
6.2.1I2C功能与特点202
6.2.2I2C特征与结构203
6.2.3I2C协议时序211
6.2.4昇腾I2C接口介绍213
6.2.5昇腾I2C应用例程213
6.3SPI总线216
6.3.1SPI功能与特点216
6.3.2SPI特征与结构222
6.3.3SPI协议时序230
6.3.4昇腾SPI接口介绍233
6.3.5昇腾SPI接口应用例程233
6.4UART总线235
6.4.1UART功能与特点236
6.4.2UART特征与结构238
6.4.3UART协议时序243
6.4.4昇腾UART接口介绍244
6.4.5昇腾UART应用例程244
6.5课后习题247
第7章昇腾AI应用与开发249
7.1昇腾AI处理器介绍249
7.1.1华为AI全栈解决方案介绍249
7.1.2昇腾AI处理器硬件架构251
7.1.3昇腾AI处理器软件逻辑架构254
7.2基于昇腾的嵌入式系统环境搭建257
7.2.1制作系统镜像257
7.2.2串口连接258
7.3AI应用例程设计259
7.3.1目标检测例程259
7.3.2人体语义分割例程261
7.3.3基于骨骼行为识别例程262
7.3.4模型部署相关工具及流程264
7.4课后习题270
参考文献271
附录AAtlas 200 Dev Board方案框图272
附录BAtlas 200 Dev Board原理图273
附录CAtlas 200 Dev Board外设引脚286
|
內容試閱:
|
嵌入式系统是当下计算机领域的热门技术之一,它具有体积小、功能专一的特点,广泛应用于各类需要控制、计算、通信的产品,如手机、监控摄像头、ATM、微波炉等。
嵌入式处理器经过50多年的飞速发展,从最早的单片机时代,到后来形成的以SoC(片上系统)为主嵌入式处理器的时代,目前已发展为以高通和三星为代表的ARM架构系列处理器时代,占据了70%以上的市场份额。ARM处理器最大的优点是低功耗、低成本和高性能,其提供的各种微处理器内核几乎满足了目前应用市场对性能、功耗和成本的所有需求,加上其提供的一系列优化片上系统的软件工具,已经构成了庞大的ARM生态系统。许多先进的嵌入式技术都与ARM技术有很好的融合。因此,基于ARM进行嵌入式应用教学无疑是最合适的。
本书基于昇腾Ascend 310 AI处理器详细介绍ARM嵌入式应用开发技术。
全书共7章。
第1章从总体上介绍嵌入式系统的发展情况,从嵌入式系统的基本概念、硬件组成、软件组成、发展趋势四方面介绍嵌入式系统开发的基础知识。
第2章主要介绍ARM技术,对ARM目前的技术体系进行详细介绍,包括ARM处理器的发展、ARM处理器的特点、ARM流水线和ARM处理器核;重点阐述ARM CortexA55处理器的结构及其特点。
第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月
|
|