tq2440开发板基本配置

时间:2022-03-12 21:13:11
  • 时钟配置及分配

tq2440的晶振频率是12MHz,在uboot中有如下语句:

 

#define S3C2440_CLKDIV        0x05    /* FCLK:HCLK:PCLK = 1:4:8, UCLK = UPLL */        //HJ 100MHz

#define S3C2440_UPLL_48MHZ    ((0x38<<12)|(0x02<<4)|(0x02))                        //HJ 100MHz

/* Fin = 12.0000MHz */

#define S3C2440_MPLL_400MHZ    ((0x5c<<12)|(0x01<<4)|(0x01))                        //HJ 400MHz

 

 

void clock_init(void)

{

    S3C24X0_CLOCK_POWER *clk_power = (S3C24X0_CLOCK_POWER *)0x4C000000;

 

    /* FCLK:HCLK:PCLK = ?:?:? */

 

    clk_power->CLKDIVN = S3C2440_CLKDIV;                //HJ 1:4:8

 

    /* change to asynchronous bus mod */

    __asm__(    "mrc    p15, 0, r1, c1, c0, 0\n"    /* read ctrl register   */  

                    "orr    r1, r1, #0xc0000000\n"      /* Asynchronous         */  

                    "mcr    p15, 0, r1, c1, c0, 0\n"    /* write ctrl register  */  

                    :::"r1"

                    );

 

    /* to reduce PLL lock time, adjust the LOCKTIME register */

    clk_power->LOCKTIME = 0xFFFFFF;

 

    /* configure UPLL */

    clk_power->UPLLCON = S3C2440_UPLL_48MHZ;        //fin=12.000MHz

 

    /* some delay between MPLL and UPLL */

    delay (4000);

 

    /* configure MPLL */

    clk_power->MPLLCON = S3C2440_MPLL_400MHZ;        //fin=12.000MHz

 

    /* some delay between MPLL and UPLL */

    delay (8000);

}

从上面的配置可以看到,与时钟相关的几个寄存器的配置值:

tq2440开发板基本配置

tq2440开发板基本配置

配置的值是:

MOLLCON = 0x5C011

UPLLCON = 0x38022

tq2440开发板基本配置

tq2440开发板基本配置

其中,Mpll就是FCLK  UPLL就是UCLK

tq2440开发板基本配置

配置的值是:0x05

tq2440开发板基本配置

该寄存器没有配置,所以是初始值,也就是全0。

综上,FCLK:HCLK:PCLK = 1 : 4 : 8

Mpll(FCLK) = (2 * (0x5c+8) * 12M)/((1+2) * 2) = (2*100*12M)/(6) = 400MHz

UPLL(UCLK) = ((0x38+8)*12M)/((2+2)*2^2) = (64*12M)/(16)=48MHz

所以,FCLK=400MHz   HCLK=100Hz    PCLK=50MHz

tq2440开发板基本配置

从上图可以看到系统中FCLK、HCLK、PCLK以及UCLK是如何分配给外设的。

其实也可以从系统的启动信息看出:

tq2440开发板基本配置

tq2440开发板基本配置的更多相关文章

  1. TQ2440开发板网络配置方式

    一.命令行模式 1.设置IP.子网掩码(netmask) #ifconfig eth0 <IP地址> netmask <子网掩码> up up 表示开启网卡eth0,可以不加 ...

  2. 运行在TQ2440开发板上以及X86平台上的linux内核编译

    一.运行在TQ2440开发板上的linux内核编译 1.获取源码并解压 直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包. 解压(天嵌默认解压到/opt/E ...

  3. 基于TQ2440开发板的WiFi模块的使用经验总结

    一.软.硬件资源准备: 内核版本:linux-2.6.30.4 交叉编译器版本:4.3.3 wpa_supplicant工具:wpa_supplicant-0.7.3.tar ; openssl-0. ...

  4. TQ2440开发板存储器

    TX2440A与TQ2440A开发板使用核心板完全相同 有过51单片基础的同学应该都会看懂下图,先看下图,对实验板存储器分布有一个整体印象: s3c2440存储器概述: 1.S3C2440A的存储器管 ...

  5. TQ2440开发板挂载U盘出现乱码

    解决方法:配置内核 make menuconfig File Systems --->      DOS/FAT/NT Filesystems  --->         (utf8) D ...

  6. zynq开发板外设配置演示

    有幸得到米尔电子zynq系列开发板Z-turn Board试用体验,下面说说我这款zynq系列的Z-TURN板子外设配置.从Z-turn Board原理图上看,目前可以配置的FPGA管脚大概有100多 ...

  7. 【转】深度分析NandFlash—物理结构及地址传送(以TQ2440开发板上的K9F2G08U0A为例)

    K9F2G08U0A是三星公司生产的总容量为256M的NandFlash,常用于手持设备等消费电子产品.还是那句话,搞底层就得会看datasheet,我们就从它的datasheet看起. 这就是 K9 ...

  8. 在TQ2440开发板上ping 127&period;0&period;0&period;1不通

    问题:在TQ2440上ping 127.0.0.1,提示错误 ping: sendto: Network is unreachable   解决方法:ifconfig lo 127.0.0.1 up ...

  9. uboot 2013&period;01 代码简析&lpar;1&rpar;开发板配置

    u-boot下载地址:ftp://ftp.denx.de/pub/u-boot/u-boot-2013.01.01.tar.bz2 下载之后对该文件进行解压. 我试着分析smdk2410_config ...

随机推荐

  1. html嵌套表格示例

    常用嵌套表格示例,出自<网页开发手记:HTML+CSS+JavaScript实战详解>   <html>   <head>   <title>嵌套表格布 ...

  2. jQuery执行请求demo

    Ajax教程地址 4.3.2 执行GET请求 使用jQuery来执行GET请求有多种可选的方法.最简单的方法是使用$.get(),其参数是一个URL和一个回调函数:该回调函数有两个参数:一个是从服务器 ...

  3. m2e插件的新下载地址

    今天在按照<Maven实战>这本书给eclipse配置maven的m2eclipse插件的时候发现,书中写的老的下载地址http://m2eclipse.sonatype.org/site ...

  4. activemq启动不起来,报错Address already in use&colon; JVM&lowbar;Bind

    之前莫名其妙的activemq怎么都启动不起来后来多方查询是因为widows 的ICS服务. 解决方案是,我的电脑上邮件,选择服务,然后在服务中找到Internet Connection Sharin ...

  5. Maven使用笔记

    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model), 一组标准插件(生命周期各阶段是绑定插件中的目标来完成项目构建工作) 一个项目生命周期(Proje ...

  6. 查看Samba用户的方法

    有时我们需要查看服务器上都注册了哪些用户,这时我们就可以用下面的命令来查看了. pdbedit可以编辑samba的用户数据库,具体使用方法可以用man查看. pdbedit -L

  7. C&plus;&plus;内存布局详解

    一个由C/C++编译的程序除了存放函数二进制代码的程序代码段(code段)外,数据占用的内存大致分为以下几个部分: 1.栈区(stack) 存放局部变量.函数参数.返回数据.返回地址等.系统自动分配释 ...

  8. php编译安装php-5&period;6

    #php编译安装php-5.6 ,Nginx+php使用 #!/bin/sh #php编译安装php-5.6 ,Nginx+php使用 #定义函数,默认绿色输出 '#' 开头为红色 function ...

  9. 20&period;如何从app业务逻辑提炼api接口

    在app后端的工作中,设计api是一个很考验设计能力的工作.在项目的初始阶段,只知道具体的业务逻辑,那怎么把业务逻辑抽象和提炼,设计出api呢?通过阅读本文,可解答以上疑惑. 在本文中,是用以前做过的 ...

  10. 极高效内存池实现 &lpar;cpu-cache&rpar;

    视频请看 : http://edu.csdn.net/course/detail/627 1.内存池的目的 提高程序的效率 减少运行时间 避免内存碎片 2.原理   要解决上述两个问题,最好的方法就是 ...