再上一篇:16.5 跟踪组件:跟踪端口接口单元(TPIU)
上一篇:16.6 闪存地址重载及断点单元(FPB)
主页
下一篇:16.8 ROM 表
再下一篇:第17章
文章列表

16.7 AHB 访问端口

《Cortex-M3 权威指南》,嵌入式处理器开发教程。

AHB-AP位于CM3的存储器系统和调试接口模块(SWJ-DP/SW_DP)之间,充当一个总线桥的角 色。对于大多数基本的在调试主机和CM3系统之间的数据传输,只需要使用AHB-AP中的3个寄存器, 它们是:

 控制及状态字(CSW)
 传输地址寄存器(TAR)
 数据读/写(DRW)

AHB-AP的连接方法如图16.4所示:


图16.4 在Cortex-M3中AHB-AP的连接

CSW寄存器可以控制传送方向(读/写)、传送大小以及传送类型等。TAR寄存器则指令传送地址, 而DRW寄存器则容纳了被传送的数据(在访问该寄存器时就启动了传送)。DRW中的数据与总线上实 际显示的是一致的,所以对于半字和字节传送,必须由调试硬件把得到的数据适当移位,以对齐到 LSB。例如,若欲在地址0x1002上执行一次半字传送,则需要把数据放到DRW的[31:16]上。AHB-AP 可以产生非对齐传送,但是它不会根据地址偏移来自动对目标数据做圆圈移位,必须由调试软件堵 上这个窟窿:要么手工圆圈移位,要么把未对齐访问分解为若干个对齐的访问。

在AHB-AP中还有其它的寄存器,它们提供附加的功能。例如,AHB-AP中提供了4个bannked寄 存器和地址自动增量的功能,用于加快在小范围连续地址中数据访问的速度。
在CSW寄存器中,还有一个名为MasterType的位。通常需要把它置1,以此告知参与AHB-AP数 据传送的硬件:该数据传送是调试器发起的。但是,调试器也可以清零此位来伪装成处理器内核。 这样,在AHB上接收数据的硬件就会以为是内核发起的数据传送,从而正常地动作。这个功能可以 用于测试目的,尤其是对于带有FIFO的外设,用于获知当它被调试器访问时,行为有什么不同。