OK6410系列初始化SDRAM并将代码拷贝到SDRAM中运行

这篇博客介绍了如何在OK6410平台上初始化SDRAM,并将代码复制到SDRAM中运行。内容涵盖时钟初始化、DRAM控制器配置以及DDR初始化的详细步骤,包括设置时钟源、时钟分频系数、存储器时间参数等,确保程序能够在SDRAM上正确执行。
摘要由CSDN通过智能技术生成

所需源文件: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时钟

去哪不用管,没用到

首先设置锁频时间

拉满,所谓锁频时间,即系统时钟不输出,等待输出时钟达到设定值的一段时间,如下图红框即为锁频时间:

https://i-blog.csdnimg.cn/blog_migrate/047cc229af05df454e40b696316d74bf.png

没啥特殊情况就,拉满

第二步设置同步模式并选择时钟源

就给这个寄存器赋值[7:6]一个是同步模式一个是时钟源

设置之后查询该寄存器[11:8]看是否设置成功,成功了进行下一步设置锁相环PLL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值