博客
关于我
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/

    你可能感兴趣的文章
    python struct 官方文档
    查看>>
    Android DEX加固方案与原理
    查看>>
    Android Retrofit2.0 上传单张图片和多张图片
    查看>>
    iOS_Runtime3_动态添加方法
    查看>>
    Leetcode第557题---翻转字符串中的单词
    查看>>
    Problem G. The Stones Game【取石子博弈 & 思维】
    查看>>
    Unable to execute dex: Multiple dex files
    查看>>
    Java多线程
    查看>>
    Unity监听日记
    查看>>
    AndroidStudio跳到错误位置
    查看>>
    openssl服务器证书操作
    查看>>
    expect 模拟交互 ftp 上传文件到指定目录下
    查看>>
    linux系统下双屏显示
    查看>>
    PDF.js —— vue项目中使用pdf.js显示pdf文件(流)
    查看>>
    我用wxPython搭建GUI量化系统之最小架构的运行
    查看>>
    我用wxPython搭建GUI量化系统之多只股票走势对比界面
    查看>>
    selenium+python之切换窗口
    查看>>
    重载和重写的区别:
    查看>>
    搭建Vue项目步骤
    查看>>
    账号转账演示事务
    查看>>