zoukankan      html  css  js  c++  java
  • BootLoader--改进(基于2440)

    BootLoader--改进

    之前编写的Bootloader启动内核时间使用差不多7秒钟的时间,大多都是用在CPU将内核从Nandflash读取到SDRam中,故首先想到的方法是改变CPU时钟频率。

    1. 提高CPU频率(200MHZ->400MHZ)

    • 设置时钟:12MHZ晶振,CPU时钟为400MHZ:MDIV(0x5c) PDIV(1) SDIV(1)
    • 设置分频系数:将1:2:4变为1:4:8,故CLKDIVN寄存器设置0x5
    结论:上电启动开发板,启动速度并没有变化

    2. 将icache启动

    • 启动icache
    /* 启动ICACHE */
    mrc p15, 0, r0, c1, c0, 0	@ read control reg
    orr r0, r0, #(1<<12)
    mcr	p15, 0, r0, c1, c0, 0 @ write it back
    
    结论:上电启动开发板,启动只需要2S左右,大大提高

    3. 总结

    我们知道CPU包括指令Icache和数据Dcache,程序在SDRAM中,如果不使用指令Icache,则CPU会直接向SDRAM中取指令执行,每一次执行指令则都需要访问SDRAM,效率非常低下。Icache作为高速内存,会存储CPU最近常用的指令,CPU执行指令只需要从Icache当中取出,效率大大提高,故打开Icache使得效率大大提高。

  • 相关阅读:
    python购物车demo
    python对json的操作总结
    sysctl -p详解
    软件生命周期模型——瀑布模型
    如何启用linux的路由转发功能
    pycharm常用快捷键
    zabbix 支持的主要监控方式
    CentOs7安装部署Zabbix3.4
    CentOS EPEL yum源
    vmware虚拟机三种网卡
  • 原文地址:https://www.cnblogs.com/lkq1220/p/7192187.html
Copyright © 2011-2022 走看看