一种从处理芯片升级的方法及装置与流程

文档序号:12363003阅读:331来源:国知局
一种从处理芯片升级的方法及装置与流程

本发明涉及应用处理设备的内部存储来接收程序并保持程序的方法及装置,尤其涉及一种具有校验升级程序准确性的从处理芯片升级的方法及装置。



背景技术:

在智能设备中,除了主系统级(SOC)芯片,还会有分担主SOC芯片一部分职能的从处理芯片。从处理芯片通常由于升级的风险性较大,以及升级失败后不能主动恢复原有驱动软件等原因,从处理芯片的升级一般不设置为可主动升级。为了避免控制混乱和系统风险,主SOC芯片和从处理芯片一般都只能控制自己的周边部件,而不能直接控制别人的周边部件。由于主SOC芯片无法直接控制从处理芯片控制的从处理芯片软件载体,从处理芯片无法直接控制主SOC芯片控制的网络接口模块,使得在现有电路结构基础上,附属于主SOC的从处理芯片无法直接进行OTA软件升级。从处理芯片在升级的过程中,如出现数据传输失败或者数据传输发生错误,导致升级失败也是从处理芯片升级中的重点和难点。

以目前的智能电视机为例,当前高端电视多数采用一颗主SOC处理芯片加上一颗专门用于后端画质处理的芯片,这种一加一的模式进行设计。主SOC处理芯片和后端画质处理芯片的软件是存储在不同的存储介质里的。后端画质处理芯片,主要用于提升电视后端处理能力,提高液晶电视画面的动态范围、动态对比度、色域、清晰度和运动流畅性等,对于电视画质起着至关重要的作用。

电视出厂后将无法对后端画质处理芯片等进行大规模的软件升级或利用互联网由用户自己完成软件升级,也就是说:一些画质效果的提升或者漏洞(BUG)的解决将无法通过软件升级的方式让已经出厂的电视进行改善。后端画质处理芯片由于其特殊性,一旦升级失败,则需要售后维修人员拆电视后盖进行维修,这需要浪费大量的人力成本;而且OTA升级又是大规模的一种升级方式,一旦升级失败将会导致大量的电视出现问题,这将导致灾难性的后果,所以对后 端画质处理芯片的OTA升级一定要有安全措施。



技术实现要素:

本发明的目的在于提供一种具有校验升级软件包准确性的从处理芯片升级的方法及装置。

本发明提供了一种从处理芯片升级的方法,包括:

通过主系统级芯片获取升级软件包;

将所述升级软件包载入从处理芯片载体第一启动区;

所述第一启动区包含当前使用的从处理芯片主程序;

对第一启动区升级软件包进行校验,生成第一校验码,判断第一校验码是否正确;若第一校验码正确即进行升级,若第一校验码不正确则不进行升级。

本发明通过主系统级芯片获取从处理芯片升级软件包的方式,实现了从处理芯片在没有网络处理模块的状况下仍然能够通过主系统级芯片进行在线升级,不需要增加任何硬件,降低了人工安装的时间成本。通过校验码校验的方式判断升级软件包是否正确,如校验失败则不进行升级,从而降低了因升级软件包数据不正确导致的升级失败,避免了不当升级;经过校验成功的升级软件包升级可以有效提高从处理芯片软件升级的成功率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据本发明所涉及的具体实施环境的系统架构与连接示意图;

图2、图3是图1中两种升级装置的功能模块示意图;

图4是第一实施例的电路原理示意图;

图5是应用在图4所示电路中的一种利用I2C总线对从处理芯片进行升级的方法的流程示意图;

图6是第二实施例的电路原理示意图;

图7是应用在图6所示电路中的一种利用I2C总线对从处理芯片进行升级的方法的流程示意图;

图8是图5和7中从处理芯片启动程序的软件流程示意图。

其中附图标记:11-升级装置、12-授权客户端、13-服务器、14-互联网、22-下载模块、23-烧写模块、24-升级包检测模块和25-重启模块。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

首先,说明本发明的基础:

1、I2C总线(I2C bus,Inter-IC bus)是一个双向的两线连续总线,提供集成电路之间的通信线路。I2C总线是一种串行扩展技术,接口线少,控制方式简化,器件封装形式小,通信速率较高等优点,广泛应用于各种芯片间通信。本发明最大程度保持原有的电路结构和体系,硬件上至多在电路板上合理布设增加的I2C总线,这是本领域技术人员很容易实现的,不额外增加其他硬件成本。

2、双启动技术是升级后当第一启动区的软件有数据错误时,会选择从未遭到破坏的用于备份的第二启动区进行启动。如果第一启动区和第二启动区采用在一个存储器或模块中划分多个逻辑分区解决,就可以在不增加任何硬件成本的基础上,解决OTA升级失败导致的后端画质处理芯片无法启动的技术问题。

3、本发明方法和装置只用于具体产品中须要软件升级的从处理芯片,比如:后端画质处理芯片。但是,并非所有的从处理芯片都须要软件升级,如果从处理芯片软件非常稳定,变化可能性可以忽略,就没必要提高电路与软件复杂性,增加系统负担,降低系统整体可靠性。

4、主系统级芯片(主SOC)是在一块芯片上实现多种电路,能够自主地工作,这里的多种电路就是对信号进行操作的各种电路。主SOC是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。主SOC可以包括CPU、时钟电路、定时器、中断控制器、串并行接口、其它外围设备、I/O端口以及用于各种IP核之间的粘合逻辑等逻辑核;各种易失、非易失以及Cache等存储器;以及ADC、DAC、PLL以及一些高速电路中所用的模拟电路。

第二,说明本发明所涉及的具体实施环境及升级装置:

图1是根据本发明所涉及的具体实施环境的系统架构与连接示意图。

参照图1,该具体实施环境包括:互联网14以及接入互联网14的授权客户端12、服务器13和至少一个升级装置11。

服务器13,用于存储软件升级包,并提供网络下载;

授权客户端12,通过互联网与服务器13连接,用于将经过测试没有问题的待升级的软件包发布至对应的服务器13中;

至少一个升级装置11,通过互联网与服务器13连接,用于获取软件升级包对须要软件升级的从处理芯片进行升级,即主系统级芯片(以下简称“主SOC”)必须带网络接口模块。

其中:服务器13可以是严格遵循OTA规范和要求的OTA服务器,也可以是其他类似服务器,比如:苹果系统的升级服务器。同样,软件升级包可以是OTA软件升级包,也可以是其他类似软件升级包。

授权客户端12可以是联网的计算机,须要有授权才能发布新的软件。一般来说,相同厂家的同一种产品使用同一服务器13,不同厂家的服务器13是不同的。

图2、图3是图1中两种升级装置的功能模块示意图。例如,升级装置11可以是电视机、机顶盒、平板电脑、手机、路由器等。

参照图2,在一个示例性实施例中,升级装置11可以包括以下组件:一个下载模块22、一个烧写模块23、一个升级包检验模块24和一个重启模块25;参照图3,在另一个示例性实施例中,升级装置11可以包括以下组件:一个下载模块22、一个烧写模块23和一个升级包检验模块24。

下载模块22,与版本检测模块连接,用于从服务器上下载高于当前从处理芯片的软件版本的升级软件包;下载模块22包括主SOC和与其连接的网络接口模块。

烧写模块23,与所述下载模块连接,包括主SOC、从处理芯片、从处理芯片软件载体和I2C总线,与所述下载模块连接,用于将下载的从处理芯片的升级软件包写入从处理芯片软件载体中;具体的,用于将下载的从处理芯片的升级软件包由主SOC通过I2C总线直接写入从处理芯片软件载体中或经由从处理 芯片中转后、由从处理芯片写入从处理芯片软件载体中;

主系统级芯片(主SOC)通过自身网络接口模块从服务器上下载升级软件包。网络接口模块用于将升级软件包从服务器下载到本地,包括但不限制于无线局域网(WIFI)、第3代移动通讯(3G)、第4代移动通讯(4G)等。

从处理芯片包括但不限制于液晶屏时序控制(TCON)芯片、电视背光驱动芯片和后端画质处理芯片。

从处理芯片软件载体是独立的固态存储器或与其他电路集成在一起的存储模块,比如:从处理芯片中的存储模块,独立的固态存储器包括:电可擦除程序存储器(EEPROM)、非易失闪存(NORFlash)等。

升级包检验模块24,与所述烧写模块连接,用于对下载的升级软件包判断数据是否正确;

重启模块25,与所述烧写模块连接,用于软件重启从处理芯片。

还可包括版本检测模块,用于检测网络服务器中从处理芯片的升级软件包的版本号是否高于当前从处理芯片的软件版本;版本检测模块包括主SOC和与其连接的网络接口模块。

在这一个示例性实施例中,升级装置11中的从处理芯片和须要升级的从处理芯片都只有一个。

在另一个示例性实施例中,升级装置11中的从处理芯片是多个,但须要升级的从处理芯片只有一个。

在另一个示例性实施例中,升级装置11中的从处理芯片是多个,须要升级的从处理芯片也不只一个。

该升级装置11与传统只升级主SOC软件的升级装置主要不同在于:1、升级包检验模块24用于对下载的升级软件包判断数据是否正确;2、烧写模块23包括主SOC、从处理芯片、从处理芯片软件载体和I2C总线。

第三,下面结合二个具体的实施例详细说明本发明的具体实现:

第一实施例

图4是第一实施例的电路原理示意图。它对从处理芯片软件载体没有要求,这样适用范围广。

参照图4,升级装置11的具体电路可以包括:一个主SOC、一个或多个主 SOC的网络接口模块、一个或多个从处理芯片及其软件载体。

主SOC和需要软件升级的从处理芯片都包括I2C接口,它们通过电路板上布设的I2C总线连接。

从处理芯片软件载体采用不带I2C接口的NORFlash,从处理芯片与对应NORFlash通过SPI接口连接。每个从处理芯片只有一块NORFlash。在本实施例中仅有一块从处理芯片需要升级:后端画质处理芯片。

SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,处理芯片与NORFlash存储器多采用这种接口。NORFlash存储器设有写保护,处理芯片读NORFlash存储器中数据无须驱动,烧写数据时须要驱动。

图5是应用在图4所示电路中的一种利用I2C总线对从处理芯片进行升级的方法的流程示意图。它仍然由从处理芯片将从I2C总线中转的主SOC传的软件升级包写入从处理芯片软件载体,主要包括主SOC端处理步骤和从处理芯片端处理步骤,在处理上相对复杂。

如图5所示,该进行升级的方法中从处理芯片是后端画质处理芯片,具体包括以下步骤:

500)开始;

501)将从处理芯片OTA升级包发布或上传至OTA服务器;

502)各在线联网电视中主SOC获取OTA服务器中从处理芯片的OTA升级包版本,并根据服务器上的从处理芯片软件版本比自身高检测到须要OTA升级;

503)通过人机界面提示用户是否升级?用户选择升级,进入下一步;否则不进行OTA升级,进入步骤509);

504)主SOC从OTA服务器下载OTA升级包;

505)主SOC通过I2C向从处理芯片传输OTA升级包;

506)从处理芯片接收OTA升级包;

507)从处理芯片将接收完毕的OTA升级包烧写到NORFlash的正常启动分区;若烧写成功,则直接结束;若烧写不成功,进入步骤508);

508)从处理芯片软件复位,调用图8所示的采用双启动技术的从处理芯片启动程序,该程序与第二实施例中的从处理芯片启动程序相同,其具体实现步骤在后面统一描述;

509)结束。

其中:步骤501由授权客户端12执行,步骤502-505由主SOC控制执行,步骤506-508由从处理芯片控制执行。

在步骤501中,当后端画质处理芯片软件需要进行OTA升级时,首先将经过测试没有问题的待升级的软件包通过授权客户端12发布至公司的OTA升级服务器。

在步骤502中,用户家里对应型号的电视在连接在网络上时,主SOC芯片的OTA升级功能软件通过网络检测到服务器端有对本型号电视的后端画质处理芯片进行OTA升级的需求;即:在传统OTA升级功能软件中增加从处理芯片软件版本检测代码;

在步骤503中,在电视的人机(UI)界面上,弹出相应的提示,请用户确认是否同意进行后端画质芯片的OTA软件升级;

在步骤504中,如果用户选择同意,那么通过网络将服务器端的OTA升级软件包下载到电视的存储介质上;

在步骤505中,OTA升级软件包下载完成之后,通过I2C总线和相应的协议,通知后端画质处理芯片进行OTA软件升级,并通过I2C总线将OTA升级数据包传输至后端画质处理芯片;

在步骤506中,后端画质处理芯片接受到主SOC芯片的OTA升级命令后,在内存中开辟一块缓冲区,将I2C传输过来的数据保存至缓冲区中;

在步骤507中,传输完成后,后端画质处理芯片将缓冲区中的OTA升级包烧写至NORFlash存储器的正常启动分区中升级;

在步骤508中,从处理芯片重新启动即可完成后端画质处理芯片的OTA升级功能。

在第一实施例中,从处理芯片软件载体可以采用带I2C接口的NORFlash,替代不带I2C接口的NORFlash。

在第一实施例中,从处理芯片软件载体可以采用其他固态存储器和与从处理芯片的对应接口,替代不带I2C接口的NORFlash和SPI接口。

在第一实施例中,从处理芯片软件载体可以采用从处理芯片中固态存储模块替代不带I2C接口的NORFlash和SPI接口。

在第一实施例中,从处理芯片可以是液晶屏时序控制(TCON)芯片或电视背 光驱动芯片,替代后端画质处理芯片,但由于对应软件稳定、无须升级,一般不采用。

在第一实施例中,如果须要,从处理芯片可以是多个。

在第一实施例步骤506中,可以采用从处理芯片的物理缓冲模块,替代内存中开辟的缓冲区。

在第一实施例,步骤508中从处理芯片启动程序可以不采用双启动,这样步骤507中,可以将接收完毕的OTA升级包烧写到NORFlash,替代烧写到NORFlash的正常启动分区,但这样没有备份启动分区,一旦升级失败就会无法启动,因此无法保障升级安全与可靠。

第二实施例

图6是第二实施例的电路原理示意图。它要求从处理芯片软件载体必须带I2C接口,这样适用范围窄但控制简单、效率高。

参照图6,升级装置11的具体电路可以包括:一个主SOC、一个或多个主SOC的网络接口模块、一个或多个从处理芯片及其软件载体。

主SOC、需要软件升级的从处理芯片和对应从处理芯片软件载体都包括I2C接口,它们通过电路板上布设的I2C总线连接。

从处理芯片软件载体采用带I2C接口的NORFlash,从处理芯片与对应NORFlash仍通过SPI接口连接。每个从处理芯片只有一块NORFlash。在本实施例中仅有一块需要升级的从处理芯片:后端画质处理芯片。

图7是应用在图4所示电路中的一种利用I2C总线对从处理芯片进行升级的方法的流程示意图。它直接由从处理芯片发出请求主SOC将软件升级包从I2C总线直接写入从处理芯片软件载体,主要只包括主SOC端处理步骤,处理简单。

如图7所示,该进行升级的方法中从处理芯片是后端画质处理芯片,具体包括以下步骤:

700)开始;

701)将从处理芯片OTA升级包发布或上传至OTA服务器;

702)各在线联网电视中主SOC获取OTA服务器中从处理芯片的OTA升级包版本,并根据服务器上的从处理芯片软件版本比自身高检测到须要OTA升级;

703)通过人机界面提示用户是否升级?用户选择升级,进入下一步;否则 不进行OTA升级,进入步骤708);

704)从处理芯片请求主SOC从OTA服务器下载OTA升级包;

705)从处理芯片请求主SOC通过I2C总线将下载完毕的OTA升级包直接烧写从处理芯片的NORFLASH的正常启动区;

706)烧写完毕后,从处理芯片通过I2C总线通知主SOC;

707)从处理芯片软件复位,,调用图8所示的采用双启动技术的从处理芯片启动程序,该程序与第一实施例中的从处理芯片启动程序相同,其具体实现步骤在后面统一描述;

708)结束。

其中:步骤701由授权客户端12执行,步骤702-706由从处理芯片请求主SOC控制执行,步骤707由从处理芯片控制执行。

在步骤701中,当后端画质处理芯片软件需要进行OTA升级时,首先将经过测试没有问题的待升级的软件包发布至公司的OTA升级服务器。

在步骤702中,用户家里对应型号的电视在连接在网络上时,从处理芯片请求主SOC芯片的OTA升级功能软件通过网络检测到服务器端有对本型号电视的后端画质处理芯片进行OTA升级的需求;

在步骤703中,在电视的人机(UI)界面上,弹出相应的提示,请用户确认是否同意进行后端画质芯片的OTA软件升级;

在步骤704中,如果用户选择同意,那么通过网络将服务器端的OTA升级软件包下载到电视的存储介质上;

在步骤705中,OTA升级软件包下载完成之后,通过I2C总线和相应的协议,从处理芯片请求主SOC将OTA升级数据包直接写入从处理芯片的NORFLASH;

在步骤707中,从处理芯片根据烧写完毕的通知再软件启动,从处理芯片重新启动即可完成后端画质处理芯片的OTA升级功能。

在第二实施例中,从处理芯片软件载体采用带I2C接口的NORFlash,这样可以由从处理芯片请求主SOC写入。

在第二实施例中,从处理芯片软件载体可以采用带I2C接口的其他固态存储器,替代带I2C接口的NORFlash。

在第二实施例中,从处理芯片可以是液晶屏时序控制(TCON)芯片或电视背 光驱动芯片,替代后端画质处理芯片,但由于对应软件稳定、无须升级,一般不采用。

在第二实施例中,如果须要,从处理芯片可以是多个。

在第二实施例步骤705中从处理芯片启动程序可以不采用双启动,这样步骤706中,可以将接收完毕的OTA升级包烧写到NORFlash,替代烧写到NORFlash的正常启动分区。

第一和第二实施例中的从处理芯片启动程序

该启动程序采用双启动技术,由从处理芯片加载并控制执行,具体如图8所示,包括以下步骤:

800)开始;

801)系统引导;

802)对正常启动区升级软件包进行CRC校验并判断升级软件包数据是否正确?否,进入步骤803);是,则进入步骤805);

803)从备份启动区启动;

804)向主SOC发送从处理芯片软件升级失败通知,进入步骤806);

805)从正常启动区启动;

806)结束。

在步骤801中,系统引导俗称BOOT,比如:电脑操作系统中引导文件,在系统启动时须要在操作系统之前加载。

在步骤802中,正常启动区又称第一启动区,第一启动区用于存放当前使用的主程序。

在步骤803中,备份启动区又称第二启动区,第二启动区用于存放当前使用的主程序的备份;从处理芯片升级失败仍然可以从备份启动区启动,由于备份启动区在升级过程未被破坏,这样充分保障了升级安全和可靠性。第一启动区和第二启动区是二个不同的物理存储空间或者一个物理存储空间中的不同逻辑分区。

在步骤804中,从处理芯片升级失败后通知主SOC重新升级,由于通知及时,这样能避免了前一次升级失败后被无限推迟。

在步骤805中,还包括检查备份启动区主程序版本是否与正常启动区一致, 不一致,重新备份正常启动区的升级后的主程序。

在第一和第二实施例步骤802中,系统引导区中存储原始校验码,原始校验码与升级软件包经主系统级芯片获取并传送至系统引导区。原始校验码与升级软件包可以采取同步或异步的方式进行传送。

在第一和第二实施例步骤802中,都可以采用奇偶校验、海明威校验或用户自定义的算法,替代CRC校验。采用上述任一种校验方式获得第一校验码,并与从处理芯片载体引导分区的原始校验码进行比较,如第一校验码与原始校验码不相同,则校验不通过并不进行软件升级,提示用户升级未进行。如第一校验码与原始校验码相同,则通过校验并进行升级,第一启动区中存放的当前使用的主程序替换为升级软件包中的主程序;升级过程中如升级失败,采用从第二启动区进行启动的方法避免无法从第一启动区启动,第二启动区存放有当前使用的主程序的备份,由于第二启动区中当前使用的主程序的备份在升级过程未被破坏,这样充分保障了升级安全和可靠性。

在第一和第二实施例中,双启动技术的基本原理是将闪存NORFlash存储器分成三个逻辑分区:系统引导“zloader”分区、正常启动分区和备份分区。系统引导“zloader”分区中存放着循环(CRC)校验的代码,它首先通过CRC校验的方式确定正常启动分区的主程序是否有数据错误,如果没有错误则正常启动;当发现数据错误时,软件会选择从存储器件的备份分区进行启动,从而在不增加任何硬件成本的基础上,解决了OTA升级失败导致后端画质处理芯片无法启动的技术问题。

在上面实施例中,系统引导“zloader”分区可以存放奇偶校验代码、海明威校验代码或用户自定义的算法代码,替代存放CRC校验代码。

在上面实施例中,双启动技术也可以将闪存NORFlash存储器分成二个逻辑分区:正常启动分区和备份分区(系统引导和CRC代码都位于正常启动分区,不可更改),替代上述将一个NORFlash存储器分成三个逻辑分区,但这样增加了系统引导和CRC代码被改动风险。

在上面实施例中,双启动技术也可以采用二个或三个NORFlash存储器,替代将一个NORFlash存储器分成二个或三个逻辑分区。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1