博客
关于我
ARM裸机知识
阅读量:588 次
发布时间:2019-03-12

本文共 1325 字,大约阅读时间需要 4 分钟。

存储器类型复习

RAM/ROM: RAM掉电丢失,ROM掉电不丢失;

RAM中又分两大类,DRAM/SRAM;
SRAM: 静态RAM运行速度飞快,内存小,昂贵;

DRAM: 动态RAM运行速度比ROM快,比SRAM慢,便宜(电脑内存);

FLASH: 又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据,同时可以快速读取数据(NVRAM的优势);

FLASH: 又分为NOR Flash和NAND Flash两种

  • NOR Flash的读取和我们常见的SDRAM的读取一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。
  • NAND Flash没有采取内 存储器类型复习(假想)
    之内 存储器类型复习(假想)
    存储器类型与芯片构造
    ...
  • eMMC: 由NAND闪存+闪存控制芯片+标准接口封装而成

    ARM时钟体系(2440)

    Max--- (Fclk:400MHZ Hclk:136MHZ Pclk:68MHZ)
    由12Mhz晶振(OSC),通过锁相环(PLL)分别得到。
    MPLL: 主PLL
    UPLL: USBPLL

    Fclk = 晶振->MPLLHclk(AHB总线) = 晶振->MPLL->HDIVN(分频)Pclk(APB总线) = 晶振->MPLL->PDIVN(分频)

    相关寄存器:MPLLCON,CLKDIVN

    2440启动流程:

  • 复位引脚等待电源稳定
  • Fclk起振 = 晶振频率
  • 电源稳定,复位芯片输出高电平,锁存OM[3:2]引脚信号,同时CPU开始运行
  • 设置PLL->CPU停止,PLL工作,Fclk停止(Lock Time)
  • LockTime结束后->Fclk = PLL新设的时钟,CPU运行
  • 如何设置2440时钟频率

    目标:FCLK运行于400M,HCLK = FCLK/4(100M),PCLK=FCLK/8(50M)
    查阅2440芯片手册;CLOCK DIVIDER CONTROL (CLKDIVN) REGISTER:
    00 : HCLK = FCLK/1
    01 : HCLK = FCLK/2
    10 : HCLK = FCLK/4 when CAMDIVN[9] = 0
    HCLK= FCLK/8 when CAMDIVN[9] = 1
    11 : HCLK = FCLK/3 when CAMDIVN[8] = 0
    HCLK = FCLK/6 when CAMDIVN[8] = 1

    设置CLKDIVN 的 1、2位为’1’ 0’且第9位为0,可使HCLK为FCLK的1/4;设置0位为’1’可使PCLK = FCLK/2。

    CLKDIVN = 0x5;

    1. 设置PLLCON = 0x5C11,可让FCLK = 400M。

    2. 查阅2440手册 244page ,当HDVIN不为0时,CPU要设置为异步模式,否则就会以HCLK运行。

    3. ...(注意:以下内容为技术细节,需遵循芯片手册设置,切勿随意更改)

      综上所述,通过合理设置PLLCON和CLKDIVN寄存器,可以轻松实现一颗2440 ARM芯片的适配配置。

    转载地址:http://jdgtz.baihongyu.com/

    你可能感兴趣的文章
    Scala中的包
    查看>>
    他来了他来了,他带着云栖大会的免费门票走来了
    查看>>
    获取linux 主机cpu类型
    查看>>
    限流的算法有哪些?
    查看>>
    Android Studio updating indices 一直刷新和闪烁
    查看>>
    个人购买服务器问题?
    查看>>
    pwntools编写技巧
    查看>>
    How2Heap笔记(三)
    查看>>
    go--microSocket服务端 php客户端
    查看>>
    小程序提交新数据后如何返回上一页并刷新数据?
    查看>>
    qt c++实现的ai贪吃蛇吃满屏幕,超详细!(二)ai的具体实现
    查看>>
    linux 查看log日志相关命令
    查看>>
    div 实现光标悬停变成手型
    查看>>
    layer.confirm 无效
    查看>>
    Java 回调机制
    查看>>
    7、回归和特征选择
    查看>>
    测试tensorflow是否安装成功 出现 SyntaxError: invalid syntax的错误
    查看>>
    pycharm使用(新建工程、字体修改、调试)
    查看>>
    什么是Numpy、Numpy教程
    查看>>
    Python学习笔记——元组
    查看>>