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 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
未济4 天前
linux 配置环境变量
linux
傲世仙尊4 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
XiHongShi20164 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱吃苹果的日记本4 天前
离散数学第六课
学习·离散数学
_艾伦 耶格尔.4 天前
进程间通信
linux
AI职业加油站4 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
旖旎夜光4 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
Liuqy-054 天前
Linux IO编程——静态库、动态库
linux