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个根时钟,为后续外设工作提供个时钟频率

相关推荐
大哥您好4 小时前
QEMU 11.1.2 多架构编译指南(x86_64 / aarch64 / riscv64)
linux·服务器
我是伪码农4 小时前
百蝶杯学习
学习
keyipatience5 小时前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
道满科技5 小时前
Function Calling 参数总出错?只修参数就行
linux·windows·python
Android系统攻城狮5 小时前
Linux Gstreamer深度解析之gst_audio_ring_buffer_prepare_read调用流程与实战(七十四)
linux·运维·服务器·gstreamer音视频·音视频进阶
我科绝伦(Huanhuan Zhou)6 小时前
Linux 通用压力测试脚本合集:磁盘 + 网络
linux·网络·压力测试
xian_wwq6 小时前
【学习笔记】Milvus 如何完成一次向量相似度检索,Milvus 索引到底应该怎么选?-15
笔记·学习·milvus
Hhuhkt6 小时前
3D 云养宠小游戏
学习
Soneswy8 小时前
Linux系统篇--重定向与文件操作命令
linux
有毒的教程8 小时前
Linux底层存储路由配
linux·运维·网络