ARM --- day 6 时钟

1. PLL、Prescaler、PFD的作用分别是什么?

时钟设置:

PLL:phased locked loop,锁相环(倍频) 24MHZ*N(N是整数)

Prescaler:预分频器(分频) 24MHZ*M(M是整数)

PFD:phased fraction divder,相位分数分频器(倍频/降频)

24MHZ*(N/M) N/M>1:倍频 N/M<1:降频 (N、M是整数)

2. SOC时钟配置你做了哪些工作?

1.配置ARM的时钟为528MHZ,使得CortexA7内核工作在528MHZ频率下

2.配置PLL2和PLL3下的8个PFD

3.配置3个根时钟,为后续外设工作提供个时钟频率

3. GIC支持多少个优先级?IMX6ULL中支持多少个优先级?

GIC支持1020个优先级;IMX6ULL中支持160个优先级。

其中0-15是软中断SGI

16-31是私有中断PPI

32-1020是共享外设中断SPI

4. 完善时钟代码,根据时钟树理解ARM、PFD、三个根时钟配置过程

1.配置ARM的时钟为528MHZ,使得CortexA7内核工作在528MHZ频率下

对于ARM时钟(没有时钟门)来说,填入倍频因子,PPL1到达一个特别高的频率,到达ARM内核里,频率的极具升高会导致ARM内核死机。所以,操作:先让ARM内核工作在step_clk下:先工作在一个比较低的频率下(时钟源选osc_clk:24MHZ)

  1. 先选择osc_clk,让step_clk为24MHz。

  2. 再将PLL1的输出改成step_clk,让ARM暂时工作在24MHz;

设置好倍频因子,PPL1就是1056MHZ ,等到这个频率,经过一个二分频,到达528MHZ之后,工作频率稳定之后,再切换到pll1_main_clk,ARM可以比较稳定的工作在528MHZ下

  1. 配置PLL为1056,注意设置倍频因子之前先把PLL之后的二分频设置好,

避免ARM内核故障!!

  1. 最后改回pll1_main_clk

2.配置PLL2和PLL3下的8个PFD

3.配置3个根时钟,为后续外设工作提供个时钟频率

相关推荐
上学的小垃圾3 小时前
基于docker安装MySQL(openEuler系统)
linux·mysql·docker·容器
小淮AI3 小时前
从“刷题”到“追问”:AI课堂正在重塑哪些学习旧习惯?
人工智能·学习
wixzjsh4 小时前
TCP通信与HTTP协议学习笔记:粘包、三次握手、四次挥手与C/S、B/S模型
学习·tcp/ip·http
ZhiMuZhiLing4 小时前
拓客软件学习成本实测方法论:从注册到出第一批名单要多久
学习·流量运营·用户运营
一直C4 小时前
Linux网络编程|HTTP协议详解(报文、请求方法、状态码)
linux·http·wireshark·vim·visual studio
程序员大雄学编程5 小时前
微积分46. 无穷级数四大核心性质:从理论到实践的全方位解析
python·学习·微积分·学习工具
Brilliantwxx7 小时前
【Linux】 进程(10) 进程控制深度解析:创建、终止与等待
linux·运维·服务器·c语言·开发语言·网络
指针常量7 小时前
【RL系列文章】难样本学习等
学习·大语言模型·rl·后训练
wuyk5557 小时前
从零吃透Modbus通信|第7章:终极工程整合(模块化架构、双模式主机从机、RTOS适配、量产级模板)
c语言·stm32·学习·架构
欧米欧7 小时前
Linux基础指令上
linux·运维·服务器