话题的展开

博主目前从事的工作主要是SoC/NoC(Network on Chip)相关,而工作的主要内容则是和各种各样的总线打交道,目前工业上比较常见也是我工作上最多使用的就是AMBA的APB、AHB和AXI了,但是我从未系统的对AMBA总线进行学习,学习道路上也是断断续续,偶尔遇到问题也需要考虑很久,最终还是得查阅文档或者上网进行确认。
因此,这里我想好好的重新学习一下AMBA总线,无论是之前接触的APB、AHB和AXI还有未来会接触到的ACE和CHI等。在接下来的时间里,我将会忘记我的曾经所学,从一张白纸开始学习官网文档,一行一行的写代码。

学习计划

目前我的学习计划也是分为两大部分,第一部分则是官网文档的学习,第二部分则是自己动手写代码,学习的过程一定要动手写代码这样才能更深入的学习协议,当然代码我会以虚拟项目的形式展开,只有实际的项目学习起来才不会枯燥无味。

学习路线

APB总线(23.08.02~)

APB作为AMBA最入门的协议常用于一些接口外设或IP的MMIO配置接口,因此此处的虚拟项目则以各种外设接口展开,参考资料可以参考电赛芯原杯的DSP,可以看到芯原的SOC有7个APB的外设,这里我们可以选择性参考。此外我想完善我的IP库,初步打算我希望我有自己的APB-Uart、APB-IIC、APB-SPI、APB-Timer和APB-GPIO。

芯原DSP

时间轴

2023-08-02:APB正式立项,下一阶段完成SPEC的强化巩固学习,正式的学习可以点击详细博客。