所需源文件:crt0.s(启动文件)、sdram_led_c.c(包含main函数和sdram初始化函数、时钟初始化函数)、sdram.lds(连接依赖文件,代码重定位连接定义)、makefile(一键编译)
启动从头文件开始,
首先是硬件配置,通知外设地址,设置外设大小
之后将看门狗关闭
之后bl进入clock_int,初始化时钟,HCLK=133MHZ
首先设置变频锁定时间,设置时钟模式为异步模式,等待异步模式设置成功
设置时钟线的分频系数,根据你需要的外设来,从晶振一直到最终的时钟输出,这里面只用到了HCLK所以只设置了DIV_ARM,DIV_HCLKX2,DIV_HCLK,DIV_PCLK.
设置锁相环的输出频率
是能锁相环,程序跳回。
具体配置如下:
首先是时钟图:
ARM时钟、AXI/AHB/APB时钟
去哪不用管,没用到
首先设置锁频时间
拉满,所谓锁频时间,即系统时钟不输出,等待输出时钟达到设定值的一段时间,如下图红框即为锁频时间:
没啥特殊情况就,拉满
第二步设置同步模式并选择时钟源
就给这个寄存器赋值[7:6]一个是同步模式一个是时钟源
设置之后查询该寄存器[11:8]看是否设置成功,成功了进行下一步设置锁相环PLL