嵌入式系统设计 嵌入式系统设计 裸机开发-C语言初始化系统时钟.docx

嵌入式系统设计 嵌入式系统设计 裸机开发-C语言初始化系统时钟.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
广东农工商职业技术学院 嵌入式系统设计课程 C语言初始化系统时钟 (1)确定任务 通过在 clock.c 中定义宏 PLL_OFF ,关闭PLL 的功能,实现LED 闪烁的频率将大大降低。 (2)S5PV210 时钟体系 S5PV210 中包含 3 大类时钟 domain,分别是主系统时钟 domain (简称 MSYS,下面将使用简称来进行相关讲解)、显示相关的时钟 domain (DSYS)、外围设备的时钟 domain (PSYS)。 1) MSYS:用来给 cortex a8 处理器,dram 控制器,3D,IRAM,IROM,中断控制器等提供时钟; 2) DSYS:用来给显示相关的部件提供时钟,包括 FIMC, FIMD, JPEG, and multimedia IPs; 3) PSYS:用来给外围设备提供时钟,如i2s, spi,i2c,uart 等 GEC210外接的晶振频率(简称 Fin)为 24MHz,通过时钟控制逻辑 PLL 可以提高系统时钟。 S5PV210 共有 4 个倍频器,即 PLL,包括 APLL(供 MSYS 使用),MPLL(供 DSYS 使用),EPLL(供 PSYS使用),VPLL(供 video 相关的时钟使用)。3 大类时钟domain 中,可以使用不同的分频,使其给不同部件输出所需要的时钟,各类时钟的关系如下图: 如何确定各类时钟的值,芯片手册上给出了参考值,我们按照参考值设置即可,各类时钟的参考值如下图: 图2 S5PV210时钟设置参考值图 具体如何设置上述各种各样的时钟,可参考下图: 图3 S5PV210 时钟设置参考图 该图十分重要,依据上图我们就可以设置好所有硬件部件所需的工作时钟。 (3)软件设计 完整代码见目录 6-clock_c。 1. start.S 在调用 main 函数之前,调用了时钟初始化函数 clock_init,进行时钟相关的设置。 .global _start _start: // 关闭看门狗 ldr r0, =0xE2700000 mov r1, #0 str r1, [r0] // 设置栈,以便调用c函数 ldr sp, =0 // 汇编初始化时钟 bl clock_init // 调用main函数 bl main halt: b halt 2. clock.c // 时钟相关寄存器 #define APLL_LOCK ( *((volatile unsigned long *)0xE0100000) ) #define MPLL_LOCK ( *((volatile unsigned long *)0xE0100008) ) #define APLL_CON0 ( *((volatile unsigned long *)0xE0100100) ) #define APLL_CON1 ( *((volatile unsigned long *)0xE0100104) ) #define MPLL_CON ( *((volatile unsigned long *)0xE0100108) ) #define CLK_SRC0 ( *((volatile unsigned long *)0xE0100200) ) #define CLK_SRC1 ( *((volatile unsigned long *)0xE0100204) ) #define CLK_SRC2 ( *((volatile unsigned long *)0xE0100208) ) #define CLK_SRC3 ( *((volatile unsigned long *)0xE010020c) ) #define CLK_SRC4 ( *((volatile unsigned long *)0xE0100210) ) #define CLK_SRC5 ( *((volatile unsigned long *)0xE0100214) ) #define CLK_SRC6 ( *((volatile unsigned long *)0xE0100218) ) #define CLK_SRC_MASK0 ( *((volatile unsigned long *)0xE0100280) ) #define CLK_SRC_MAS

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
内容提供者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

认证主体巩**

1亿VIP精品文档

相关文档

相关课程推荐