IO使用、时钟、Cortex-A7 ArmV7介绍
Cortex-A7 有 9 种运行模式
/image.png)
CPSR寄存器
SPSR:当异常中断发生后将CPSR寄存器保存到SPSR寄存器中,在异常中断结束后,将SPSR寄存器恢复到CPSR寄存器中
其低5位可用于控制处理器模式/image-1740142881640.png)
CCM_CCGRx 使能io始终
/image-1740144765587.png)
IO复用
配置IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03第四位为5/image-1740144910651.png)
配置电气属性
配置IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO03/image-1740145252650.png)
配置io输入输出 GPIOx_GDIR
/image-1740146517022.png)
配置io电平 GPIOx_DR
/image-1740146556507.png)
时钟
主要从24Mhz晶振分出来7路时钟信号/image-1740223905043.png)
见下图/image-1740223824420.png)
从七路时钟信号导向不同的外设 见下图时钟树/image-1740224041225.png)
/image-1740224066179.png)
配置ARM主频为最大528MHz
/image-1740224879270.png)
配置CACRR[ARM_PODF]时钟,二分频
/image-1740225650605.png)
配置ARM_PODF为001/image-1740225699704.png)
配置CCM_ANALOG_PLL_ARM[DIV_SELECT]时钟,输出为pll1_main_clk
528 * 2 * 2 / 24 = 88/image-1740224857242.png)
配置PLL1时钟
在配置arm时钟前,需要通过GLITCHLESS MUX修改时钟为step_clk,通过CCSR: step_sel配置为0(24Mhz)晶振时钟/image-1740225292122.png)
配置PLL2 528Mhz PFD0-3
/image-1740229702156.png)
PLL3 480Mhz PFD0-3
/image-1740230853689.png)
其他外设时钟源
/image-1740231015050.png)
查表可知三者的最大时钟
/image-1740231101686.png)
配置时钟代码如下
1 |
|
