PPB(private periphery bus)是CM3(Cortex-M3)处理器的外部私有总线接口。
外部PPB 接口是基于高级外设总线(APB)协议构造的。用于非共享的系统设备,例如调试组件。为了支持CoreSight 设备,该接口又包含了称为“PADDR31”的信号,给出传送的发源地。若该信号为0,则表示是运行在CM3内部的软件产生了传送操作;若为1,则表示是调试硬件产生了传送操作。有了这个信号,外设就可以有选择地响应,比如:只响应调试硬件,或者再通融点:当软件发起数据传送时,限制一些功能。
该总线是专用的,不服务于普通的外设,这个规矩只能靠芯片设计者自觉遵守。如果设计者把通用的外设连接到该总线上,用户在使用芯片时就往往会遇到各种莫名其妙的问题——由特权访问管理造成。例如,在用户级下访问这些设备,或者在使用MPU 时把这些设备从其它的存储regions 中分开,都会遇到问题。
外部PPB 不支持非对齐访问。因为该总线的宽度是32 位并且是基于APB 的,当你在为该存储区域设计外设时,必须确保所有的寄存器地址都是按字对齐的。另外,在编写这些设备的驱动程序时,最好让所有的访问都使用字的长度。最后,PPB 访问永远是小端的。2100433B