电视主程序与引导程序之间的关系

  在现在的基于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机型通讯,一般来说容量偏小,读写速率偏低。在NOR FLASH 的基础上又进一步开发出了NAND FLASH。比如HY27UF082G。该类型FLASH具有容量大,读写速率快的特点,利用8位数据线和几根控制线和CPU铜讯,现在是大多数主板上主程序的存储载体。但是NAND FLASH有一个缺点就是不同厂商的NAND FLASH虽然引脚定义近似,但是在使用上却有差别,兼容性差。使得主板开发时,软件设计师不得不针对各个厂商的特点进行针对性设计,开发难度较大。正是因为这个原因。EMMC出现了!EMMC简单来描述就相当于一个具有通用接口的NAND FLASH,它内部除了集成了一个NAND FLASH 外还集成了一个控制器。这个控制器在CPU和内部NAND FLASH之间提供了一个桥梁的作用。正是因为这个控制器的存在,不同厂商生产的EMMC具有了很高的兼容性!EMMC和CPU通讯的方式仍然采用8根数据线和几根控制线,但是CPU无法再访问EMMC内部NAND FLASH的物理存储单元了,只能通过虚拟地址借助EMMC内部的控制器对存储单元进行读写控制操作。
温馨提示:请务必详细查看固件介绍是否与机型匹配,认真考虑是否下载!本站资料固件均收集于网络仅供测试和技术交流使用,请下载后24小时内删除,如有侵权请联系我们处理!!谢谢合作!
风险提示: 1、建议在专业人员指导下刷机; 2、刷机有风险玩机需谨慎,一切源于刷机导致的后果自负,电视固件网概不负责; 3、如遇支付后无法下载或下载链接失效 下载固件不匹配请联系我们处理