HPM6750系列--第十篇 时钟系统之资源节点详解

发布时间:2023年12月19日

一、目的

? ? ? ? 在上一篇《HPM6750系列--第十篇 时钟系统》我们仅粗略讲解了一下资源节点相关内容,本篇会从代码角度详解讲解一下资源节点的相关内容。

????????

二、介绍

????????在系统电源域中,各种能够被开启或关闭的节点称为资源节点 (resource),包括各功能模块、功能时钟、子系统电源和复位、时钟源等,如下图所示:

????????

? ? ? ? 上图是调试窗口查看SYSCTL外设resource寄存器组相关信息。

? ? ? ? resource寄存器说明?

?

?????????

? ? ? ? 资源节点的链式结构?

?????????

? ? ? ? 下游资源节点依赖中游资源节点,中游资源节点又依赖上游资源节点,中上游资源节点可以根据下游资源节点的请求自动打开和关闭,也强制保持打开。?

? ? ? ? 上图中ENET0和SDXC0都依赖CLK_TOP_AXI,如果ENET0关闭,CLK_TOP_AXI会收到关闭请求,但是因为SDXC0也依赖CLK_TOP_AXI,故CLK_TOP_AXI就保持打开,如果后续SDXC0也请求关闭,CLK_TOP_AXI才会关闭。这就是链式结构的自动开关机制。

? ? ? ? 功能模块与处理器的连接

????????中游和上游资源节点工作在自动模式时,会根据其下游节点的请求自动执行开启和关闭,而下游的功能模块资源节点工作在自动模式时,则能够根据处理器的状态执行开启和关闭。

????????SYSCTL 􏰀供两个连接组 (link group 0/1) 用来将功能模块与处理器连接起来,通常 CPU0 使用 group0,CPU1使用 group1。

????????

?

? ? ? ? 上图中如果设置ENET0、SDXC0工作在自动模式,那么当CPU0进入等待或者休眠状态时,ENET0也会自动进行休眠状态,SDXC0只有CPU0/1都进入等待或者休眠状态才会进入休眠。

三、实战

????????

cd ~/workspace/work/hpm/hello_world
code .

?????????

? ? ? ? 上图中将各个外设时钟添加到资源组0,然后资源组0和CPU0绑定

?

? ? ? ? 上图中将clock_uart0添加到资源组0中。

? ? ? ? 以上就是HPM6750资源节点基本内容,涉及到资源节点定义、链式结构、自动开关、CPU绑定。?

?????????

?

?

?

????????

文章来源:https://blog.csdn.net/tianizimark/article/details/135078766
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。