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

一、目的

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

        

二、介绍

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

        HPM6750系列--第十篇 时钟系统之资源节点详解_第1张图片

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

        resource寄存器说明 

HPM6750系列--第十篇 时钟系统之资源节点详解_第2张图片 

        HPM6750系列--第十篇 时钟系统之资源节点详解_第3张图片 

        资源节点的链式结构 

        HPM6750系列--第十篇 时钟系统之资源节点详解_第4张图片 

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

        上图中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。

        HPM6750系列--第十篇 时钟系统之资源节点详解_第5张图片

HPM6750系列--第十篇 时钟系统之资源节点详解_第6张图片 

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

三、实战

        

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

         

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

 

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

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

         

 

 

 

        

你可能感兴趣的:(HPM6750,HPM5300,嵌入式硬件,mcu,risc-v)