CN108345464A - 一种安卓系统的启动方法及安卓车机 - Google Patents

一种安卓系统的启动方法及安卓车机 Download PDF

Info

Publication number
CN108345464A
CN108345464A CN201810182548.0A CN201810182548A CN108345464A CN 108345464 A CN108345464 A CN 108345464A CN 201810182548 A CN201810182548 A CN 201810182548A CN 108345464 A CN108345464 A CN 108345464A
Authority
CN
China
Prior art keywords
android system
bootloader
android
mcu
startup
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
CN201810182548.0A
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.)
BORQS BEIJING Ltd
Original Assignee
BORQS BEIJING 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 BORQS BEIJING Ltd filed Critical BORQS BEIJING Ltd
Priority to CN201810182548.0A priority Critical patent/CN108345464A/zh
Publication of CN108345464A publication Critical patent/CN108345464A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process

Landscapes

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

Abstract

一种安卓系统的启动方法及安卓车机,所述方法包括步骤:配置MCU及bootloader的程序数据为不可擦除状态;配置安卓系统的上电系统,通过检测MCU的硬件信号判定bootloader的工作模式是正常启动模式还是系统恢复模式;bootloader根据工作模式加载启动安卓系统。本发明的安卓系统的启动方法及安卓车机,能够在多次启动安卓系统失败的情况下,自动进入系统恢复模式,给安卓车机恢复备份的安卓系统。

Description

一种安卓系统的启动方法及安卓车机
技术领域
本发明涉及安卓系统技术领域,特别是涉及一种安卓系统的启动方法及安卓车机。
背景技术
安卓车机是指安装有安卓系统的车载导航主机,因其具有智能化、可联网、开放平台、海量应用以及界面炫丽的特点,达到了广泛的应用。但是在用户使用安卓车机的过程中,经常会由于环境恶劣、系统异常、联网失败等因素导致安卓系统受损,不能正常启机,给用户带来麻烦。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种安卓系统的启动方法及安卓车机,可以在安卓系统死机后自动更新主程序,重启系统。
为实现上述目的,本发明提供的安卓系统的启动方法,包括以下步骤:
配置MCU及bootloader的程序数据为不可擦除状态;
配置安卓系统的上电系统,通过检测MCU的硬件信号判定bootloader的工作模式是正常启动模式还是系统恢复模式;
bootloader根据工作模式加载启动安卓系统。
所述通过检测MCU的硬件信号判定bootloader的工作模式是正常启动模式还是系统恢复模式的步骤,进一步包括步骤:
若MCU的两个GPIO管脚的高低电平为1和0,则bootloader的工作模式为正常启动模式;
若MCU的两个GPIO管脚的高低电平为0和1,则bootloader的工作模式为系统恢复模式。
所述bootloader根据工作模式加载启动安卓系统的步骤进一步包括步骤:
若bootloader根据正常启动模式加载启动安卓系统失败,则bootloader根据系统恢复模式加载启动安卓系统。
所述bootloader根据正常启动模式加载启动安卓系统的步骤进一步包括步骤:
若在第一预设时间内根据正常启动模式启动安卓系统失败,则bootloader根据正常启动模式重启安卓系统,若根据正常启动模式重启安卓系统的次数大于等于第一预设次数,则转换bootloader的工作模式为系统恢复模式。
所述bootloader根据系统恢复模式加载启动安卓系统的步骤进一步包括步骤:
若在第二预设时间内根据系统恢复模式恢复系统失败,则bootloader重启第二预设次数的系统恢复模式恢复系统。
所述bootloader根据工作模式加载启动安卓系统的步骤进一步包括步骤:
MCU通过检测ARM的预设的GPIO管脚的电平信号,判定bootloader加载启动安卓系统是否成功。
进一步地,若ARM的预设的GPIO管脚的电平信号为0,则判定bootloader加载启动安卓系统完成;
若ARM的预设的GPIO管脚的电平信号为1,则判定bootloader加载启动安卓系统失败。
进一步地,若bootloader根据正常启动模式加载启动安卓系统,则禁止读写存储备份的安卓系统的存储空间。
若bootloader根据系统恢复模式加载启动安卓系统,则从存储空间读取备份的安卓系统,加载启动安卓系统。
进一步地,所述的安卓系统的启动方法,还包括步骤:安卓系统升级完毕后,若确认没有问题,则把升级好的安卓系统备份到备份安卓系统的存储空间里。
为实现上述目的,本发明提供的安卓车机,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。
本发明的安卓系统的启动方法及安卓车机,能够在多次启动安卓系统失败的情况下,自动进入系统恢复模式,给安卓车机恢复备份的安卓系统。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的MCU管理安卓车机开机过程的流程图;
图2为根据本发明的安卓系统的启动方法流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
在本发明的实施例中,安卓车机正常启动安卓系统需要经过MCU(微控制单元)启动,给ARM(微处理器)配置电源等设备;ARM运行bootloader(安卓系统加载启动程序)去加载启动安卓系统;安卓系统启动到home界面(launcher)等四部分。图1为根据本发明的MCU管理安卓车机开机过程的流程图,如图1所示,MCU管理安卓车机开机过程包括以下步骤:
在步骤101,MCU程序代码启动,通过硬件架构把MCU程序的代码设置成不可擦除状态;通过硬件架构把bootloader设置成不可擦除状态。
在步骤102,MCU确认bootloader正常启动到安卓启动状态。
在步骤103,MCU确认安卓系统启动到home状态(安卓系统启动完成的一种表现形式)。
在步骤104,在步骤103没有得到确认时,多次重启安卓系统。
在步骤105,多次重启安卓系统还是没有得到确认时,则强制bootloader自动进入系统恢复状态,从预设的安卓系统程序的存放处(存储空间)自动恢复安卓系统程序。
本发明的安卓系统的启动方法,通过预设安卓系统程序的存储空间;存储在安全的存储空间里的专门的烧录bootloader;以及存储在预设的MCU程序空间里的专门的MCU程序等,实现了不同于现有技术的安卓系统的启动方法。
图2为根据本发明的安卓系统的启动方法流程图,下面将参考图2,对本发明的安卓系统的启动方法进行详细描述。
在步骤201,配置MCU(微控制单元)及bootloader(安卓系统加载启动程序)的程序数据为不可擦除状态。
该步骤中,MCU配置MCU的程序空间为保护硬件。具体而言,采用已有的MCU flash防擦除技术,配置相应不能擦除的分区即可。
MCU配置安卓系统的bootloader的程序空间为保护硬件。具体而言,bootloader保存在nor-flash中,MCU的通用GPIO(输入/输出接口)直接控制Nor-flash的禁止擦写管脚(采用已有技术即可实现)。
在步骤202,配置安卓系统的上电系统,ARM(微处理器)运行bootloader。本步骤是本发明的核心步骤。该步骤中,MCU配置安卓系统的上电系统,让ARM运行bootloader。具体而言,
1)配置MCU的两个GPIO管脚的高低电平为(1,0),通知bootloader的工作模式为正常启动模式,bootloader加载启动安卓系统;同时设定安卓系统启动完成(bootcompleted)需要的时间为t1,并且设定重启安卓系统的次数为n。
2)MCU监控t1时间内ARM侧发来的握手信号是安卓系统启动完成还是安卓系统启动失败。具体而言,ARM用一个预设的GPIO管脚的电平信号通知MCU加载启动安卓系统的结果信息,若电平信号为0,则表示bootcompleted(安卓系统启动完成),若电平信号为1,则表示not bootcomleted(安卓系统启动失败)。
3)若安卓系统启动失败则重启安卓系统,若重启安卓系统的次数大于等于n,则配置MCU的两个GPIO管脚的高低电平为(0,1),通知bootloader的工作模式为系统恢复模式,复位ARM,指示ARM bootloader进入系统恢复模式;设定等待系统恢复完成的时间为t2。
4)MCU监视t2时间内ARM侧发来的系统恢复结果信号,若t2时间内系统恢复失败,则强制MCU重试m次系统恢复模式。其中,系统恢复结果信号可以复用加载启动安卓系统的结果信息,若预设的GPIO管脚的电平信号为0,则表示bootcompleted(系统恢复完成),若预设GPIO管脚的电平信号为1,则表示not bootcomleted(系统恢复失败)。
在本实施例中,t1暂定义为30秒;n暂定为3;t2暂定为20分钟;m暂定为2。
在本实施例中,ARM通过检测MCU配置的硬件信号,判定bootloader的工作模式是正常启动模式还是系统恢复模式,其中,
在正常启动模式下,ARM的硬件管脚设置禁止读写存储备份的安卓系统的存储空间。ARM正常引导安卓系统从指定的存储空间启动。在安卓系统启动完成(bootcompleted)后,通过ARM的一根GPIO管脚(安卓系统启动之前保持高电平,bootcompleted时变化成低电平)通知MCU:安卓系统启动完成。
在系统恢复模式下,ARM从备份系统的存储空间读取备份的安卓系统到DRAM,并计算checksum(总和检验码),确保读取的备份的安卓系统的正确性。采用相应的备份的安卓系统替换已有的安卓系统,完成系统恢复。在备份的安卓系统完成系统恢复后,通过ARM的一根GPIO管脚(系统恢复之前保持高电平,系统恢复完成时变化成低电平)通知MCU:备份系统恢复工作已完成。
优选地,安卓系统进行系统升级,例如OTA升级时,升级完毕后,若确认没有问题,则可以把升级好的安卓系统备份到备份安卓系统的存储空间里,以便系统损坏后进行系统恢复。
基于本发明的安卓系统的启动方法,本发明提供的安卓车机,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述方法的步骤。
本发明的安卓系统的启动方法及安卓车机,能够在多次启动安卓系统失败的情况下,自动进入系统恢复模式,给安卓车机恢复备份的安卓系统。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种安卓系统的启动方法,其特征在于,包括以下步骤:
配置MCU及bootloader的程序数据为不可擦除状态;
配置安卓系统的上电系统,通过检测MCU的硬件信号判定bootloader的工作模式是正常启动模式还是系统恢复模式;
bootloader根据工作模式加载启动安卓系统。
2.根据权利要求1所述的安卓系统的启动方法,其特征在于,所述通过检测MCU的硬件信号判定bootloader的工作模式是正常启动模式还是系统恢复模式的步骤,进一步包括步骤:
若MCU的两个GPIO管脚的高低电平为1和0,则bootloader的工作模式为正常启动模式;
若MCU的两个GPIO管脚的高低电平为0和1,则bootloader的工作模式为系统恢复模式。
3.根据权利要求1所述的安卓系统的启动方法,其特征在于,所述bootloader根据工作模式加载启动安卓系统的步骤进一步包括步骤:
若bootloader根据正常启动模式加载启动安卓系统失败,则bootloader根据系统恢复模式加载启动安卓系统。
4.根据权利要求3所述的安卓系统的启动方法,其特征在于,所述bootloader根据正常启动模式加载启动安卓系统的步骤进一步包括步骤:
若在第一预设时间内根据正常启动模式启动安卓系统失败,则bootloader根据正常启动模式重启安卓系统,若根据正常启动模式重启安卓系统的次数大于等于第一预设次数,则转换bootloader的工作模式为系统恢复模式。
5.根据权利要求3所述的安卓系统的启动方法,其特征在于,所述bootloader根据系统恢复模式加载启动安卓系统的步骤进一步包括步骤:
若在第二预设时间内根据系统恢复模式恢复系统失败,则bootloader重启第二预设次数的系统恢复模式恢复系统。
6.根据权利要求1所述的安卓系统的启动方法,其特征在于,所述bootloader根据工作模式加载启动安卓系统的步骤进一步包括步骤:
MCU通过检测ARM的预设的GPIO管脚的电平信号,判定bootloader加载启动安卓系统是否成功。
7.根据权利要求6所述的安卓系统的启动方法,其特征在于,
若ARM的预设的GPIO管脚的电平信号为0,则判定bootloader加载启动安卓系统完成;
若ARM的预设的GPIO管脚的电平信号为1,则判定bootloader加载启动安卓系统失败。
8.根据权利要求1所述的安卓系统的启动方法,其特征在于,
若bootloader根据正常启动模式加载启动安卓系统,则禁止读写存储备份的安卓系统的存储空间;
若bootloader根据系统恢复模式加载启动安卓系统,则从存储空间读取备份的安卓系统,加载启动安卓系统。
9.根据权利要求1所述的安卓系统的启动方法,其特征在于,还包括步骤:安卓系统升级完毕后,若确认没有问题,则把升级好的安卓系统备份到备份安卓系统的存储空间里。
10.一种安卓车机,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-9中任一项所述方法的步骤。
CN201810182548.0A 2018-03-06 2018-03-06 一种安卓系统的启动方法及安卓车机 Pending CN108345464A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810182548.0A CN108345464A (zh) 2018-03-06 2018-03-06 一种安卓系统的启动方法及安卓车机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810182548.0A CN108345464A (zh) 2018-03-06 2018-03-06 一种安卓系统的启动方法及安卓车机

Publications (1)

Publication Number Publication Date
CN108345464A true CN108345464A (zh) 2018-07-31

Family

ID=62957430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810182548.0A Pending CN108345464A (zh) 2018-03-06 2018-03-06 一种安卓系统的启动方法及安卓车机

Country Status (1)

Country Link
CN (1) CN108345464A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775904A (zh) * 2017-03-03 2017-05-31 北京电擎科技股份有限公司 一种微控制器嵌入式系统的程序烧写系统及方法
CN109582372A (zh) * 2018-11-12 2019-04-05 青岛海信电器股份有限公司 一种系统的启动方法及装置
CN110597667A (zh) * 2019-09-19 2019-12-20 广州视源电子科技股份有限公司 智能交互平板的故障检测系统及其控制方法
CN111078307A (zh) * 2019-12-19 2020-04-28 迈普通信技术股份有限公司 一种嵌入式设备的启动方法、装置、嵌入式设备及存储介质
CN116185712A (zh) * 2022-12-27 2023-05-30 深圳市蓝鲸智联科技有限公司 一种实现车机系统卡顿的重启控制方法
CN116204353A (zh) * 2022-12-08 2023-06-02 武汉海微科技有限公司 车机系统的恢复还原方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019773A (zh) * 2012-11-23 2013-04-03 Tcl集团股份有限公司 系统升级掉电保护方法、系统及移动终端
CN104951328A (zh) * 2014-03-31 2015-09-30 国基电子(上海)有限公司 嵌入式设备及其启动方法
CN106528114A (zh) * 2016-10-25 2017-03-22 北京海誉动想科技股份有限公司 安卓固件应用、安卓固件和固件升级方法
US20170357515A1 (en) * 2016-06-09 2017-12-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Multiple-stage bootloader and firmware for baseboard manager controller and primary processing subsystem of computing device
CN206892846U (zh) * 2017-03-03 2018-01-16 北京电擎科技股份有限公司 一种微控制器嵌入式系统的程序烧写系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019773A (zh) * 2012-11-23 2013-04-03 Tcl集团股份有限公司 系统升级掉电保护方法、系统及移动终端
CN104951328A (zh) * 2014-03-31 2015-09-30 国基电子(上海)有限公司 嵌入式设备及其启动方法
US20170357515A1 (en) * 2016-06-09 2017-12-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Multiple-stage bootloader and firmware for baseboard manager controller and primary processing subsystem of computing device
CN106528114A (zh) * 2016-10-25 2017-03-22 北京海誉动想科技股份有限公司 安卓固件应用、安卓固件和固件升级方法
CN206892846U (zh) * 2017-03-03 2018-01-16 北京电擎科技股份有限公司 一种微控制器嵌入式系统的程序烧写系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
爱博科工作室编著: "《多操作系统实战一条龙》", 30 April 2005, 上海科学技术出版社 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775904A (zh) * 2017-03-03 2017-05-31 北京电擎科技股份有限公司 一种微控制器嵌入式系统的程序烧写系统及方法
CN109582372A (zh) * 2018-11-12 2019-04-05 青岛海信电器股份有限公司 一种系统的启动方法及装置
CN109582372B (zh) * 2018-11-12 2022-01-28 海信视像科技股份有限公司 一种系统的启动方法及装置
CN110597667A (zh) * 2019-09-19 2019-12-20 广州视源电子科技股份有限公司 智能交互平板的故障检测系统及其控制方法
CN111078307A (zh) * 2019-12-19 2020-04-28 迈普通信技术股份有限公司 一种嵌入式设备的启动方法、装置、嵌入式设备及存储介质
CN116204353A (zh) * 2022-12-08 2023-06-02 武汉海微科技有限公司 车机系统的恢复还原方法、装置、设备及存储介质
CN116204353B (zh) * 2022-12-08 2023-10-20 武汉海微科技有限公司 车机系统的恢复还原方法、装置、设备及存储介质
CN116185712A (zh) * 2022-12-27 2023-05-30 深圳市蓝鲸智联科技有限公司 一种实现车机系统卡顿的重启控制方法
CN116185712B (zh) * 2022-12-27 2024-03-19 深圳市蓝鲸智联科技股份有限公司 一种实现车机系统卡顿的重启控制方法

Similar Documents

Publication Publication Date Title
CN108345464A (zh) 一种安卓系统的启动方法及安卓车机
CN101882085B (zh) 系统启动方法以及嵌入式设备
US20090217079A1 (en) Method and apparatus for repairing multi-controller system
US20090271660A1 (en) Motherboard, a method for recovering the bios thereof and a method for booting a computer
EP3879399B1 (en) Method and apparatus for upgrading vehicle-mounted tbox, device, and storage medium
CN111143132B (zh) 一种bios恢复方法、装置、设备及可读存储介质
US20200394144A1 (en) Information processing system, information processing device, bios updating method for information processing device, and bios updating program for information processing device
CN111767172A (zh) 一种基于看门狗及bootloader的机顶盒自修复办法
CN111651304A (zh) 基于双芯智能电表的软件恢复方法、装置和计算机设备
CN113190256A (zh) 一种升级方法、装置及设备
CN117130672A (zh) 服务器启动流程控制方法、系统、终端及存储介质
CN111273928A (zh) 一种自升级的bootloader设计方法
KR100832269B1 (ko) 무선 통신 단말의 프로그램 갱신 방법 및 시스템
JP2005284902A (ja) 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム
CN111078452A (zh) 一种bmc固件镜像恢复方法与装置
CN113377425B (zh) Bmc固件生成方法和装置、bmc启动方法和装置及存储介质
CN115658152A (zh) 固件升级方法、固件、电子设备和计算机可读存储介质
CN114995852A (zh) 一种设备升级方法、设备及计算机可读存储介质
CN111783162B (zh) 数据保护实现方法、装置及计算机设备
US9529581B2 (en) Circuit and method for writing program codes of basic input/output system
CN112817642A (zh) X86平台使用固件自动切换启动efi操作系统的方法、装置
CN116204353B (zh) 车机系统的恢复还原方法、装置、设备及存储介质
CN111400076B (zh) 一种宕机修复方法、装置、设备及存储介质
CN113220358B (zh) 一种多平台bios信息存储方法、系统及介质
CN115469935A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180731