资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 1第6章 总线总线 系统统Cortex-M3处处理器使用一个 3级级流水线线。流水线线的3个级级分别别是:取指,解码码和执执行。读读取PC时时,会返回当前指令地址+4的值值。这这个偏移量总总是4,不管是执执行16位指令还还是32位指令,这这就保证证了在Thumb和Thumb2之间间的一致性。26.1流水线线36.2 系统统框图图图 Cortex-M3处理器系统方框图 缩写 含义 NVIC 嵌套向量中断控制器 SYSTICK Timer 一个简易的周期定时器,用于提供时基,亦被操作系统所使用 MPU 存储器保护单元(可选) CM3BusMatrix 内部的AHB互连 AHB to APB 把AHB转换为APB的总线桥 SW-DP/SWJ-DP 串行线调试端口/串行线JTAG 调试端口。通过串行线调试协议或者是传统的 JTAG协议(专用于SWJ-DP),都可以用于实现与调试接口的连接 AHB-AP AHB访问端口,它把串行线/SWJ接口的命令转换成AHB数据传送 ETM 嵌入式跟踪宏单元(可选组件),调试用。 用于处理指令跟踪 DWT 数据观察点及跟踪单元,调试用。这是一个处理数据观察点功能的模块 ITM 仪器化跟踪宏单元 TPIU 跟踪单元的接口单元。所有跟踪单元发出的调试信息都要先送给它,它再转发给外部跟踪捕获硬件的。 FPB Flash地址重载及断点单元 ROM表 一个小的查找表,其中存储了配置信息 46.2 系统统框图图CM3Core:Cortex-M3处处理器的中央处处理核心 嵌套向量中断控制器NVIC:NVIC是一个在CM3中内建的中断 控制器。中断的具体路数由芯片厂商定义义。NVIC是与CPU紧紧 耦合的,它还还包含了若干个系统统控制寄存器。NVIC还还采用了 向量中断的机制。在中断发发生时时,它会自动动取出对应对应 的服务务 例程入口地址,并且直接调调用,无需软软件判定中断源,缩缩短中 断延时时。 SysTick定时时器:系统统定时时器是一个非常基本的倒计时计时 定时时器 ,用于在每隔一定的时间产时间产 生一个中断,即使是系统统在睡眠模 式下也能工作。它使得OS在各CM3器件之间间的移植中不必修 改系统统定时时器的代码码,移植工作一下子容易多了。SysTick定 时时器也是实现实现 在NVIC内部的。56.2 系统统框图图存储储器保护单护单 元:MPU是一个选选配的单单元,如果有,则则它 可以把存储储器分成一些 regions,并分别别予以保护护。例如,它 可以让让某些 regions 在用户级户级 下变变成只读读,从而阻止了一些 用户户程序破坏关键键数据。 BusMatrix:BusMatrix是CM3内部总线总线 系统统的核心。它是一 个AHB互连连的网络络,通过过它可以让让数据在不同的总线总线 之间间 并行传传送(只要两个总线总线 主机不试图访问试图访问 同一块块内存区域) 。BusMatrix还还提供了附加的数据传传送管理设设施,包括一个 写缓缓冲以及一个按位操作的逻辑逻辑 。 AHB to APB Bridge:是一个总线桥总线桥 ,用于把若干个APB设设 备连备连 接到CM3处处理器的私有外设总线设总线 上。这这些 APB设备设备 常 见见于调试组调试组 件。CM3还还允许许芯片厂商把附加的APB设备设备 挂 在这这条APB总线总线 上,并通过过APB接入其外部私有外设总线设总线 。66.2 系统统框图图SW-DP/SWJ-DP:串行线调试线调试 端口(SW-DP)/串口线线JTAG调调 试试端口(SWJ-DP)都与AHB 访问访问 端口(AHB-AP)协协同工作, 以使外部调试调试 器可以发发起AHB上的数据传传送,从而执执行调试调试 活 动动。SWJ-DP支持串行线协议线协议 和JTAG协议协议 ,而SW-DP只支持串 行线协议线协议 。 AHB-AP: AHB访问访问 端口通过过少量的寄存器,提供了对对CM3所 有存储储器的访问访问 机能。该该功能块块由SW-DP/SWJ-DP通过过一个通 用调试调试 接口(DAP)来控制。当外部调试调试 器需要执执行动动作的时时 候,就要通过过SW-DP/SWJ-DP来访问访问 AHB-AP,再由AHB-AP产产 生所需的AHB数据传传送。 76.2 系统统框图图嵌入式跟踪宏单单元ETM:一个选选配件,ETM用于实现实时实现实时 指令 跟踪,ETM的控制寄存器是映射到主地址空间间上的,因此调试调试 器可以通过过DAP来控制它。 数据观观察点及跟踪单单元DWT:通过过DWT,可以设设置数据观观察点 。当一个数据地址或数据的值值匹配了观观察点时时,就说产说产 生了一次 匹配命中事件。匹配命中事件可以用于产产生一个观观察点事件,后 者能激活调试调试 器以产产生数据跟踪信息,或者让让ETM联动联动 。 仪仪器化跟踪宏单单元ITM:软软件可以控制该该模块块直接把消息送给给 TPIU;还还可以让让DWT匹配命中事件通过过ITM产产生数据跟踪包, 并把它输输出到一个跟踪数据流中。 86.2 系统统框图图跟踪端口的接口单单元TPIU:TIPU用于和外部的跟踪硬件(如跟 踪端口分析仪仪)交互。在 CM3 的内部,跟踪信息都被格式化成“ 高级级跟踪总线总线 (ATB)包”,TPIU 重新格式化这这些数据,从而 让让外部设备设备 能够够捕捉到它们们。 FPB:FPB提供flash地址重载载和断点功能。Flash地址重载载是指: 当CPU访问访问 某条指令时时,若该该地址在FPB中“挂了号”,则则将把 该该地址重映射到另一个地址,后者亦在编编程FPB时时指出。结结果, 实际实际 上是从映射过过的地址处处取指。此外,匹配的地址还还能用来触 发发断点事件。Flash地址重载载功能对对于测试测试 工作太有用了。例如 ,通过过使用FPB来改变变程序流程,就可以给给那些不能在普通情形 下使用的设备设备 添加诊诊断程序代码码。96.2 系统统框图图ROM表:它只是一个简单简单 的查查找表。提供了存储储器的“注册”信 息,这这些信息指出,在这块这块 CM3芯片中包括了哪些系统设备统设备 和 调试组调试组 件,以及它们们的位置。当调试调试 系统统定位各调试组调试组 件时时, 它需要找出相关寄存器在存储储器中的地址,这这些信息由此表给给出 。106.2 系统统框图图CM3 处处理器的总线总线 接口是基于 AHB-Lite 和 APB 协议协议 的。I-Code总线总线 : I-Code 总线总线 是一条基于 AHB-Lite 总线协议总线协议 的 32 位总线总线 ,负负责责在 0x0000_0000 0x1FFF_FFFF 之间间的取指操作。取指以字的长长度执执行,即使是对对于 16 位指令也如此。因此 CPU 内核可以一次取出两条 16 位 Thumb 指令。 116.3 总线总线 接口D-Code总线总线 :D-Code 总线总线 也是一条基于 AHB-Lite 总线协议总线协议 的 32 位总线总线,负责负责 在 0x0000_0000 0x1FFF_FFFF 之间间的数据访问访问 操作。处处理器的总线总线 接口会把非对齐对齐 的数据传传送都转换转换 成对齐对齐 的数据传传送。连连接到 D-Code 总线总线 上的任何设备设备 都只需支持 AHB-Lite 的对齐访问对齐访问 ,不需要支持非对齐访问对齐访问 。 126.3 总线总线 接口系统总线统总线 :一条基于 AHB-Lite 总线协议总线协议 的 32 位总线总线 ,负责负责 在 0x2000_0000 0xDFFF_FFFF 和 0xE010_0000 0xFFFF_FFFF 之间间的所有数据传传送,取指和数据访问访问 都算上。和 D-Code 总总线线一样样,所有的数据传传送都是对齐对齐 的。136.3 总线总线 接口外部私有外设总线设总线 : 基于 APB 总线协议总线协议 的 32 位总线总线 。此总线总线 来负责负责 0xE004_0000 0xE00F_FFFF 之间间的私有外设访问设访问 。鉴鉴于此 APB 存储储空间间的一部分已经经被 TPIU、ETM 以及 ROM 表用掉了,就只留下了 0xE004_2000-E00F_F000 这这个区间间用于配接私有外设设。 146.3 总线总线 接口调试访问调试访问 端口总线总线 :调试访问调试访问 端口总线总线 接口是一条基于“增强型 APB 规规格”的 32 位总线总线 ,它专专用于挂接调试调试 接口,例如 SWJ-DP 和 SW-DP。 156.3 总线总线 接口其它接口:这这些接口的信号都不大可能会引出到引脚上,而只用于连连接 SoC 不同的部分。166.3 总线总线 接口信号组 功能 多处理机通信(TXEV, RXEV) 多处理机之间的简单任务同步信号 休眠信号 (SLEEPING, SLEEPDEEP) 电源管理所用的休眠状态 中断状态信号 (ETMINTNUM, ETMINTSTATE, CURRPRI) 中断操作的状态,用于ETM操作和调试 复位请求(SYSRESETREQ) 来自NVIC的复位请求输出 锁定(Lockup)和停机(Halted)状态 (LOCKUP, HALTED) 指示处理器进入了锁定状态(由在硬fault和 NMI服务 例程的执行错误导致),或者指示处理器被喊停(因 为调试动作导致) 端输入(ENDIAN) 在内核复位时设置端模式 ETM接口 连接到嵌入式跟踪宏单元(用于指令跟踪) ITM的ATB接口 高级跟踪总线(ATB)是ARM CoreSight调试 架构下的一个总线协议,用于跟踪数据的传送。 在这里,该接口负责把来自ITM的跟踪数据输出到TPIU 外部 PPB 接口是基于高级级外设总线设总线 (APB)协议协议 构造的。用于非共享的系统设备统设备 ,例如调试组调试组 件。为为了支持 CoreSight 设备设备 ,该该接口又包含了称为为 “PADDR31”的信号,给给出传传送的发发源地。若该该信号为为 0,则则表示是运行在 CM3 内部的软软件产产生了传传送操作;若为为 1,则则表示是调试调试 硬件产产生了传传送操作。该总线该总线 是专专用的,不服务务于普通的外设设。 176.4 外部私有外设总线设总线 (PPB)外部 PPB 不支持非对齐访问对齐访问 (因为该总线为该总线 的宽宽度是 32 位并且是基于 APB 的,当你在为该为该 存储储区域设计设计 外设时设时 ,必须须确保所有的寄存器地址都是按字对齐对齐 的)。在编编写这这些设备设备 的驱动驱动 程序时时,最好让让所有的访问访问 都使用字的长长度。PPB 访问访问 永远远是小端的。186.4 外部私有外设总线设总线 (PPB)196.5 连连接方式模型图 Cortex-M3总线连接样板范例 由于代码码存储储区既可以由指令指令总线总线 (I-Code)访问访问 (当从此区取指时时),也可以被数据总线总线 (D-Code)访问访问 (当在此区访问访问 数据时时),需要在中间间插入一个总线总线 开关,称为为“总总线线矩阵阵”;或者使用一个AHB总线总线 复用器。 如果使用了总线总线 矩阵阵,则闪则闪 存和附加的 SRAM(如果有的话话)可以被 I-Code和D-Code访问访问 。总线总线 矩阵阵可以在ARM的AMBA开发发包ADK(ADK,AMBA组组件和示例系统统的集合,使用VHDL/Verilog编编写)中提供。206.5 连连接方式模型通常的 CM3 单单片机都使用系统总线统总线 来连连接 SRAM。而且主 SRAM 确实应该实应该 使用系统总线统总线 来连连接。只有这样这样 才能落到 SRAM 存储储器的地址区,从而得以利用 CM3 的位带带操作能力。 有些脚数比较较多的单单片机会带带外部总线总线 接口(EMI)。这这种情况下,需要一个外部存储储器控制
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号