固件烧录方法及其装置与流程

文档序号:11780311阅读:394来源:国知局
固件烧录方法及其装置与流程
本发明涉及片上系统的数据读写领域,尤其是涉及片上系统固件的烧录装置以及使用该固件烧录装置的烧录方法。

背景技术:
固件(Firmware)是存储在可擦除只读存储器(EROM)或可擦出可编程只读存储器中(EPROM)的程序,通俗的理解就是“固化的软件”。固件担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其他软件组成,因此固件也就决定着硬件设备的功能及性能。对于独立可操作的电子产品,固件一般指它的操作系统,例如平板电脑的固件,就是指平板电脑的操作系统,同理,智能手机的固件,同样是指智能手机的操作系统,又例如高清播放器、电子书、智能电视棒和行车记录仪等各自的固件,都是指各自的操作系统。固件烧录是指将新的固件写入可擦出可编程只读存储器中,代替原有的固件的过程。片上系统是指一个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行集成的技术,用于特定目的的单片集成电路。所谓完整的系统一般包括中央处理器,具有静止存取功能的内存,多媒体处理器和必要的接口控制器等。片上系统由于集成了大量的控制器,芯片面积小,加上必要的内存,显示设备,输入设备,就可成为一个消费类的电子产品。例如,公告号为CN101963910A的中国发明专利公开了名为“基于通用USB总线的设备固件升级方法”的发明创造,该发明提供一种基于通用USB总线的设备固件升级方法,该升级方法的具体步骤如下:利用USB总线通过USB接口将智能设备与控制电脑电连接,控制电脑运行固件升级程序上位机,提供用户一个向导式升级操作和显示界面,智能设备运行固件升级程序下位机,固件升级程序上位机将用户的操作指令经USB总线发送给固件升级程序下位机,控制智能设备切换到固件升级模式,分块下载到固件升级程序下位机中。最后,固件升级程序下位机的所有分块的程序后进行组合拼装及校验,提示用户固件升级是否成功。由上可见,通过电脑使用基于USB协议的升级软件来升级本地固件是较有效且较友好的烧录方式,但是由于基于片上系统上产品的多样性,市面上多数电脑端的升级工具都面临如下问题:一是升级软件无法在各种不同操作系统的电脑上做到通用化,用户必须根据不同的操作系统来选择对应不同的适用版本的升级软件;二是由于片上系统的不同,而导致用户在升级同一个片上系统的固件时,在不同的电脑操作系统上则需要使用不同版本的固件;三是许多升级软件都是针对一类的片上系统来设计使用的,当需要对其他不同的片上系统进行升级烧录时则需要使用另一不同的升级软件。上述几个问题会使得使用人员在烧录固件时造成不便,同时使得工作效率低下。

技术实现要素:
本发明的主要目的是提供一种具有通用性高且方便操作的固件烧录方法。本发明的另一目的是提供一种具有通用性高且易于使用的固件烧录装置。为了实现本发明的主要目的,本发明提供一种固件烧录方法,该固件烧录方法包括在上位机启动固件烧录装置;在上位机与下位机连接后,将固件从上位机下载到下位机,其中,固件集成了用脚本程序语言编写的功能接口模块,功能接口模块是抽象出来的用于实现烧录过程中所需要的功能。由上述方案可见,将固件的逻辑功能分离出来,并将功能接口模块以脚本程序语言提供出来,由于脚本程序语言具有容易开发且容易部署,同时能够根据不同的应用来调整,使得脚本程序语言通用性高,继而使得在不同的上位机上均可实现对具有不同固件的下位机进行烧录,简化了使用人员的操作,有效增加工作效率。更进一步的方案是,固件烧录装置包含的固件数量为二个以上,将固件从上位机下载到下位机前,在上位机从多个固件中选择所需要烧录的固件。由上可见,将不同固件都集成在固件烧录装置内,能够对应不同的下位机选择不同的固件,有效地增加烧录方法的通用性。更进一步的方案是,上位机选择固件后,对固件进行解码,并读取固件的信息,提取固件的烧录脚本,上位机根据烧录脚本与下位机进行交互通讯。由上可见,将固件进行解码并提取相关信息,有利于在固件烧录装置生成人机交互窗口或者烧录过程所需的功能按键,使得固件程序能够有效地写入下位机,烧录方式以脚本文件的方式动态的存在于固件中,使得不同的固件可以有不同的烧录方式。更进一步的方案是,将上位机与下位机连接后,检测上位机操作系统,调用操作系统的连接驱动。由上可见,固件烧录装置内集成多个应用在不同操作系统的连接驱动,如对应Windows操作系统的USB驱动、对应Macos操作系统的USB驱动和对应Linux操作系统的USB驱动等,根据不同操作系统选择不同驱动,有效地提高固件烧录方法的通用性。更进一步的方案是,将所述固件下载到所述下位机后,对所烧录的所述固件进行校验。由上可见,当烧录完成后,下位机向上位机返回信息,显示烧录成功或烧录失败,并生成烧录日志,方便编程人员或使用人员查看,使得固件烧录方法更加完善,便与使用和调试。为了实现本发明的另一目的,本发明提供一种固件烧录装置,该烧录装置包括用于在上位机启动固件烧录模块的模块;用于将固件从上位机下载到下位机的模块,其中,固件集成了用脚本程序语言编写的功能接口模块,功能接口模块是抽象出来的用于实现烧录过程中所需的功能。由上述方案可见,通过将功能接口模块以脚本程序语言提供出来的模块将功能接口模块脚本化,继而使得在上位机上便可实现对具有不同固件的下位机进行烧录,简化了使用人员的操作,有效增加工作效率。更进一步的方案,固件烧录装置含的固件的数量为两个以上,固件烧录装置还包括用于在上位机选择固件的模块。由上可见,将不同固件都集成在固件烧录装置内,能够对应不同的下位机选择不同的固件,使得固件烧录装置能够适用于不同固件,有效地增加固件烧录装置的通用性。更进一步的方案,还包括提取模块,用于在所述固件被选取后提取所述固件信息。由上可见,提取固件信息,根据烧录脚本在固件烧录装置生成人机交互窗口或者烧录过程所需的功能按键,使得固件烧录装置能够将固件更方便地写入下位机。更进一步的方案,还包括校验模块,用于固件写入到下位机后对固件进行校验。由上可见,固件烧录装置运用校验模块使其在运行过程中更加稳定可靠,有效地提高使用人员的工作效率。更进一步的方案,固件烧录装置是采用多平台支持的面向对象程序语言编写。由上可见,采用多平台支持的面向对象程序语言,有效地增大固件烧录装置的通用性。附图说明图1是本发明固件制作方法的流程图。图2是本发明固件烧录方法的流程图。图3是本发明固件制作装置的系统框图。图4是本发明固件烧录装置的系统框图。以下结合附图及实施例对本发明作进一步说明。具体实施方式本发明的固件烧录方法是将固件从上位机写入下位机的过程,因此在固件烧录前,需要制造固件,固件的制造方法的流程如图1所示。编程人员制作固件时,首先是执行步骤S11,即根据实际所需的功能和要求进行编译代码,然后执行步骤S12,利用编译程序将编译代码生成目标文件,其目标文件是可以被电脑直接识别且可直接运行的机器码集合。制作完成目标文件后执行步骤S13,制作配置文件,配置文件为用户所要加载所需环境的设置和文件的集合,其包括所有用户专用的配置设置,如程序项目、系统参数、工作频段、时钟信号、鼠标设置及窗口的大小和位置等。制作完成配置文件后,将执行下一步骤S14,制作烧录脚本,烧录脚本包括上位机与下位机进行一问一答式的数据交互方式和烧录过程中烧录程序所需要用的功能接口模块,其中,功能接口模块为应用在烧录程序上为烧录程序提供特定的功能,如为烧录程序提供烧录进度条、程序按钮、备份功能等。制作脚本时,执行步骤S15,抽象出功能接口模块,功能接口模块所实现的功能是用于为用户在烧录固件时提供人机交互的窗口,用户可以通过该窗口有效地将固件写入下位机中。其中,该功能接口模块是以脚本程序语言提供出来的,即执行步骤S16,并执行下一步S17,将以脚本程序语言编写的功能接口模块编写到烧录脚本中,这样就完成制作目标文件、配置文件和烧录脚本。下一步将执行S18即将目标文件、配置文件和烧录脚本封装起来并给与加密,最终将目标文件、配置文件和烧录脚本封装并集成成为固件,即执行步骤S19。上述固件可以应用如图3所示的固件制造装置制造,固件制作装置3包括编译模块31、配置模块32、脚本模块33和封装模块34,编译模块31将编译代码生成目标文件,配置模块32将用户所要加载所需环境的设置和文件生成配置文件,抽象出烧录过程中所需的功能接口并生成功能接口模块35,脚本模块33将以脚本程序语言编写的该功能接口模块35和数据交互方式生成烧录脚本,最后利用封装模块34将目标文件、配置文件和烧录脚本封装并加密成为固件。固件烧录方法实施例:本实施例是将上述制作完成的固件通过烧录方式下载到下位机中,参照图2,图2是本发明固件烧录方法的流程图。首先在上位机执行启动固件烧录装置,即执行步骤S21。然后执行步骤S22,在烧录固件装置上选择对应的固件,随后执行步骤S23,对所选择的固件进行解码。由于为了防止他人盗用固件内的程序代码以及相关信息,所以在固件制作过程中采用了加密手段,解码后执行下一步步骤S24,提取配置文件,并且解析配置文件中的信息对固件烧录装置进行相关参数配置,使得固件烧录装置经过配置参数后能够顺畅地与下位机进行通讯。随后执行下一步骤S25,从解码后的固件提取出烧录脚本,然后固件烧录装置读取烧录脚本中的数据交互方式和功能接口模块的相关数据,固件烧录装置根据其数据交互方式与烧录过程中所需的功能接口模块进行交互,在固件烧录装置生成人机交互窗口或者烧录过程所需的功能按键,即执行步骤S26,操作人员通过这些人机交互的窗口和功能按键实现操控固件的烧录过程。随后执行下一步步骤S27,烧录装置调用操作系统提供的应用程序编程接口,由于不同操作系统如windows、Linux、Macos等操作系统具有不同的应用编程接口,调用对应的操作系统的应用程序编程接口使得固件可以从上位机下载到下位机中。随后通过执行步骤S28,操作系统在固件中调用对应的USB驱动来连接下位机,当上位机通过USB数据线与下位机连接时,通过控制固件烧录装置使得固件从应用编程接口通过USB接口下载到下位机中,然后上位机则向下位机以数据包形式发送固件到下位机中,即执行步骤S29。当然发送完毕时,则执行步骤S30,对下载到下位机的数据包进行校验,校验完毕后执行步骤S31,上位机从下位机接收返回的校验信息,校验信息包括校验成功信息或校验失败信息,当上位机接收到校验信息后执行下一步步骤S32,处理返回的校验信息,并且生成烧录日志,即步骤S33。使用人员通过查看烧录日志则可了解烧录的详细过程和参数等,最后执行步骤S34,将显示烧录成功或烧录失败。固件烧录装置实施例:参见图4,固件烧录装置4包括启动模块41、显示模块42、固件选择模块43、解码模块44、提取模块45、配置模块46、系统检测模块47、调用模块48、连接模块49、发送模块50、检验模块51、接收模块52、处理模块53和日志模块54。启动模块41启动固件烧录装置后,显示模块42显示操作界面,用户利用固件选择模块43选择相应的固件,解码模块44则对该固件进行解码,提取模块45提取固件内相关信息,其中包括配置文件,还包括烧录脚本中的数据交互方式和功能接口模块,配置模块46则根据配置文件解析配置文件中的信息对固件烧录装置进行相关参数配置,使得固件烧录装置经过配置参数后能够顺畅地与下位机进行通讯。配置模块46根据烧录脚本与烧录过程中所需的功能接口模块进行交互,在固件烧录装置生成人机交互窗口或者烧录过程所需的功能按键,操作人员通过这些人机交互的窗口和功能按键实现操控固件的烧录过程。系统检测模块47检测本操作系统并将检测结果发送到调用模块48,调用模块48根据检测结果调用对应的操作系统的用程序编程接口和对应的USB驱动,当上位机通过USB数据线与下位机连接时,连接模块49检测上位机与下位机连接成功,则发送模块50利用应用编程接口发送固件,固件再通过USB接口传输到下位机中。发送完毕后,校验模块51对发送完毕的固件进行校验,并将校验结果发送到接收模块52,接收模块52接收到校验信息后传送到处理模块53,处理模块53对校验信息进行处理并利用日志模块54生成烧录日志,最后显示模块根据校验信息显示烧录成功过烧录失败。由上述方案可见,固件烧录装置保存有多个固件供用户使用,用户可以根据下位机的不同而选择能够的固件,同时固件烧录装置是采用多平台支持的面向对象程序语言编写,如C++等,通过多平台支持的面向对象程序语言可以使不同的操作平台都能够操作使用。另外,脚本语言采用的是Lua语言将功能接口模块以脚本化程序语言提供出来,利用通用性高且方便操作使用的上述固件烧录方法和固件烧录装置,可以有效地减少在固件烧录过程遇到平台与平台之间相不兼容问题,方便了使用人员,有效地增加其工作效率。最后需要强调的是,上述实施例只是本发明的较优实施例,例如驱动部分还可以采用的串口驱动等其他类型的接口,从而达到本发明目的,上述的都是本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1