S3C6410时钟分析(蜗牛我的原创)
来源:互联网 发布:我的世界服务器开挂js 编辑:程序博客网 时间:2024/06/05 09:02
简单分析.S 文件理解开机过程
/***********************************************************************************************************************************************************************/
.globl _start
/***********************************************************************************************************************************************************************/
.globl _start
_start:
/*硬件相关设置*/
/* Peri port setup */
ldr r0, =0x70000000
orr r0, r0, #0x13
mcr p15,0,r0,c15,c2,4 @ 256M(0x70000000-0x7fffffff)
/*关看门狗*/
ldr r0, =0x7E004000
mov r1, #0
str r1, [r0]
上面这些都是套路,设置硬件告诉CPU 外部RAM在哪,关闭看门狗。
/***********************************************************************************************************************************************************************/上面这些都是套路,设置硬件告诉CPU 外部RAM在哪,关闭看门狗。
#define OTHERS 0x7e00f900
ldr r0,=OTHERS
ldr r1,[r0]
bic r1,r1, #0xc0
str r1,[r0]
loop1:
ldr r0,=OTHERS
ldr r1,[r0]
and r1,r1,#0xf00
cmp r1,#0
bne loop1
0: Asynchronous mode, MPLL作为HCLK PCLK等的时钟源 1: Synchronous mode APLL作为HCLK PCLK等的时钟源
0: Asynchronous mode, MPLL作为HCLK PCLK等的时钟源 1: Synchronous mode APLL作为HCLK PCLK等的时钟源
/***********************************************************************************************************************************************************************/
#define ARM_RATIO 0
#define HCLKX2_RATIO 1
#define HCLK_RATIO 1
#define PCLK_RATIO 3
#define MPLL_RATIO 0
ldr r0,=0x7E00F020
ldr r1,=(ARM_RATIO)|(MPLL_RATIO<<4)|(HCLK_RATIO<<8)|(HCLKX2_RATIO<<9)|(PCLK_RATIO<<12)
str r1,[r0]
CLK_DIV0 0x7E00_F020 读/写 选择时钟分频器的比例。
上面这些是设置 选择时钟分频器的比例 ,就是时钟框图中右面那些DIVDE
/***********************************************************************************************************************************************************************/
/*设置ARMCLK*/
ldr r0, =0x7E00F00C /*FOUT_APLL = 533 APLL_EN = 1<<31, MDIV = 266<<16, PDIV = 3<<8, SDIV = 1*/
ldr r1, =0x810a0301
str r1, [r0]
#define MPLL_CON_VAL ((1<<31)|(266<<16)|(3<<8)|(1))
ldr r0,=0x7E00F010
ldr r1,=MPLL_CON_VAL
str r1,[r0]
上面这些是设置MPLL 和APLL 的倍频,就是把12M晶振提供的时钟进行倍频,经过后期分频提供给片上系统
/***********************************************************************************************************************************************************************/
ldr r0,=0x7E00F01C
ldr r1,=0x03
str r1,[r0]
时钟发生器框图中说有选择门都是由这个寄存器控制的 CLK_SRC 0x7E00_F01C 上面是时钟选择,框图上绝大多数的选择门都是通过这个寄存器控制的
/***********************************************************************************************************************************************************************/
ldr sp, =8*1024
bl main
halt:
b halt
程序结束。
程序结束。
0 0
- S3C6410时钟分析(蜗牛我的原创)
- S3C6410的时钟频率
- S3C6410的时钟频率
- s3c6410的时钟初始化
- 我的蜗牛观!
- OK6410(s3c6410)时钟系统
- ARM软件访问硬件的核心理论(2.1)---S3C6410 时钟分析
- ARM软件访问硬件的核心理论(2.1)---S3C6410 时钟分析
- 深入理解ARM体系架构(S3C6410)---S3C6410系统时钟
- s3c6410硬件RTC(实时时钟)
- Acm 蜗牛!快爬!我的方法
- S3C6410 SPI全双工读写流程分析(原创)
- S3C6410 时钟初始化
- S3C6410 时钟初始化
- S3C6410 时钟初始化
- S3C6410 系统时钟介绍
- S3C6410 时钟初始化
- s3c6410 裸机----时钟
- 假期ACM训练计划表
- 图文解说:Nginx+tomcat配置集群负载均衡
- Android搜索建议(搜索联想)
- 使用easyui-combobox的data属性加载定义好在*.js文件中的JSON数据的问题
- Tomcat Context reload 与 OutOfMemory(PermSpace)
- S3C6410时钟分析(蜗牛我的原创)
- php +ajax +sql 实现数据交互
- js实现继承的几种方法
- 因命名不规范,耗了3个小时
- Smart Client Software Factory 模块说明(上)
- zstu 3125(线段树)
- [BZOJ1066]SCOI2007蜥蜴|最大流
- string 分隔字符串
- ASP.NET#LinqDataSource控件配置对象模型时遇到的问题