空间的分配规划,实现FLASH存储空间到内存存储空间的高度对称,根据实际测试的结果,将开机时间由原来的15秒提高到10秒,减少了电视系统的开机时间,提升产品的竞争优势。
[0050]如图2所示,图2为本发明电视系统开启方法第二实施例的流程示意图,在第一实施例的基础上,第二实施例提供的电视系统开启方法,所述步骤S100之前包括:
[0051]步骤S100A、若检测到Flash的存储容量在预置的容量阈值范围外时,则对存储在Flash中的所述可执行文件中的部分文件不进行压缩处理。
[0052]为了节省成本,存储在Flash中的可执行文件一般都采用压缩的方法进行存储,并且压缩率一般在19倍左右,经过分析发现,如果某一部分没有经过压缩,在加载的过程中会比较节省时间,比如字库文件,一个2.6M左右的文件和一个800K左右的文件,在加载过程中可以节省2秒左右的时间;在本实施例中,若检测到Flash的存储容量在预置的容量阈值范围外时,即Flash仍然有足够的存储空间时,则对存储在Flash中的所述可执行文件中的部分文件不进行压缩处理,所述部分文件可以为大型文件,例如FRAMEBUFFER(帧缓冲)文件,对于功能相对应的部分,可以通过修改编译文件达到顺序的完全对应,根据存储器取数据的原理,会首先从缓存中找相关的数据,如果当前数据在缓存,则不会再访问Flash,并且每一次都有一些预存储的数据,在数据连贯并且高度匹配的情况下,访问缓存的概率就会变得很高,而每次访问Flash的时间要比访问缓存的时间至少多2倍,所以通过上述结构的优化,达到了节省时间的目的。
[0053]本实施例提供的电视系统开启方法,若检测到Flash的存储容量在预置的容量阈值范围外时,则对存储在Flash中的所述可执行文件中的部分文件不进行压缩处理,充分利用存储器的空间来提高开机速度。
[0054]如图3所示,图3为图1中所述步骤S200的细化流程示意图,在本实施例中,步骤S200包括:
[0055]步骤S210、编译所述可执行文件,划分Flash存储空间。
[0056]在本实施例中,所述可执行文件为二进制可执行文件(BIN),编译可执行文件,对Flash存储空间进行划分,例如将Flash存储空间划分为若干个逻辑分区,逻辑分区包括主分区和从分区,可以将第一分区设定为主分区。
[0057]步骤S220、根据所述可执行文件的文件头信息,获取划分的Flash存储空间中待生成的各个功能模块的容量大小和起始地址,生成对应的功能模块。
[0058]根据所述可执行文件的文件头信息,获取Flash中待划分的各个功能模块的参数、容量大小、起始地址以及可执行文件的版本号,对Flash中的各个功能模块依次按序进行划分,直至在Flash中划分完所有功能模块,为了节省成本,在最后划分的功能模块中,放置一些用户参数。例如:从可执行文件的文件头信息可以获取第一部分物理地址和第二部分物理地址,在第一部分的物理地址OxOO-OxlF中,定义了软件名称以及生成的日期;在第二部分的物理地址0X20--0X4F中,定义了每一编译所生成链接部分的起始地址和大小。具体地,在第一部分的物理地址中,起始地址为0x100,大小为OxOCBO,加载地址为0x9R)78000,校验和为0x0003A325 ;在第二部分的物理地址中,起始地址为0x02000,大小为0x01C84200,加载地址为0x80100000,校验和为0x00E92BFF。根据第二部分的大小可以知道,第二部分实际由A功能模块和B功能模块组成。
[0059]步骤S230、对编译完成的可执行文件进行压缩处理,并建立虚拟地址和物理地址之间的映射关系。
[0060]对编译完成后的可执行文件进行压缩,并且在虚拟地址和物理地址之间建立一种映射关系,这种映射关系往往是一个地址的偏移量,从而根据可执行文件,即可获取虚拟地址的加载信息。
[0061]本实施例提供的电视系统开启方法,根据可执行文件的编译,以实现FLASH存储空间到内存存储空间的高度对称,根据实际测试的结果,将开机时间由原来的15秒提高到10秒,减少了电视系统的开机时间,提升产品的竞争优势。
[0062]如图4所述,图4为本发明电视系统开启方法第三实施例的流程示意图,在第一实施例的基础上,所述步骤SlOO之后包括:
[0063]步骤S200A、若判定Flash中有未划分的空闲区块,则对空闲区块不进行压缩处理。
[0064]对Flash的存储空间进行识别,若判断到FLASH存储空间还有未划分的空闲区块,则对空闲区间不进行压缩处理,从而实现Flash存储空间的全方位利用,来解决系统加载的时间过长问题。
[0065]本实施例提供的电视系统开启方法,通过对Flash存储空间的全方位利用,减少了系统加载的时间。
[0066]如图5所示,图5为本发明电视第一实施例的功能模块示意图,在第一实施例中,所述电视包括:
[0067]划分模块10,用于根据Flash中的可执行文件建立的虚拟地址和物理地址的映射关系,将Flash存储空间划分为若干个功能模块;
[0068]加载模块20,用于加载Flash中的所述可执行文件的启动代码到内存中,将内存映射到零地址,根据Flash存储空间划分的功能模块,对内存存储空间的相应位置划分对应的功能t吴块;
[0069]跳转模块30,用于从启动代码跳转到主循环,进入主循环。
[0070]Flash (Flash Memory,闪速存储器),称为快擦型存储器,又称为闪存,包括NORFlash和NAND Flash,在本实施例中,以NOR Flash进行说明,一个8M的NOR Flash往往以块为单位,每块一般为64K,逐次累加,代码的写入和擦除都是以块为单位,其中对于存储数据没有很大的要求,并且支持部分写入、部分擦除和部分加载。被压缩的可执行文件被存储在Flash中,划分模块10通过可执行文件,建立虚拟地址和物理地址的映射关系,根据所述地址映射关系,对Flash中的块内存储空间逻辑上进行重新定义,将Flash存储空间划分为若干个功能模块,并按一定的顺序进行排列,比如说从上至下依次划分为A、B、C、D四个功能丰吴块。
[0071]经过boot loader (也称启动加载器,引导程序)启动代码的引导后,加载模块20将可执行文件依次从物理地址解压缩后加载至内存中,根据Flash存储空间依次划分的若干功能模块,在内存存储空间的相应位置,同样划分为对应次序的功能模块。比如内存存储空间从上至下也依次划分为A、B、C、D四个功能模块。
[0072]跳转板块30从boot loader启动代码开始跳转,实现王动控制权的转移,将启动代码的控制权转移到主循环中,使主循环拥有控制权;主循环代码初始化,所有功能模块建立通讯、所有器件实现通讯、所有基础变量初始化,确保基本通讯正常;进入主循环,通过信号源的切换、基本时序的建立,实现电视信号的正常输出。
[0073]本实施例提供的电视,对FLASH存储空间进行分配,以及对内存存储空间的分配规划,实现FLASH存储空间到内存存储空间的高度对称,根据实际测试的结果,将开机时间由原来的15秒提高到10秒,减少了电视系统的开机时间,提升产品的竞争优势。
[0074]如图6所述,图6为本发明电视第二实施例的流程示意图,在第一实施例的基础上,所述电视还包括:
[0075]检测模块40,用于若检测到Flash的存储容量在预置的容量阈值范围外时,则对存储在Flash中的所述可执行文件中的部分文件不进行压缩处理。
[0076]为了节省成本,存储在Flash中的可执行文件一般都采用压缩的方法进行存储,并且压缩率一般在19倍左右,经过分析发现,如果某一部分没有经过压缩,在加载的过程中会比较节省时间,比如字库文件,一个2.6M左右的文件和一个800K左右的文件,在加载过程中可以节省2秒左右的时间;在本实施例中,检测模块40若检测到Flash的存储容量在预置的容量阈值范围外,即Flash仍然有足够的存储空间时,则对存储在Flash中的所述可执行文件中的部分文件不进行压缩处理,所述部分文件可以为大型文件,例如FRAMEBUFFER(帧缓冲)