分享

液晶主板程序存储器的知识

 蚁搬资料 2020-01-09

 在现在的基于LINUX或是Android系统内核的主板软件方案中,FLASH一般有两种!

     一种称为引导程序,即所谓的MBOOT.

      另一种称为主程序,即MAIN FLASH.   

     这两种软件之间是什么关系呢。。下面我来简单的介绍一下。

     引导程序在主板上属于比较底层的软件,它的作用只有两个:   

  1,初始化硬件。。

在主板上电后,当CPU的基本工作条件满足后,CPU会按照引导程序的指令对主板的硬件比如DDR,各类寄存器,以及总线上的控制单元等进行初始化。初始化是硬件正常使用的关键条件,初始化不正常这个硬件就可能工作异常。    

 2,引导系统内核。

当引导程序完成硬件的初始化后,它剩下的最重要的任务就是将系统内核的镜像加载到DDR即内存中了。当引导程序把内核镜像加载到内存中后,经过简单的CPU使用权限移交,CPU就开始运行解压运行系统内核了~也就是说在CPU运行主程序之前,引导程序是完全控制CPU的使用权的!当权限移交后,引导程序在理论上也就没有任何作用了。   

       引导程序一般来说容量较小,

     在大多数MSTAR方案的主板上,一般会单独用一块NOR FLASH比如EN25F16之类来单独存放引导程序。

     在MTK方案中,引导程序往往和主程序一起存放在NAND FLASH或是EMMC之中。 

    从某种意义上讲,引导程序是系统硬件正常运行的一个前提,因此引导程序有问题往往是无法正常开机的,并且可能导致机器无法强制升级。如果查看打印信息的话往往是没有打印信息输出!!当然,部分机型开机死机或是自动关机也可能是引导程序引起的。这主要是因为引导程序中对部分硬件的参数没有进行合理处理,比如对DDR的参数优化处理的不好就可能导致这个现象。      主程序的作用大家就很清楚了,机器开机后执行的控制指令,以及对画面图像的处理等等都是按照主程序内部的指令来进行的。新型主板的主程序由于软件比较大,往往存储在NAND FLASH或是EMMC中。CPU通过8条数据线以及若干条控制线和其进行通讯。其程序往往是首先加载到DDR中,经过解压后CPU再将指令加载到内部的缓存中执行。主程序有问题,出现的故障也各式各样。这里不再一一讲述~需要注意的是在软件的加载以及执行过程中,DDR的作用是很重要的,在有些拥有多块DDR的主板上执行引导程序的DDR可能和执行主程序的DDR都不是同一块,具体可以通过打印信息看的很明了。     

    关于FLASH ..一般来说我们常见的FLASH一般有3类,

1,NOR FLASH 类似于W25X40,EN25B64,MX25L128之类的。他们利用SPI总线和CPU机型通讯,一般来说容量偏小,读写速率偏低。。

2.NAND FLASH     在NOR FLASH 的基础上进一步开发出了NAND FLASH。比如HY27UF082G。该类型FLASH具有容量大,读写速率快的特点,利用8位数据线和几根控制线和CPU通讯,现在是大多数主板上主程序的存储载体。但是NAND FLASH有一个缺点就是不同厂商的NAND FLASH虽然引脚定义近似,但是在使用上却有差别,兼容性差。使得主板开发时,软件设计师不得不针对各个厂商的特点进行针对性设计,开发难度较大。正是因为这个原因。

3.EMMC    EMMC简单来描述就相当于一个具有通用接口的NAND FLASH,它内部除了集成了一个NAND  FLASH 外还集成了一个控制器。这个控制器在CPU和内部NAND FLASH之间提供了一个桥梁的作用。正是因为这个控制器的存在,不同厂商生产的EMMC具有了很高的兼容性!EMMC和CPU通讯的方式仍然采用8根数据线和几根控制线,但是CPU无法再访问EMMC内部NAND FLASH的物理存储单元了,只能通过虚拟地址借助EMMC内部的控制器对存储单元进行读写控制操作。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多