新書推薦:
![晋国600年(全四册)](http://103.6.6.66/upload/mall/productImages/24/30/9787510476303.jpg)
《
晋国600年(全四册)
》
售價:HK$
250.7
![深中通道 穿越千年文明 迈向中国式现代化](http://103.6.6.66/upload/mall/productImages/24/31/9787218176932.jpg)
《
深中通道 穿越千年文明 迈向中国式现代化
》
售價:HK$
101.2
![礼不远人:走近明清京师礼制文化](http://103.6.6.66/upload/mall/productImages/24/29/9787542684363.jpg)
《
礼不远人:走近明清京师礼制文化
》
售價:HK$
109.3
![杯中风土:日本酒的文化史](http://103.6.6.66/upload/mall/productImages/24/30/9787522831350.jpg)
《
杯中风土:日本酒的文化史
》
售價:HK$
90.9
![简读中国史(全四册)](http://103.6.6.66/upload/mall/productImages/24/31/9787X29758426.jpg)
《
简读中国史(全四册)
》
售價:HK$
282.4
![全球基础研究人才指数报告(2023)](http://103.6.6.66/upload/mall/productImages/24/30/9787522836744.jpg)
《
全球基础研究人才指数报告(2023)
》
售價:HK$
342.7
![20世纪40年代以来中国大陆海岸线演变特征](http://103.6.6.66/upload/mall/productImages/24/31/9787030789440.jpg)
《
20世纪40年代以来中国大陆海岸线演变特征
》
售價:HK$
423.2
![更好的行为:给教师的指南(教师成长系列)](http://103.6.6.66/upload/mall/productImages/24/29/9787572027499.jpg)
《
更好的行为:给教师的指南(教师成长系列)
》
售價:HK$
78.2
|
編輯推薦: |
本书是基于Arm Cortex-M内核架构开展SoC设计的优秀参考书,讲解了基于Arm Cortex-M处理器的SoC设计方法,重点对SoC的构成、设计、集成及应用进行了详细阐述,并讨论了基于SoC的编程。书中涉及的知识面很全,其中外设设计实例、SoC设计实例等均有很高的实践参考价值。本书适合具有数字电路、模拟电路和嵌入式系统设计基础的读者参考,也可作为电子信息专业高年级本科生或研究生相关课程的教材。
|
內容簡介: |
Arm? Cortex?-M处理器已经是loT和嵌入式应用程序流行的选择之一。通过Arm的DesignStart?工具,可以高效、方便且成本合理地访问Arm Cortex-M处理器IP内核。本书针对SoC和FPGA设计师详细阐述了将Cortex-M处理器集成到SoC芯片设计中时需要掌握的所有关键技术内容,包括总线协议、总线互连和外围设计等等。姚文祥(Joseph Yiu)是Arm公司的杰出工程师,早在2000年就开始设计SoC,并在该领域担任了近20年的领导岗位。Joseph的书以专家的视角介绍了SoC设计师在将Cortex-M处理器整合到系统中时需要知道的内容,并讨论了Arm处理器和广泛的SoC组件(如内存接口、外围设备和调试组件)使用的片上总线协议规范(AMBA、AHB和APB)。还包括软件开发和高级设计注意事项。旅程以“将系统组装在一起”结束,这是一个基于Cortex-M3处理器(DesignStart)的简单微控制器设计的设计师视角,该处理器使用您将学会创建的组件。
|
關於作者: |
姚文祥,在微控制器和基于Arm Cortex-M处理器的SoC设计领域,他是一位经验丰富的作家、演讲者,Arm公司杰出工程师。他在业务应用和编程、ASIC/SoC设计、验证、FPGA原型开发、低功耗设计和产品测试等方面拥有丰富的专业知识。另外,从加速的8位处理器到第一个基于Arm的SoC设计项目,再到各种Cortex-M处理器及其设计工具套件,他在微控制器IP设计方面拥有20年的从业经验。他担任过各种高级工程师,目前在物联网和嵌入式产品团队中作为产品经理调研下一代新产品,同时仍然参与一系列嵌入式处理器产品工程研发。
|
目錄:
|
CONTENTS目 录推荐序译者序序前言作者简介第1章 Arm Cortex-M系列 处理器简介11.1 Cortex-M系统设计11.1.1 轻松开始Cortex-M系统 设计11.1.2 基于FPGA的Cortex-M 处理器系统21.1.3 Arm处理器架构更易 构建安全系统31.2 Arm处理器的分类41.3 Cortex-M获取的开发资源71.3.1 通过Arm公司Flexible Access业务和DesignStart 项目获取IP授权 71.3.2 评估版DesignStart— Verilog代码不可读版本91.3.3 专业版DesignStart— Verilog RTL代码可配置 版本101.3.4 FPGA版DesignStart— FPGA开发包版本101.3.5 文档10第2章 基于Cortex-M处理器的 系统设计112.1 概述112.2 存储器122.2.1 存储器概述122.2.2 基于FPGA开发工具 设计Cortex-M处理器 的存储器132.2.3 ASIC设计中的存储器162.2.4 存储器字节顺序162.3 外围设备的定义172.4 存储器映射的定义182.5 总线和存储器系统设计212.6 TCM集成212.7 高速缓存集成222.8 处理器的配置选项222.9 中断信号及相关事项222.10 事件接口252.11 时钟生成262.12 复位生成282.13 SysTick定时器302.14 调试集成312.15 电源管理功能322.16 顶层引脚分配和引脚多路复用322.17 其他信号332.18 签署要求34第3章 AMBA、AHB、APB353.1 AMBA353.1.1 AMBA简介353.1.2 AMBA历史363.1.3 各种版本的AMBA规范363.2 AHB概述373.2.1 AHB版本373.2.2 AHB信号383.2.3 AHB基本操作403.2.4 最小AHB系统423.2.5 多总线主机的处理443.3 AHB详述463.3.1 地址区间信号463.3.2 数据区间信号513.3.3 遗留仲裁器握手信号563.4 独占访问操作583.4.1 独占访问简介583.4.2 AHB5独占访问支持613.4.3 Cortex-M3/M4/M7处理器 独占访问信号到AHB5 的映射623.5 AHB5 TrustZone支持633.6 APB概述653.6.1 APB系统653.6.2 APB信号和连接653.6.3 APBv2中的附加信号693.6.4 APB上的数据713.6.5 不同版本APB组件的 组合使用71第4章 搭建Cortex-M处理器的 简单总线系统734.1 总线设计基础734.2 搭建简单的Cortex-M0系统744.3 搭建简单的Cortex-M0+系统754.4 搭建简单的Cortex-M1系统774.5 搭建简单的Cortex-M3/Cortex- M4系统794.6 处理多个总线主机854.7 独占访问支持874.8 地址重映射894.9 基于AHB的存储器连接 与TCM904.10 嵌入式闪存的处理924.10.1 IP要求924.10.2 闪存编程934.10.3 处理器的无程序启动93第5章 Cortex-M处理器系统的 调试集成955.1 调试与跟踪功能概述955.2 CoreSight调试架构985.2.1 Arm CoreSight简介985.2.2 调试连接协议985.2.3 调试连接概念—调试 访问端口995.2.4 调试接口结构1015.2.5 跟踪连接1025.2.6 时间戳1045.2.7 调试组件发现机制1055.2.8 调试认证1065.2.9 调试电源请求1075.2.10 调试复位请求1085.2.11 交叉触发接口1095.3 调试集成1095.3.1 JTAG/SWD连接1095.3.2 跟踪端口连接1115.3.3 调试和跟踪系统的时钟1125.3.4 多点SWD1145.3.5 调试认证1155.4 其他调试相关主题1175.4.1 其他信号连接1175.4.2 菊花链式JTAG连接117第6章 低功耗支持1186.1 Cortex-M处理器低功耗特性1186.2 低功耗设计基础1196.3 Cortex-M处理器低功耗接口1216.3.1 睡眠状态和GATEHCLK 输出1216.3.2 Cortex-M23/M33/M35P 处理器的Q通道低功耗 接口1226.3.3 睡眠保持接口1246.3.4 唤醒中断控制器1266.3.5 SRPG对软件的影响1316.3.6 软件低功耗方法1316.4 体现低功耗设计的Cortex-M 处理器特性1326.4.1 高代码密度1326.4.2 短流水线模式1326.4.3 取指优化模式1336.5 系统级设计注意事项1346.5.1 低功耗设计1346.5.2 时钟源1346.5.3 低功耗存储器1356.5.4 缓存存储器1356.5.5 低功耗模拟单元1356.5.6 时钟门控设计1356.5.7 处理器完全掉电情况下 的睡眠模式136第7章 总线基础组件设计1397.1 简单AMBA总线系统设计概述1397.2 典型AHB从机设计规则1417.3 典型AHB基础组件1437.3.1 AHB解码器1447.3.2 默认从机1457.3.3 AHB从机多路复用器1477.3.4 带AHB接口的ROM 和RAM1497.3.5 AHB to APB总线桥1587.4 从Cortex-M3/Cortex-M4 AHB Lite桥接到AHB5169第8章 简单外设设计1718.1 外设系统设计1718.2 设计简单的APB外设1728.2.1 通用输入输出接口1798.2.2 APB定时器1868.2.3 UART1908.3 ID寄存器1998.4 外设设计的其他注意事项2018.4.1 系统控制功能的安全性2018.4.2 处理器暂停2018.4.3 64位数据处理201第9章 内核系统集成2029.1 搭建简单的微控制器系统2029.2 设计划分2049.3 仿真环境的内容2049.4 仿真用基础软件支持库及 代码2069.4.1 基于CMSIS-CORE的 示例代码概述2069.4.2 MCU的设备头文件2069.4.3 MCU的设备启动文件2099.4.4 UART应用程序2109.4.5 系统初始化函数2119.4.6 重定位目标2129.4.7 其他的软件支持包2139.5 系统级仿真2149.5.1 编译Hello world程序2149.5.2 使用Modelsim/QuestaSim 对设计进行编译和仿真2159.6 高级处理器系统和Corstone 基础IP2189.7 验证2199.8 ASIC实现流程2209.9 可测试性设计222第10章 处理器系统的其他 相关设计22610.1 时钟系统设计22610.1.1 时钟系统设计概述22610.1.2 时钟切换22710.1.3 低功耗考虑22810.1.4 DFT考虑22910.2 多电源域和电源门控22910.3 混合信号Arm处理器23110.3.1 微控制器和混合信号 设计的融合23110.3.2 模数转换23210.3.3 数模转换23710.3.4 其他模拟接口23910.3.5 将ADC和DAC IP 产品连接到Cortex-M 系统23910.4 SoC案例—Beetle测试 芯片案例研究24010.4.1 Beetle测试芯片概述24010.4.2 Beetle测试芯片的 挑战性24210.4.3 Beetle测试芯片的 系统设计24210.4.4 Beetle测试芯片的 实现24310.4.5 其他相关任务243第11章 软件开发24611.1 Cortex微控制器软件接口 标准24611.2 搭建多工具链支持的开发 平台24811.2.1 准备工作24811.2.2 使用Arm Compiler 6 进行编译24911.2.3 使用gcc进行编译25011.3 Arm Keil微控制器开发套件25511.3.1 Keil MDK概述25511.3.2 Keil MDK的安装25611.3.3 创建应用程序25711.3.4 创建工程25811.3.5 创建和添加源文件26011.3.6 编辑源文件26211.3.7 配置工程参数选项26411.3.8 编译工程26711.3.9 应用程序的烧录与 调试26711.3.10 使用ITM输出文本 消息26911.3.11 协同环境下的软件 开发27411.4 使用RTOS27411.4.1 RTOS软件概念27511.4.2 使用Keil RTX27511.4.3 优化内存利用率27711.5 其他工具链281技术术语表282参考资料290
|
內容試閱:
|
PREFACE前 言在过去,除了微处理器和微控制器产品外,芯片设计很少集成内部嵌入式处理器,但这种情况从Arm Cortex-M系列处理器问世以后,发生了巨大变化。随着物联网产业的迅速发展,出现了越来越多的应用于不同场景的处理器产品。如今,Arm处理器已经被应用于智能传感器、智能电池(如用于电池健康监测系统)、无线通信芯片组、电力电子控制器等。越来越多的芯片中开始集成嵌入式处理器,出现这种趋势的原因是现代产品需要更高的系统集成度、更丰富多样的功能、更高的系统可靠性以及更小的供应链依赖性。SoC设计是一个充满机遇、朝气蓬勃的行业。基于Cortex-M处理器的SoC产品应用范围包括消费电子、工业和汽车、通信、农业、交通运输、医疗保健等。随着物联网设备市场的不断扩大,SoC芯片中集成嵌入式处理器的需求也在不断增加。Cortex-M0、Cortex-M0+和Cortex-M3这类小规模Cortex-M处理器因占用面积较小,更易于集成到各种SoC设计中。得益于Arm DesignStart项目的支持,使用Cortex-M处理器的成本较低,这有利于众多小型和初创企业开展SoC解决方案开发,提供更好的差异化产品。在这样的背景下,行业急需大量SoC设计人员,同时Arm DesignStart项目也引起了学术界的强烈兴趣,一些大学也通过该项目的支持将SoC设计引入了它们的课程体系中。除了业界流行的Armv6-M和Armv7-M处理器外,基于Armv8-M处理器(如Cortex-M23和Cortex-M33处理器)的最新SoC/微控制器,提供了支持Arm TrustZone技术的增强安全解决方案。2019年2月,Arm宣布推出采用Arm Helium技术的Armv8.1-M架构,为Arm Cortex-M处理器带来了向量处理能力,这些技术改进使Cortex-M处理器能够在更广泛的领域内使用。虽然互联网上有许多Arm芯片的软件开发的技术资源,但是基于Arm的SoC设计的信息非常有限,特别是关于集成Arm处理器和片上总线协议方面的内容。这本书正是为了填补这一空白而写的,它可以让初学者理解SoC设计的一系列技术概念。书中详细阐述了与Arm Cortex-M处理器设计集成相关的知识,还涉及系统组件设计、SoC设计流程和软件开发等内容。对于SoC设计的初学者,本书能够帮助读者获取SoC设计的相关知识,带领读者开展SoC或FPGA设计项目;对于有经验的芯片设计者,本书可作为一本极具价值的参考书。享受这本书——尽情发挥你的SoC设计创意,Arm SoC朝气蓬勃,市场前景无限!免费下载示例代码和项目本书的读者可以下载配套示例代码和项目,其中包括:基于 Arm Cortex-M3处理器评估版DesignStart的Cortex-M3系统设计实例;实例系统的仿真平台;针对 Digilent Arty-S7-50T FPGA 板和 Xilinx Vivado 2019.1的实例系统设计的FPGA项目。软件包可以从 Arm Education Media 网站https:// pages.arm.com/socrefbook.html的本书资源处注册下载。免责声明本书中Verilog设计实例和相关的软件文件是为了教学而设计的,并没有像 Arm IP 产品标准那样经过全面验证。Arm Education Media和本书作者对上述内容不做任何保证。关于本书范围的说明本书重点介绍基于 Cortex-M0和 Cortex-M3处理器的系统设计概念。由于提供 DesignStart项目和DesignStart FPGA的产品将随着时间的推移而变化,因此本文不会详细介绍使用这些软件包的全部细节,但本书中的系统设计概念和一些技术细节基本适用于大多数 Cortex-M系统设计。致谢非常感谢编辑Michael Shuff,他在本书的校对方面做了大量的工作,提出了很多有用的建议。还要感谢 Christopher Seidl、Chris Shore 和 Jon Marsh ,他们为本书的编写提供了很多素材,同时也要感谢Arm公司营销团队对这个项目的支持。
|
|