正点原子-Linux嵌入式开发学习-第二期06

第十四讲:主频和时钟配置

分析一个芯片的时钟,肯定先知道它的时钟来源,一般来源于外部晶振,内部晶振很少使用

时钟来源分析

RTC的时钟并不是其他外设的晶振来源

 

 24MHz 晶振是 I.MX6U 内核和其它外设的时钟源,也是我们重点要分析的

24MHZ晶振是源头,用于不同外设的所需频率不一样,因此24MHZ会经过不同的路径,像STM32的时钟树一样,分频、倍频处理从而得到不同的频率

7 组 PLL

I.MX6U 的外设有很多,不同的外设时钟源不同, NXP 将这些外设的时钟源进行了分组,一共有 7 组,这 7 组时钟源都是从 24MHz 晶振 PLL 而来的,因此也叫做 7 组 PLL。

因此我们根据不同的外设选择不同的PLL即可,并且进行相应的配置

时钟树

每一个芯片的手册中都存在着时钟树,初学时的STM32也存在,时钟树的作用就是配置相应外设不同的时钟频率,因此如果想知道和配置时钟相关知识的话,时钟树的解析步骤是必不可少的,但是注意的是:不能仅仅只看时钟树,还需要看时钟的其他知识,都在手册中有,当你拿了一块芯片使用的时候,你需要把时钟部分基本全部看完,否则你配置时钟的时候,会出现很多问题

下图为时钟树的理解,主干是外部晶振,树干是外设

 6ULL时钟树分析

分析方法:选择我们需要配置的外设,然后从后面向前面推即可,目的---源

 外设时钟分析

 需要初始化的时钟PLLX

分析时钟树可得,大量的外设是挂在PLL1、PLL2及PFD、PLL3及PFD上,因此我们初始化时钟的时候,需要初始化这些时钟,而需要配置的时钟为多少,可以根据时钟树配置,PPL1-996M

PLL2-528,但其实官方的手册中存在推荐的默认范围,自己选择即可其实,频率越大,性能越强,功耗也越大

我们初学的时候,我们自己并没有初始化,是因为启动代码帮我们初始化了

内核时钟设置

PLL1的可设范围为650MHZ-1.3GHZ

上面的/2表示分频,也可以配置为其他分频系数,后面的/2是没有用的。

因此如果我们想配置528MHZ,那么有两种方式,PLL1 = 528 * 2; 2分频

PLL1 = 528MHZ,1分频

寄存器CACRR--可以知道分频系数的选择,它上面标/2,不要以为只能设置为2分频 

 注意点

更改内核时钟频率,相当于人体换心脏,那我是不是应该在换心脏的时候,有一个备用的机械心脏在运行,不然在换的时候,命就没有了,因此我们需要在更改内核时钟频率的时候,基于芯片一个备用的内核时钟

 时钟配置总结

关于一个芯片的时钟配置,手册部分的阅读必不可少,只要你详细看手册的话,就可以成功配置时钟,配置时钟的方式就是配置寄存器的值,因此这里就涉及到了另外一种能力---芯片手册阅读能力

第15讲:Cortex-A中断

初学STM32的时候,使用的是M3系列的芯片,而对于不同内核的芯片,其中断也会有所不同。

其A系列的中断会更加复杂

Cortex-M 内核有个中断系统的管理机构—NVIC,Cortex-A 内核的中断管理机构叫做 GIC,全称是 general interrupt controller

STM32中断向量表

中断向量偏移 

 

 Cortex-A7中断系统简介

 可以发现A7只有8个中断向量,而我们常见的中断是归IRQ中断管理,有点像HAL库的回调函数一样,15个EXTI中断都被一个回调函数管理

 学STM32的时候,中断向量表ST公司帮我们写好了,但是IMX6ULL的这个A7的中断向量表没有帮我们写好,因此我们需要自己写中断向量表

 

总结

后面听不懂了,总结太难了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值