首页 理论教育Cortex-M4系统总线接口-嵌入式系统应用

Cortex-M4系统总线接口-嵌入式系统应用

【摘要】:Cortex-M4处理器采用哈佛结构,为系统提供了3套总线,这3套总线可以同时独立地发起总线传输读写操作。I-Code总线:用于访问代码空间的指令。内核中包含的3个字的预取指缓存可以用来缓存从I-Code总线上取得的指令或拼接32位指令。系统总线也是一条基于AHB-Lite总线协议的32位总线,它是内存访问指令、数据,以及调试模块的访问接口。同D-Code总线一样,所有的非对齐访问会被系统总线分割为几个对齐的访问。

Cortex-M4处理器采用哈佛结构,为系统提供了3套总线,这3套总线可以同时独立地发起总线传输读写操作。

(1)I-Code总线:用于访问代码空间的指令。

(2)D-Code总线:用于访问代码空间的数据。

(3)系统总线:用于访问其他系统空间。

I-Code总线是一条基于AMBA高性能总线协议(AHB-Lite)的32位总线,是取指令的专用通道,只能发起读操作(写操作被禁止),可提升系统取指令的性能。I-Code总线每次取一个字(32位),可能是一个或两个16位指令,也可能是一个完整的或部分的32位指令。内核中包含的3个字的预取指缓存可以用来缓存从I-Code总线上取得的指令或拼接32位指令。(www.chuimin.cn)

D-Code总线也是一条基于AHB-Lite总线协议的32位总线,是取数据的专用通道。该总线既可以用于内核数据访问,也可以用于调试数据访问。任何在内核空间读写数据的操作都在这个总线上发起,且内核相比调试模块有更高的访问优先级。数据访问可以单个读取,也可以顺序读取。非对齐访问会被D-Code总线分割为几个对齐的访问。

系统总线也是一条基于AHB-Lite总线协议的32位总线,它是内存访问指令、数据,以及调试模块的访问接口。访问的优先级为数据最高,其次为指令和中断向量,调试接口访问优先级最低。访问位段(Bit-Band)的映射区会自动转换成对应的位访问。同D-Code总线一样,所有的非对齐访问会被系统总线分割为几个对齐的访问。

私有外设总线(Private Periphery Bus,PPB)是基于高级外设总线协议(Advanced Peripheral Bus,APB)的32位总线,挂接了系统内部的调试模块跟踪点接口单元(Trace Point Interface Unit,TPIU)、嵌入式跟踪宏单元(Embedded Trace Macrocell,ETM)、ROM表等,芯片商也可挂接自己的私有外设。DAP(Debug Access Point)是调试访问端口总线,也是基于APB总线协议的32位总线,用于调试端访问内部资源。PPB和DAP总线都是用于调试和保留的一些总线,一般不供用户代码访问。