购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 总线接口

Cortex-M3结构图如图2.5所示。

图2.5 Cortex-M3结构图

从结构图中可以看出,处理器包含5个总线接口:ICode存储器接口、DCode存储器接口、系统接口、外部专用外设总线接口和内部专用外设总线接口。

● ICode接口

ICode接口是一个32位的AHB总线接口。从程序存储器空间(0x00000000~0x1FFFFFFF)取指和取向量都在这条总线上执行。只有CM3Core取指总线可以访问ICode接口,以获取最佳的代码读取性能。所有取指都是按字来操作的,每个字的取指数目取决于运行的代码和存储器中代码的对齐情况。

● DCode接口

DCode接口是32位的AHB总线。对程序存储空间(0x00000000~0x1FFFFFFF)的数据和调试访问都在这条总线上执行。内核数据访问的优先级比调试访问要高。因而当总线上同时出现内核和调试访问时,必须在内核访问结束后才开始调试访问。该接口的控制逻辑将不对齐的数据和调试访问转入两个或三个(这取决于不对齐访问的大小和对齐情况)对齐访问。这样就会停止接下来的所有数据或调试访问,直至不对齐访问结束。

● 系统接口

系统接口是32位的AHB总线。对系统存储空间(0x20000000~0xDFFFFFFF,0xE0100000~0xFFFFFFFF)的取指、取向量及数据和调试访问都在这条总线上执行。当该总线上同时出现上述访问时,仲裁顺序(按递减优先级)应该是:数据访问、取指和取向量、调试。

系统总线接口包含处理不对齐访问、FPB重新映射访问、bit-band访问,以及流水线取指的控制逻辑。

● 外部专用外设总线接口

外部专用外设接口是高级外设总线(APB)(AMBA v2.0)。对外部外设存储空间(0xE0040000~0xE00FFFFF)的数据和调试访问都在这条总线上执行。该总线不支持等待状态。TPIU和所有厂商特定的元件都在这条总线上。内核数据访问的优先级比调试访问要高,因此当该总线同时出现内核和调试访问时,调试访问必须等到内核访问结束后才能进行。该接口只支持译码外部PPB空间所必需的地址位。这些地址位是PADDR的位[19:2]。PADDR31在这条总线上被当做边带信号驱动。当PADDR31信号为高电平时,表示AHB-AP调试请求主机;当该信号为低电平时,表示内核请求主机。

对该总线的不对齐访问在结构上是不可预测的,且不被支持。处理器将来自内核的原始的HADDR[1:0]请求逐出,并且不会将该请求转换成多个对齐访问。

● 内部专用外设总线接口

处理器包含一条内部专用外设总线,用来访问嵌套向量中断控制器(NVIC)、数据观察和触发(DWT)、Flash修补和断点(FPB),以及存储器保护单元(MPU)。 aQKqwwbihPdedB6kdUwRu/luEnEMG6Oq4c4EnLNySahXwBAdZLxvjU9m8oVfhLqr

点击中间区域
呼出菜单
上一章
目录
下一章
×