cortex m0+是冯诺依曼架构,只有一个AHB master接口,但它也提供了内置于CPU core的单周期I/O口,这个I/O口和AHB类似,但是地址阶段和数据阶段是在同一周期内完成(所以应减少接口的负载,以避免时序过差),同时,需要一个外部译码电路判断内核输出的地址是否是预设的地址范围(这一范围由SOC设计者自己决定,但不能是以0xe开头,因为它们属于系统控制空间(SCS)。这一接口可以被处理器/调试器(debugger)进行读/写访问,提高了外设/PAD访问的速度。要使用这一I/O口,在进行CPU集成时,要把IOP这一configuration parameter配置为1.
下图几张图分别为ARM文档中对这一I/O口的解释
及其对应的波形图。
在arm提供的ip中,也包括了基于AHB的GPIO IP。
某些应用下,软件会直接操作GPIO,以代替专门的硬件电路实现通讯的功能,被称为bit banging,单周期IO的特性为bit banging提供了便利。
参考文章:Cortex-M0+到底“+”了什么
Cortex-M0+_IntegrationAndImplementationManual