全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com)
继续FPI总线相关寄存器的学习,上一次基本上是看了一下相应的实现以及功能的描述。这一次主要是直接看一下寄存器所实现的功能的具体描述。这样的信息有时候看起来很枯燥,不结合实际的应用看上去尤其难。因此,我只会看一个大概,看一下里面能够让我产生什么联想的部分描述。
这一部分信息看上去是非常熟悉的,因为在SRI的部分也有一个类似的描述。这里有一个ID的信息,可以让软件开发人员用来作为版本判断的依据。但是,ID数值本身的介绍也如同SRI一样没有一个明确的描述。
饥饿采样周期、超时周期、饥饿保护机制以及错误处理都可以选择性进行配置令其启动或者禁用。
这是优先级相关的寄存器,分为了两组。从表格的信息看,其实这个优先级的位域绑定的是MCU上具体的外设功能或者是内核。这里画出来的两部分,包含了2个CPU以及HSM这个内核模块。
这里有两个缩写我觉得比较熟悉,也就顺带画了出来。其中,ETH应该是以太网的意思。而HSSL,之前看DS文档的时候其实是简单了解过的。这个是一种通信方式,主要是用于片(MCU芯片)间高速通信的。
1. 这个MCU是一个三核的MCU,其中两个CPU的信息在上一个寄存器中已经看到了。这里是另一个CPU的优先级控制信息。
2. 结合两个表格来看,其实优先级寄存器的位域是划定了外设的信息的。也就是说,两者有固定的绑定关系。
3. 如果使能了SBCU_CON.DBG,那么就可以使能总线错误的捕获功能。至于捕获之后的FPI错误原因判断,是由软件来判断的。
4. 类似SRI的设计,FPI在出错的时候也是捕获保存地址以及数据两种信息。
5. 同样,与SRI相似的还有一点:相关的寄存器只报货出现的第一个错误。但是,在这方面FPI有与SRI不同的地方,那就是多了一个计数器用来记录到底有多少错误产生。
这里的两个寄存器分别是实现地址捕获以及数据捕获的两个功能的寄存器。
看到这里,才知道OCB是什么意思,其实是片上总线的意思,之前的猜测是没有问题的。看到这里之后,我又搜索了整个文档,发现其实也是我自己的记忆力不行,其实这个章节就是对这个缩写的解释。
OCB的Master TAG可以在调试的时候用以判断master的身份,并且可以支持多核调试。
如果SRI,FPI也有一个表格用来说明一些操作的基本的性能指标。不过,从功能了解的角度来看,我觉得暂且没有什么必要对此进行深入的研究。
这样,这一个章节基本上梳理到此就结束了。主要是片上总线系统的介绍,包含SRI以及SPB。对于软件开发来说,这些信息提供的内容不是很多,但是如果出现了什么异常问题有了这样的了解应该可以加速问题的定位以及判断。