本章描述了Exynos 4412 SCP的时钟管理单元(CMUs)。在Exynos 4412 SCP中,CMUs控制相位锁相环(PLLs),并为CPU、总线和单个ip的功能时钟生成系统时钟。它们还与电源管理单元(PMU)通信,以便在进入某些低功耗模式之前停止时钟,从而通过最小化时钟切换来降低功耗。

7.1时钟域

在Exynos 4412 SCP中,它将函数块彼此异步计时,以提供更广泛的操作频率选择。它还简化了物理实现。

  • CPU块由Cortex-A9 MPCore处理器、L2缓存控制器和CoreSight组成。它的工作电压为0.875 V-1.30 V。Cortex-A9 MPCore的工作频率为200MHz - 1.4 GHz,核心视程时钟最高可达200MHz。CPU块中的CMU (CMU CPU)为CPU块中的ip生成所有必要的时钟。它还为Cortex-A9 MPCore产生一定的控制信号。
  • DMC块由DRAM内存控制器(DMC)、安全子系统(SSS)和通用中断控制器(GIC)组成。DMC块中的CMU (CMU_DMC)生成400mhz DRAM时钟,200mhz与DRAM时钟同步的AXI总线时钟,100MHz时钟用于寄存器访问。它还为加速器相干端口(ACP)总线生成200mhz时钟,用于内存相干性检查并连接CPU和SSS总线主机。
  • 左总线和右总线块包含全局数据总线,它们的时钟频率为200mhz。全局数据总线在DRAM和各个子块之间传输数据。它还包含以100兆赫兹为时钟的全局外围总线。您可以使用100mhz时钟进行寄存器访问。
  • CMU TOP为所有剩余的功能块生成时钟,包括G3D、MFC、LCDO、ISP、CAM TV。FSYS, MFC, GPS, MAUDIO, danger和PERIR。它生成运行在400 / 200 / 160/ 133/ 100 MHz的总线时钟。它还生成各种特殊的时钟来操作Exynos 4412 SCP中的IPs
  • 另外,异步总线桥接被插入到两个不同的功能块之间。

做串口的时候所用时钟,时钟源还为外围总线提供时钟源

硬件来说,一共有三种:锁相环、选择器、分频器。

PLL结尾的:锁相 环,用于倍频

DIV:分频器

例如:

核心板中可以找到相应引脚:

APLL_CON0中:

MDIV [25:16] RWX PLL M Divide Value 0xC8
PDIV [13:8] RWX PLL P Divide Value 0x6
SDIV [2:0] RWX PLL S Divide Value 0x1

锁相环与时钟管理相关配置表:

以串口时钟为例分析:

回到第七章去找

我想从后往前找,看它的分频因子是多少,

试着搜索 divuart0后:

开始验证:

打印:

结果:

低四位 = 7

MOUTUART0 / (UART0_RATIO + 1) = MOUTUART0  / (7 + 1)

MOUTUART0取决于 八位选择器的输出 ,存在于与这个寄存器相关的某一个区域:搜索MUXUART0

结果:

我们打印这个寄存器的值:

结果:

选择的时钟源即为:SCLKMPULL_USER_T

打印第四位,查看结果:

结果:

下面打印一下

结果:

找完一圈,找到了

即,800 / 8 = 100 MHz

至此,分析出了UART的时钟源为100MHz

注意:以上是在bootloader层面去验证,如果从事bootloader的设计的话,要自己设置这些寄存器得到想要的时钟频率。

exynos4412—CMU裸板复习的更多相关文章

  1. exynos4412—UART裸板复习

    我们通过RS232来做实验. 通过电平转换芯片, 连接至核心板: 即:GPA0_0  GPA0_1     配置引脚为串口专用模式: 然后看 ULCONn  [31:0]       0x3 设置串口 ...

  2. S5PV210裸板驱动:启动

    以往2440和6410的启动方式,只要我们把裸板代码烧写到NAND FLASH的开始位置,当开发板上点启动时,处理器会自动从NAND FLASH上拷贝前面一段的代码到内部的RAM中执行.按照以前的方法 ...

  3. 嵌入式 hi3518c裸板uboot烧写、kernel烧写、fs烧写小结

    1.在uboot中我可以添加自己的命令,添加的方法是找到一个uboot的命令,然后模仿着去增加属于自己的命令代码以及实现函数就可以 2.记住在使用printf进行调试的时候,在遇到指针或者字符串的时候 ...

  4. 裸板驱动总结(makefile+lds链接脚本+裸板调试)

    在裸板2440中,当我们使用nand启动时,2440会自动将前4k字节复制到内部sram中,如下图所示: 然而此时的SDRAM.nandflash的控制时序等都还没初始化,所以我们就只能使用前0~40 ...

  5. uboot-tiny4412启动流程(下)----如何将自己的裸板测试程序加入uboot中启动测试

    今天在工作上搞了一天高通的芯片uboot程序,目的是希望将一个裸板的程序移植到uboot中,并且开机让它运行.这个芯片是NXP4330,目前是高通的一个芯片,基于ARM-contexA9架构,那么就跟 ...

  6. 关于在arm裸板编程时使用printf问题的解决方法

    在ARM裸板驱动编程中,是不允许程序直接调用C库程序的.为什么呢?因为此时kernel还没有被加载,所以在封装在kernel层的C库的API是用不了的,那怎么办? 在开发过程中,printf的功能我不 ...

  7. 【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42239705  参考博客 : [嵌入式开发]嵌入式 开发环境 (远 ...

  8. [转载非常好的文章]JLink+GDBServer调试S3C6410裸板的初始化代码 For OK6410开发板

    要调试裸板,有两种初始化方法,一个是用烧好的uboot初始化,再有就是直接用JLink+GDBServer初始化.代码参考了网上的资料,根据手头的OK6410开发板做了修改.整体代码如下: # Con ...

  9. Mini2440 通过 SPI 操作 OLED (裸板下使用 SPI 控制器)

    在裸板下使用 SPI 的话,有两种方法可选: 使用 IO 口模拟 SPI 进行操作 使用 SPI 控制器进行操作 这里我们选用控制器的方式,简单方便. 初始化 SPI static void SPIC ...

随机推荐

  1. java笔记--ASCII编码认知和转换

    ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示英语字符是当今最通用的单字节编码.包括128个字符. --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs. ...

  2. Java中执行.exe文件

    public static void main(String args[]){ try { String command ="notepad"; // 笔记本 Process ch ...

  3. Angular5中提取公共组件之checkbox list

    因为工作原因,需要使用到checkbox list多选项功能. 一直在尝试在checkbox组件中添加NgModel的属性,但是只能在单个checkbox复选框上使用,checkbox list就没办 ...

  4. Django路由系统---django重点之url命名分组

    django重点之url命名分组[参数无顺序要求]. settigs.py:增加STATICFILES_DIRS静态资源路径配置,名称为创建的文件夹名称 'DIRS': [os.path.join(B ...

  5. webbench 网站压力测试

    [root@localhost ~]# webbench -c 500 -t 4 http://172.24.61.41/Webbench - Simple Web Benchmark 1.5Copy ...

  6. Linux命令--用户管理

    useradd命令 Linux useradd命令用于建立用户帐号. useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号.使用useradd指 ...

  7. charles license key

    Download: http://www.charlesproxy.com/ (Official Web-site) Registered name: anthony ortolani License ...

  8. ios 性能优化概述

    在开发IOS程序的时候,不止是简简单单的把代码堆砌起来,或者说有一个比较好的架构,程序就ok的.还需要在程序性能上进行优化.所谓优化,并非只是简单的优化几个算法,让程序看起来跑的更快.优化是有目标的, ...

  9. SOJ 4590 简单模拟

    Description Gandtom把家搬到了一个交通便利的地方.今天来通知他的朋友Sidney,但是Sidney好像不在家,出门了,敲门没有人开门.  于是Gandtom把家里的地址写了下来.他担 ...

  10. [HNOI2003]多边形

    嘟嘟嘟 也是一道半平面相交板子题. 比较好的处理方法是先把原图形全部加入答案,然后在一条边一条边切. 然而第一个点全网(当然包括我)都没过,我最后也只能固输了-- #include<cstdio ...