CN111708548A - 软件安装方法、装置、设备及存储介质 - Google Patents

软件安装方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111708548A
CN111708548A CN202010559944.8A CN202010559944A CN111708548A CN 111708548 A CN111708548 A CN 111708548A CN 202010559944 A CN202010559944 A CN 202010559944A CN 111708548 A CN111708548 A CN 111708548A
Authority
CN
China
Prior art keywords
software package
data
test
system software
burned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010559944.8A
Other languages
English (en)
Inventor
何力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202010559944.8A priority Critical patent/CN111708548A/zh
Publication of CN111708548A publication Critical patent/CN111708548A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种软件安装方法、装置、设备及存储介质,该方法包括:接收待烧录数据,所述待烧录数据包括测试软件包和***软件包;按照烧录工艺烧录所述待烧录数据至存储位置;在烧录完成时,控制运行所述测试软件包以执行硬件测试;响应于接收到的触发重启指令,控制运行所述***软件包以安装***软件。该方案仅需进行一次烧录操作,能够在运行测试软件包对终端设备执行硬件测试完成后,响应于触发重启指令,自动切换至***软件包以安装***软件,减少了终端设备的生产工序,很大程度上提高了终端设备的生产出厂效率,增加了终端设备的生产产能。

Description

软件安装方法、装置、设备及存储介质
技术领域
本发明一般涉及电子技术领域,具体涉及一种软件安装方法、装置、设备及存储介质。
背景技术
随着科技的进步和计算机技术的不断发展,智能手机、智能电视等智能设备已经得到了大规模的普及应用,为了更好的将智能设备投入使用,需要在工厂生产过程中进行***软件安装,使得出厂的智能设备为用户使用模式。
目前,现有的智能设备在生产过程中的软件安装通过使用升级软件包完成,该升级软件包分为工厂测试软件包和***软件包,在实际操作过程中,需要进行两次安装升级操作,如通过主板厂基于工厂测试软件包完成主板烧录工序,并通过整机厂基于用户软件包完成整机软件烧录工序。
然而,上述软件安装方法需要主板厂和整机厂等多个工厂进行多次烧录软件工序,从而使得生产工序增多,同时增加了安装过程中出现软件问题的风险,降低了设备的生产出厂效率。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种软件安装方法、装置、设备及存储介质,能够减少了终端设备的生产工序,提高了终端设备的生产出厂效率,增加了终端设备的生产产能。
第一方面,本申请提供了一种软件安装方法,该方法包括:
接收待烧录数据,所述待烧录数据包括测试软件包和***软件包;
按照烧录工艺烧录所述待烧录数据至存储位置;
在烧录完成时,控制运行所述测试软件包以执行硬件测试;
响应于接收到的触发重启指令,控制运行所述***软件包以安装***软件。
第二方面,本申请提供了一种软件安装装置,该装置包括:
接收模块,用于接收待烧录数据,所述待烧录数据包括测试软件包和***软件包;
烧录模块,用于按照烧录工艺烧录所述待烧录数据至存储位置;
测试模块,用于在烧录完成时,控制运行所述测试软件包以执行硬件测试;
安装模块,用于响应于接收到的触发重启指令,控制运行所述***软件包以安装***软件。
第三方面,本申请实施例提供一种终端设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如第一方面的软件安装方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于实现如第一方面所述的软件安装方法。
本申请实施例提供的软件安装方法、装置、设备及存储介质,通过接收待烧录数据,该待烧录数据包括测试软件包和***软件包,并按照烧录工艺烧录待烧录数据至存储位置,在烧录完成时,控制运行测试软件包以执行硬件测试,并响应于接收到的触发重启指令,控制运行***软件包以按照***软件。该方法仅需在接收到待烧录数据后,进行一次烧录操作将待烧录数据烧录至存储位置,减少了多次烧录过程中带来的软件问题风险,并能够在运行测试软件包对终端设备执行硬件测试完成后,响应于触发重启指令,自动切换至***软件包以安装***软件,减少了终端设备的生产工序,很大程度上提高了终端设备的生产出厂效率,增加了终端设备的生产产能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的软件安装方法的应用环境的结构示意图;
图2为本申请实施例提供的软件安装方法的流程示意图;
图3为本申请实施例提供的预先获取待烧录数据的结构示意图;
图4为本申请实施例提供的软件安装方法的流程示意图;
图5为本申请实施例提供的执行触发重启指令时运行的镜像文件的结构示意图;
图6为本申请实施例提供的软件安装装置的结构示意图;
图7为本申请另一实施例提供的软件安装装置的结构示意图;
图8为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
可以理解,随着终端的智能化程度增加,其在人们的日程生活中的应用越来越普及。终端作为一种智能化的设备,为保障用户体验,终端设备在出厂投入使用之前,需要在工厂生产过程中进行硬件测试和***软件安装,使得出厂的智能设备为用户使用模式。
目前,现有的工厂生产过程中的软件安装方法,是根据不同厂商的实际流程进行操作的,使用升级软件包完成软件安装流程,该升级软件包分为:工厂测试软件包和***软件包,其中,工厂测试软件包主要用于测试硬件主板和整机功能,***软件包,是提供给用户最终使用的软件,主要用于***功能操作。在实际工厂生产过程中,需要两次软件安装过程,通常是主板厂基于工厂测试软件包完成主板烧录工序,整机厂基于***软件包完成整机软件烧录工序。但是,该方法需要多个工厂进行烧录工序,从而使得生产工序增多,同时增加了软件安装过程中的出现软件问题的风险,降低了设备的生产出厂效率和设备的出厂产能。
基于上述缺陷,本申请提供了一种软件安装方法,通过接收待烧录数据,该待烧录数据包括测试软件包和***软件包,并按照烧录工艺烧录待烧录数据至存储位置,在烧录完成时,控制运行测试软件包以执行硬件测试,并响应于接收到的触发重启指令,控制运行***软件包以按照***软件。与现有技术相比,该方法仅需通过一次烧录操作将待烧录数据烧录至存储位置,减少了多次烧录过程中带来的软件问题风险,并能够在运行测试软件包对终端设备执行硬件测试完成后,响应于触发重启指令,自动切换至***软件包以安装***软件,减少了终端设备的生产工序,很大程度上提高了终端设备的生产出厂效率,增加了终端设备的生产产能。
图1是本申请实施例提供的软件安装方法的实施环境结构图。如图1所示,该实施环境结构包括:终端设备100和上位机200。
终端设备100可以包括智能手机、平板电脑、计算机、掌上游戏机以及智能家电等安装有操作***的设备,智能家电如智能电视等。本申请实施例中对操作***的类型不做限定,例如可以是包括安卓(Android)操作***、窗口(Windows)操作***以及苹果(ios)操作***等。
上位机200可以包括串行接口,可选的,该串行接口可以是一个,也可以是多个。该串行接口可以是Type-C插口,也可以是USB插口。上位机200可以通过串行接口连接数据线的一端,并数据线的另一端与终端设备100形成连接通道,实现终端设备100与上位机200的通信。
本申请实施例提供的软件安装方法可以应用于终端设备在生产出厂前的工程验证测试(Engineering Verification Test,简称EVT)、设计验证测试(DesignVerification Test,简称DVT)、小批量过程验证测试(Pilot-run Verification Test,简称PVT)等阶段。
为了便于理解和说明,下面通过图2至图8详细阐述本申请实施例提供的软件安装方法、装置、设备及存储介质。
图2所示为本申请实施例提供的软件安装方法的流程示意图,该方法应用于终端设备,如图2所示,该方法包括:
S101、接收待烧录数据,该待烧录数据包括测试软件包和***软件包。
具体的,在对终端设备进行烧录处理之前,可以是程序开发人员根据硬件测试逻辑预先编译好测试软件包,以及根据***软件逻辑预先编译好***软件包,该测试软件包和***软件包可以是编译好的机器可识别的二进制文件。并对测试软件包和***软件包进行合并处理,得到可执行烧录文件,然后对可执行烧录文件进行数据压缩,得到待烧录数据。其中,该待烧录数据中配置有切换至***软件包的运行逻辑。
需要说明的是,测试软件包主要用于测试终端设备的硬件主板和整机功能,如测试终端设备的接口是否通畅,屏幕的亮度、声音模块是否正常等。***软件包,即量产软件包,是提供给最终用户使用的软件,包括内核的***软件。
请参见图3所示,服务器编译后得到的版本类型包括测试软件包和***软件包,其中,测试软件包的大小可以是3.2GiB,***软件包的大小可以是2.0GiB,将测试软件包和***软件包进行合并处理,得到可执行烧录文件,其大小为5.2GiB,为了减小软件包的大小,对可执行烧录文件进行压缩处理,得到待烧录数据大小为为3GiB。其中,Gibibyte(gigabinary byte,简称GiB)是信息或计算机硬盘存储的一个单位,1GiB=(1024*1024*1024)B=1073741824B。
在对可执行烧录文件进行压缩处理时,可以从可执行烧录文件中查找相同数值的连续数据,并确定连续数据的数值和数量,然后基于数值和数量,以预设格式将连续数据进行压缩处理,得到待烧录数据。其中,该预设格式可以是{value|number},例如存储单元中有连续的100个相同数据为3,则将相同的连续数据保存为{3|100}的格式。
通过对可执行烧录文件进行数据压缩,从而缩小了待烧录数据的大小,节省了烧录时间,能够极大地提高了数据的烧录速率。
终端设备在接收到待烧录数据时,可以对待烧录数据进行解压缩处理,得到可执行烧录文件,并对可执行烧录文件进行解析处理,得到测试软件包和***软件包。可选的,可以解析待烧录数据,得到与存储表格对应的数值和数量,并按照表格对应的数值和数据顺序读取待烧录数据包含的数据元素,然后基于数据元素确定可执行烧录文件。例如,得到的待烧录数据中包括{3|100}的数据格式,可以确定出对应的数值为3,数量为100,可以根据数据顺序和数值确定出待烧录数据包含的数据元素a,从而根据数据元素a确定出可执行烧录文件。
S102、按照烧录工艺烧录待烧录数据至存储位置。
上位机可以通过串行接口与数据线的一端连接,数据线的另一端与终端设备进行连接,形成连接通道,上位机可以通过该连接通道向终端设备发送烧录请求,该烧录请求包括待烧录数据,待烧录数据包括测试软件包和***软件包,终端设备接收并响应于该烧录请求,按照烧录工艺将待烧录数据烧录至终端设备的存储位置。该待烧录数据包括测试软件包和***软件包,且配置有切换至***软件包的运行逻辑,也可以包括***软件对应的密钥等数据。
可选的,上述存储位置可以是终端设备的嵌入式多媒体控制器(Embedded MultiMedia Card,简称EMMC)中,其中,Emmc为存储器件,是指由闪存和集成在同一硅片上的闪存控制器组成的封装,至少包括MMC(多媒体卡)接口、快闪存储器设备及主控制器。
S102、在烧录完成时,控制运行测试软件包以执行硬件测试。
在按照烧录工艺将待烧录数据烧录至终端设备后,即将测试软件包和***软件包存储在终端设备的EMMC中,其中,测试软件包可以包括多个测试镜像文件,***软件包可以包括多个***镜像文件,不同的测试镜像文件和***镜像文件分别存储在终端设备的不同分区中,当将待烧录数据烧录完成时,加载测试软件包和***软件包,运行测试软件包得到待测试硬件和测试数据,并基于测试数据检测待测试硬件是否符合预设标准,以对终端设备进行硬件设备的功能测试。
示例性地,待测试硬件可以是终端设备的wifi模块、usb接口、蓝牙模块、显示模块、声音模块等,测试数据可以是每个模块对应的模块参数,如显示模块的测试数据可以是显示亮度、对比度、清晰度等参数,通过将测试数据与预设标准值进行比对,从而检测待测试硬件是否符合出厂标准。可选的,测试数据还可以包括mac地址、密钥key等,还可以是测试硬件mac地址的写入是否正确,***应用的密钥key写入是否正确等,该密钥key可以包括数字版权管理(widevine key)、高带宽数码内容保护(HDCP key)、MIRACAST KEY等。
S103、响应于接收到的触发重启指令,控制运行***软件包以安装***软件。
具体的,当终端设备基于测试软件包进行硬件测试完成后,上位机可以向终端设备发送触发重启指令,该触发重启指令可以是“switch to user”,终端设备接收并响应于该触发重启指令,重启并控制运行***软件包以安装***软件,以使得终端设备在开机后进入用户使用模式,其中,用户使用模式表示终端设备在出厂后用户可以进行操作使用。在开机阶段,终端设备删除测试软件包并确定切换至***软件包,并基于***软件包对终端设备进行软件安装,使得终端设备在开机后,呈现出完整的用户使用模式。
可选的,作为一种可实现方式,图4为本申请实施例提供的对终端设备进行软件安装方法的流程示意图,如图4所示,该方法包括:
S201、响应于接收到的触发重启指令,确定文件读取路径和重启文件读取路径。
S202、控制删除当前文件读取路径对应的测试软件包,并修改文件读取路径为重启文件读取路径。
S203、按照重启文件读取路径读取***软件包。
S204、控制运行***软件包以安装***软件。
具体的,将***硬盘划分为不同的分区,每个分区对应安装有不同的软件包,测试软件包和***软件包分别存储在***的不同分区中,当接收并响应于上位机发送的触发重启指令后,可以先确定文件读取路径和重启文件读取路径,其中,文件读取路径可以是安装有测试软件包的硬盘分区位置,重启文件读取路径为安装有***软件包的硬盘分区位置。在确定文件读取路径和重启文件读取路径后,可以控制删除当前文件路径对应的测试软件包,并修改文件读取路径为重启文件读取路径,按照重启文件读取路径读取***软件包,然后控制运行***软件包以安装***软件,实现开机启动后呈现用户使用模式。
请参见图5所示,待烧录数据Gemini image包括测试软件包Factory images和***软件包User images,测试软件包可以包括多个测试镜像文件,***软件包可以包括多个***镜像文件,当将待烧录数据烧录至终端设备后,可以启动并运行如图5左边示意的测试镜像文件fact_sub_image1、fact_sub_image2、fact_sub_image3,和***镜像文件中的user_sub_image4、user_sub_image5、user_sub_image6,运行测试镜像文件以执行硬件测试,当对终端设备执行硬件测试完成后,向上位机发送测试完成的指示,然后上位机发送触发重启指令“switch to user”至终端设备,终端设备接收到上位机发送的触发重启指令,重启设备,删除了测试软件包,运行***软件包,如图5右边图示,即启动运行的***镜像文件可以是user_sub_image1、user_sub_image2、user_sub_image3、user_sub_image4、user_sub_image5、user_sub_image6。
其中,***软件包可以包括引导程序镜像文件和内核镜像文件,在运行***软件包以按照***软件的过程中,可以是控制运行引导程序镜像文件,初始化硬件设备,当初始化硬件设备完成后,控制运行内核镜像文件,初始化***环境,当初始化***环境完成后,启动***初始化进程,开始按照***软件。
需要说明的是,上述引导程序镜像文件,为bootloader,能够初始化终端设备的硬件设备,是在操作***运行之前运行的一段程序,是设备运行的第一个程序,用于把操作***镜像文件拷贝至DRAM中,然后跳转到镜像文件的入口去执行该文件,也可以称之为进入启动加载模式。上述内核镜像文件主要用户初始化***环境。
示例性的,以Android***为例简述终端设备的开机启动的***软件安装流程,Android的启动流程可以分为两个阶段,第一阶段是linux的启动,第二阶段是Android的启动(可以称为上层开机流程)。
终端设备上电后,第一阶段是:控制运行引导程序镜像文件,引导芯片开始从固化的ROM的预设代码开始执行,然后加载引导程序镜像文件到DRAM中运行,其中,引导程序镜像文件主要是执行设备硬件初始化,当初始化硬件设备完成后,bootloader会引导内核镜像文件加载至DRAM中继续运行,其中,内核镜像文件主要是初始化终端设备的linux***环境,并为Android虚拟机启动做设备。
当对***环境初始化完成后,进入第二阶段,可以启动初始化进程,如启动init进程,初始化Android虚拟机程序,init进程负责创建***中最关键的几个核心daemon(守护)进程,包括但不限于zygote和service manager。其中,zygote是Android启动的第一个dalvik虚拟机,它负责启动Java进程。service manager是Binder通信的基础。zygote进程是所有java进程的父进程,创建java虚拟机并为java虚拟机注册JNI方法,例如,zygote虚拟机启动子进程system_server,创建服务器端Socket,启动SystemServer进程,并启动Binder线程池和SystemServiceManager,进一步启动各种***服务。同时,被SystemServer进程启动的AMS会启动Launcher,Launcher启动后会将已安装应用的快捷图标显示到界面上,如终端界面上呈现阅读应用、钱包应用等的快捷图标。
本实施例提供的软件安装方法,通过接收待烧录数据,该待烧录数据包括测试软件包和***软件包,并按照烧录工艺烧录待烧录数据至存储位置,在烧录完成时,控制运行测试软件包以执行硬件测试,并响应于接收到的触发重启指令,控制运行***软件包以按照***软件。该方法仅需在接收到待烧录数据后,进行一次烧录操作将待烧录数据烧录至存储位置,减少了多次烧录过程中带来的软件问题风险,并能够在运行测试软件包对终端设备执行硬件测试完成后,响应于触发重启指令,自动切换至***软件包以安装***软件,减少了终端设备的生产工序,很大程度上提高了终端设备的生产出厂效率,增加了终端设备的生产产能。
另一方面,图6为本申请实施例提供的一种软件安装装置的结构示意图。该装置可以为终端设备内的装置,如图6所示,该装置600包括:
接收模块610,用于接收待烧录数据,该待烧录数据包括测试软件包和***软件包;
烧录模块620,用于按照烧录工艺烧录待烧录数据至存储位置;
测试模块630,用于在烧录完成时,控制运行测试软件包以执行硬件测试;
安装模块640,用于响应于接收到的触发重启指令,控制运行***软件包以安装***软件。
可选的,如图7所示,上述安装模块640,包括:
确定单元641,用于响应于接收到的触发重启指令,确定文件读取路径和重启文件读取路径;
第一处理单元642,用于控制删除当前文件读取路径对应的测试软件包,并修改文件读取路径为重启文件读取路径;
读取单元643,用于按照重启文件读取路径读取***软件包;
安装单元644,用于控制运行***软件包以安装***软件。
可选的,上述安装单元644,具体用于:
控制运行引导程序镜像文件,初始化硬件设备;
当初始化硬件设备完成后,控制运行所述内核镜像文件,初始化***环境;
当初始化***环境完成后,启动***初始化进程,开始安装***软件。
可选的,上述测试模块630,包括:
解析单元631,用于解析测试软件包得到待测试硬件和测试数据;
检测单元632,用于基于测试数据检测待测试硬件是否符合预设标准。
可选的,上述接收模块610,包括:
解压单元611,用于对待烧录数据进行解压缩处理,得到可执行烧录文件;
第二处理单元612,用于对可执行烧录文件进行解析处理,得到测试软件包和***软件包。
可选的,上述解压单元611,用于:
解析待烧录数据,得到与存储表格对应的数值和数量;
按照表格对应的数值和数据顺序读取待烧录数据包含的数据元素;
基于数据元素确定可执行烧录文件。
本申请实施例提供的软件安装装置,通过接收模块接收待烧录数据,该待烧录数据包括测试软件包和***软件包,并通过烧录模块按照烧录工艺烧录待烧录数据至存储位置,然后通过测试模块在烧录完成后,控制运行测试软件包以执行硬件测试,并通过按照模块响应于接收到的触发重启指令,控制运行***软件包以按照***软件。该装置仅需在接收到待烧录数据后,进行一次烧录操作将待烧录数据烧录至存储位置,减少了多次烧录过程中带来的软件问题风险,并能够在运行测试软件包对终端设备执行硬件测试完成后,响应于触发重启指令,自动切换至***软件包以安装***软件,减少了终端设备的生产工序,很大程度上提高了终端设备的生产出厂效率,增加了终端设备的生产产能。
另一方面,本申请实施例提供的设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如上述的软件安装方法。
下面参考图7,图7为本申请实施例的终端设备的计算机***的结构示意图。
如图7所示,计算机***700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分703加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有***700操作所需的各种程序和数据。CPU 701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分703从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的***中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器,包括:接收模块、烧录模块、测试模块及安装模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,接收模块还可以被描述为“用于接收待烧录数据,所述待烧录数据包括测试软件包和***软件包”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本申请的软件安装方法:
接收待烧录数据,所述待烧录数据包括测试软件包和***软件包;
按照烧录工艺烧录所述待烧录数据至存储位置;
在烧录完成时,控制运行所述测试软件包以执行硬件测试;
响应于接收到的触发重启指令,控制运行所述***软件包以安装***软件。
综上所述,本申请实施例提供的软件安装方法、装置、设备及存储介质,通过接收待烧录数据,该待烧录数据包括测试软件包和***软件包,并按照烧录工艺烧录待烧录数据至存储位置,在烧录完成时,控制运行测试软件包以执行硬件测试,并响应于接收到的触发重启指令,控制运行***软件包以按照***软件。该方法仅需在接收到待烧录数据后,进行一次烧录操作将待烧录数据烧录至存储位置,减少了多次烧录过程中带来的软件问题风险,并能够在运行测试软件包对终端设备执行硬件测试完成后,响应于触发重启指令,自动切换至***软件包以安装***软件,减少了终端设备的生产工序,很大程度上提高了终端设备的生产出厂效率,增加了终端设备的生产产能。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种软件安装方法,其特征在于,所述方法包括:
接收待烧录数据,所述待烧录数据包括测试软件包和***软件包;
按照烧录工艺烧录所述待烧录数据至存储位置;
在烧录完成时,控制运行所述测试软件包以执行硬件测试;
响应于接收到的触发重启指令,控制运行所述***软件包以安装***软件。
2.根据权利要求1所述的方法,其特征在于,响应于接收到的触发重启指令,控制运行所述***软件包以安装***软件,包括:
响应于接收到的所述触发重启指令,确定文件读取路径和重启文件读取路径;
控制删除所述当前文件读取路径对应的测试软件包,并修改文件读取路径为重启文件读取路径;
按照所述重启文件读取路径读取***软件包;
控制运行所述***软件包以安装***软件。
3.根据权利要求2所述的方法,其特征在于,所述***软件包包括引导程序镜像文件和内核镜像文件,则控制运行所述***软件包以安装***软件包括:
控制运行所述引导程序镜像文件,初始化硬件设备;
当所述初始化硬件设备完成后,控制运行所述内核镜像文件,初始化***环境;
当所述初始化***环境完成后,启动***初始化进程,开始安装***软件。
4.根据权利要求1所述的方法,其特征在于,控制运行所述测试软件包以执行硬件测试,包括:
解析所述测试软件包得到待测试硬件和测试数据;
基于所述测试数据检测所述待测试硬件是否符合预设标准。
5.根据权利要求1所述的方法,其特征在于,所述接收待烧录数据,包括:
对所述待烧录数据进行解压缩处理,得到可执行烧录文件;
对所述可执行烧录文件进行解析处理,得到测试软件包和***软件包。
6.根据权利要求5所述的方法,其特征在于,对所述待烧录数据进行解压缩处理,得到可执行烧录文件,包括:
解析所述待烧录数据,得到与存储表格对应的数值和数量;
按照所述表格对应的数值和数据顺序读取所述待烧录数据包含的数据元素;
基于所述数据元素确定所述可执行烧录文件。
7.一种软件安装装置,其特征在于,该装置包括:
接收模块,用于接收待烧录数据,所述待烧录数据包括测试软件包和***软件包;
烧录模块,用于按照烧录工艺烧录所述待烧录数据至存储位置;
测试模块,用于在烧录完成时,控制运行所述测试软件包以执行硬件测试;
安装模块,用于响应于接收到的触发重启指令,控制运行所述***软件包以安装***软件。
8.根据权利要求7所述的软件安装装置,其特征在于,所述安装模块,包括:
确定单元,用于响应于接收到的所述触发重启指令,确定文件读取路径和重启文件读取路径;
第一处理单元,用于控制删除所述当前文件读取路径对应的测试软件包,并修改文件读取路径为重启文件读取路径;
读取单元,用于按照所述重启文件读取路径读取***软件包;
安装单元,用于控制运行所述***软件包以安装***软件。
9.一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于被处理器执行时实现权利要求1-6中任一项所述的方法。
CN202010559944.8A 2020-06-18 2020-06-18 软件安装方法、装置、设备及存储介质 Pending CN111708548A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010559944.8A CN111708548A (zh) 2020-06-18 2020-06-18 软件安装方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010559944.8A CN111708548A (zh) 2020-06-18 2020-06-18 软件安装方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111708548A true CN111708548A (zh) 2020-09-25

Family

ID=72541527

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010559944.8A Pending CN111708548A (zh) 2020-06-18 2020-06-18 软件安装方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111708548A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363950A (zh) * 2020-11-30 2021-02-12 杭州海康汽车软件有限公司 应用程序的调试方法及装置
CN113885899A (zh) * 2021-10-25 2022-01-04 苏州浪潮智能科技有限公司 一种固态硬盘固件烧录方法、装置、设备和存储介质
CN114781567A (zh) * 2022-06-21 2022-07-22 深圳市信润富联数字科技有限公司 检测设备安装方法、装置、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004690A (zh) * 2007-01-09 2007-07-25 京信通信技术(广州)有限公司 嵌入式***加载程序与应用程序一体化更新方法
CN103064715A (zh) * 2013-01-09 2013-04-24 上海大唐移动通信设备有限公司 自动路测***远程升级方法及***
CN103218280A (zh) * 2013-04-15 2013-07-24 飞天诚信科技股份有限公司 一种usb设备的硬件通用测试方法
CN104765697A (zh) * 2015-03-10 2015-07-08 安科智慧城市技术(中国)有限公司 一种嵌入式设备交互方法及***
WO2016197883A1 (zh) * 2015-06-11 2016-12-15 中兴通讯股份有限公司 一种在线更新单片机程序的方法及***
CN108804264A (zh) * 2018-05-15 2018-11-13 上海金脉电子科技有限公司 基于fct测试程序对单片机进行测试的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004690A (zh) * 2007-01-09 2007-07-25 京信通信技术(广州)有限公司 嵌入式***加载程序与应用程序一体化更新方法
CN103064715A (zh) * 2013-01-09 2013-04-24 上海大唐移动通信设备有限公司 自动路测***远程升级方法及***
CN103218280A (zh) * 2013-04-15 2013-07-24 飞天诚信科技股份有限公司 一种usb设备的硬件通用测试方法
CN104765697A (zh) * 2015-03-10 2015-07-08 安科智慧城市技术(中国)有限公司 一种嵌入式设备交互方法及***
WO2016197883A1 (zh) * 2015-06-11 2016-12-15 中兴通讯股份有限公司 一种在线更新单片机程序的方法及***
CN108804264A (zh) * 2018-05-15 2018-11-13 上海金脉电子科技有限公司 基于fct测试程序对单片机进行测试的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363950A (zh) * 2020-11-30 2021-02-12 杭州海康汽车软件有限公司 应用程序的调试方法及装置
CN113885899A (zh) * 2021-10-25 2022-01-04 苏州浪潮智能科技有限公司 一种固态硬盘固件烧录方法、装置、设备和存储介质
CN113885899B (zh) * 2021-10-25 2024-01-12 苏州浪潮智能科技有限公司 一种固态硬盘固件烧录方法、装置、设备和存储介质
CN114781567A (zh) * 2022-06-21 2022-07-22 深圳市信润富联数字科技有限公司 检测设备安装方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
US20210358192A1 (en) Rendering method and apparatus
CN111708548A (zh) 软件安装方法、装置、设备及存储介质
US8914785B2 (en) Providing virtual appliance system firmware images
US10860303B2 (en) Selective operating system patching/updating
US11847469B2 (en) Intelligent device and method for controlling boot screen of the intelligent device
CN109905770B (zh) 终端开机启动方法、装置及终端
CN104978231A (zh) 基于内部存储分区的多***及其加载和切换方法
CN102135893A (zh) 将操作***集成到bios芯片及启动服务器上操作***的方法
CN107577472B (zh) 软件安装方法、装置及计算机可读存储介质
US20130179670A1 (en) Booting method of multimedia device and multimedia device
CN110825419B (zh) 一种固件刷新方法、装置及电子设备和存储介质
CN104866324A (zh) 一种便携操作***构建方法及便携存储器
CN110046094B (zh) 运行环境的切换方法和运行环境的切换装置
CN111427596A (zh) 一种软件升级的方法、装置及终端设备
US6961848B2 (en) System and method for supporting legacy operating system booting in a legacy-free system
CN104050001A (zh) 基于Android***的资源处理方法、装置和设备
US20150324209A1 (en) Operating System Switching Method and Dual-Operating System Electronic Device Using the Same
CN115291946A (zh) 鸿蒙***移植方法、装置、电子设备及可读介质
CN102135923A (zh) 将操作***集成到bios芯片的方法及启动该操作***的方法
US10552135B1 (en) Reducing a size of an application package
US6604152B1 (en) Executing program installed in computer slot in one of plural environments comprising a main operating system or small operating system or no operating system
US7234047B1 (en) Method for managing memory space during system initialization
EP2835737A1 (en) Data terminal running mode switching method, device, and data terminal
CN111399926A (zh) 下载启动程序的方法和装置
CN115827035A (zh) 设备升级方法、装置、存储介质及电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination