CN117251217A - 操作系统启动阶段访问usb设备的方法及装置、介质、终端 - Google Patents
操作系统启动阶段访问usb设备的方法及装置、介质、终端 Download PDFInfo
- Publication number
- CN117251217A CN117251217A CN202311253383.9A CN202311253383A CN117251217A CN 117251217 A CN117251217 A CN 117251217A CN 202311253383 A CN202311253383 A CN 202311253383A CN 117251217 A CN117251217 A CN 117251217A
- Authority
- CN
- China
- Prior art keywords
- usb
- usb device
- operating system
- starting
- accessing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 30
- 230000006870 function Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 10
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供一种操作系统启动阶段访问USB设备的方法及装置、介质、终端,所述操作系统启动阶段访问USB设备的方法包括:启动系统级芯片SOC,在启动装载阶段,初始化USB控制器;查询所述USB控制器是否插入有USB设备;响应于查询到所述USB控制器插入有所述USB设备,初始化所述USB设备;基于插入的所述USB设备为块设备,确定与所述USB设备适配的块设备接口;通过所述块设备接口访问所述USB设备;启动操作系统。采用上述方案,缩短读取数据的初始化等待时间较长,还可以在操作系统启动阶段对USB设备的访问,实现USB设备的数据预读,以及实现在操作系统启动阶段进行系统升级或者系统修复,有助于操作系统的正常启动及运行。
Description
技术领域
本发明实施例涉及USB设备访问技术领域,尤其涉及一种操作系统启动阶段访问USB设备的方法及装置、介质、终端。
背景技术
随着通用串行总线(Universal Serial Bus,USB)端口的普及,USB端口已成为嵌入式产品必备的外设接口之一。智能设备可以通过USB端口外接一些U盘、硬盘等USB设备。
目前,智能设备通常需要等到系统完全启动后才能通过USB端口对USB设备进行访问。这导致读取数据的初始化等待时间较长。此外,在一些场景中,若是智能设备的系统无法正常启动,则导致无法读取USB设备的数据。
发明内容
本发明实施例解决的技术问题是USB设备的数据读取的效率较低以及当出现智能设备的系统无法正常启动时,导致无法读取USB设备的数据。
为解决上述技术问题,本发明实施例提供一种操作系统启动阶段访问USB设备的方法,包括:启动系统级芯片SOC,在启动装载阶段,初始化USB控制器;查询所述USB控制器是否插入有USB设备;响应于查询到所述USB控制器插入有所述USB设备,初始化所述USB设备;基于插入的所述USB设备为块设备,确定与所述USB设备适配的块设备接口;通过所述块设备接口访问所述USB设备;启动操作系统。
可选的,在初始化USB控制器之前,还包括:判断是否需要访问USB设备;响应于需要访问USB设备,关闭充电功能,开启供电功能。
可选的,所述判断是否需要访问USB设备,包括以下任一种:获取预存储的USB设备访问标志,根据所述USB设备访问标志判断是否需要访问USB设备;基于接收到的拯救升级请求信息,判定需要访问USB设备,其中,所述拯救升级请求信息是由外部控制器在复位SOC的次数达到设定次数且依然未收到操作系统启动的通信信息时生成。
可选的,所述操作系统启动阶段访问USB设备的方法还包括:在判断是否需要访问USB设备之前,判断当前是否处于充电状态;响应于判定不处于充电状态,执行判断是否需要访问USB设备;或者,响应于判定处于充电状态,启动所述操作系统。
可选的,采用如下方式判断所述USB设备是否为块设备:获取所述USB设备的设备类型描述符;根据所述设备类型描述符判断所述USB设备是否为块设备。
可选的,所述操作系统启动阶段访问USB设备的方法还包括:自开始初始化USB控制器或者USB控制器的初始化完成开始计时,在预设时长内未查询到有USB设备插入,则启动所述操作系统。
本发明实施例还提供一种操作系统启动阶段访问USB设备的装置,包括:USB控制器初始化单元,用于启动系统级芯片,在启动装载阶段,初始化USB控制器;查询单元,用于查询所述USB控制器是否插入有USB设备;USB设备初始化单元,用于响应于查询到所述USB控制器插入有所述USB设备,初始化所述USB设备;块设备接口确定单元,用于基于插入的所述USB设备为块设备,确定与所述USB设备适配的块设备接口;访问单元,用于通过所述块设备接口访问所述USB设备;启动单元,用于启动操作系统。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种操作系统启动阶段访问USB设备的方法的步骤。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一种操作系统启动阶段访问USB设备的方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
启动系统级芯片SOC,在启动装载阶段,初始化USB控制器。响应于查询到所述USB控制器插入有USB设备,初始化所述USB设备。基于插入的USB设备为块设备,确定与所述USB设备适配的块设备接口,并通过块设备接口访问USB设备。如此,通过在启动装载阶段初始化USB控制器以及初始化USB设备,能够实现在操作系统启动阶段访问USB设备,以进行USB设备的数据预读,缩短读取数据的初始化等待时间较长。此外,通过在操作系统启动阶段对USB设备的访问,实现USB设备的数据预读,进而实现在操作系统启动阶段进行系统升级或者系统修复,有助于操作系统的正常启动及运行。
附图说明
图1是本发明实施例中的一种操作系统启动阶段访问USB设备的方法的流程图;
图2是本发明实施例中的一种用于实现操作系统启动阶段访问USB设备的方法的硬件架构图;
图3是本发明实施例中的一种用于实现操作系统启动阶段访问USB设备的方法的软件架构图;
图4是一种典型场景下的操作系统启动阶段访问USB设备的方法流程图;
图5是本发明实施例中的一种操作系统启动阶段访问USB设备的装置的示意图。
具体实施方式
如上所述,目前,智能设备通常需要等到系统完全启动后才能通过USB端口对USB设备进行访问。这导致读取数据的初始化等待时间较长。此外,在一些场景中,若是智能设备的系统无法正常启动,则导致无法读取USB设备的数据。
为解决上述问题,在本发明实施例中,启动系统级芯片SOC,在启动装载阶段,初始化USB控制器。响应于查询到所述USB控制器插入有USB设备,初始化所述USB设备。基于插入的USB设备为块设备,确定与所述USB设备适配的块设备接口,并通过块设备接口访问USB设备。如此,通过在启动装载阶段初始化USB控制器以及初始化USB设备,能够实现在操作系统启动阶段访问USB设备,以进行USB设备的数据预读,缩短读取数据的初始化等待时间较长。此外,通过在操作系统启动阶段对USB设备的访问,实现USB设备的数据预读,进而实现在操作系统启动阶段进行系统升级或者系统修复,有助于操作系统的正常启动及运行。
为使本发明实施例的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明提供一种操作系统启动阶段访问USB设备的方法,用于在终端的操作系统启动阶段访问USB设备。本发明可以由终端执行,也可以由终端中具有操作系统启动阶段访问USB设备功能的芯片或芯片模组执行,也可以由操作系统启动阶段访问USB设备中具有数据处理功能的芯片或芯片模组执行,还可以由操作系统启动阶段访问USB设备中的基带芯片执行。终端可以包括但不限于手机、计算机、平板电脑等终端设备。在一些场景中,当终端插入USB设备时,该终端也可以称为主机。USB设备可以为U盘、硬盘、使用读卡器的安全数字(Secure Digital,SD)存储卡等。
下面结合图1对操作系统启动阶段访问USB设备的方法进行说明,操作系统启动阶段访问USB设备的方法具体可以包括如下步骤:
步骤11,启动系统级芯片SOC,在启动装载阶段,初始化USB控制器。
步骤12,查询所述USB控制器是否插入有USB设备。
步骤13,响应于查询到所述USB控制器插入有所述USB设备,初始化所述USB设备。
步骤14,基于插入的所述USB设备为块设备,确定与所述USB设备适配的块设备接口。
步骤15,通过所述块设备接口访问所述USB设备。
步骤16,启动操作系统。
由上可知,启动系统级芯片SOC,在启动装载阶段,初始化USB控制器。响应于查询到所述USB控制器插入有USB设备,初始化所述USB设备。基于插入的USB设备为块设备,确定与所述USB设备适配的块设备接口,并通过块设备接口访问USB设备。如此,通过在启动装载阶段初始化USB控制器以及初始化USB设备,能够实现在操作系统启动阶段访问USB设备,以进行USB设备的数据预读,缩短数据的初始化等待时间较长。此外,通过在操作系统启动阶段对USB设备的访问,实现USB设备的数据预读,进而实现在操作系统启动阶段进行系统升级或者系统修复,有助于操作系统的正常启动及运行。
在步骤11的一种具体实施中,当终端开机后,SOC上电并启动,进入启动装载(bootloader)阶段。终端的操作系统可以为安卓(Android)系统,启动装载阶段可以为Little Kernel(简称LK),LK是安卓系统的bootloader。
在启动装载阶段,可以完成对运行程序的基础初始化,如内存、时钟等的初始化。
在一些非限制性实施例中,步骤11中在初始化USB控制器之前,判断是否需要访问USB设备。响应于需要访问USB设备,关闭充电功能,开启供电功能。或者,响应于不需要访问USB设备,启动操作系统。如此,可以根据访问USB设备的实际需求,灵活的确定是否需要初始化USB控制器。当需要访问USB设备时,关闭充电功能,开启供电功能为USB设备进行供电,并初始化USB控制器,可以为USB设备的预读做好准备,有助于实现USB设备的预读。在不需要访问USB设备的时候,启动操作系统,实现操作系统的快速启动。
在具体实施中,可以采用多种方式判断是否需要访问USB设备,以下进行举例说明。
在一些实施例中,获取预存储的USB设备访问标志,根据所述USB设备访问标志判断是否需要访问USB设备。对于需要访问的USB设备可以预先设置对应的USB设备访问标志,USB设备访问标志用于指示是否需要访问USB设备。例如,配置不同的标识符用于表征是否需要访问USB设备。第一标识符表征需要访问USB设备,第二标识符表征不需要访问USB设备,第一标识符和第二标识符不同。又如,配置需要访问的USB设备列表作为USB设备访问标志,如USB设备列表中记录有USB设备的标识,则表征需要访问USB设备;如USB设备列表中没有记录USB设备的标识,则表征不需要访问USB设备。
在另一些实施例中,基于接收到的拯救升级请求信息,判定需要访问USB设备。其中,所述拯救升级请求信息是由外部控制器在复位SOC的次数达到设定次数且依然未收到操作系统启动的通信信息时生成。例如,在SOC上电启动后,发送SOC上电通知信息,以告知外部控制器SOC已上电,此后,操作系统启动完成后,将发送操作系统启动的通信信息,以告知外部控制器操作系统启动成功。若是外部控制器在收到SOC上电通知信息后,达到指定时长未收到操作系统启动的通信信息,可以复位SOC。外部控制器在复位SOC的次数达到设定次数且依然未收到操作系统启动的通信信息,外部控制器可以判定操作系统启动异常,需要拯救升级,生成拯救升级请求信息并发送。此时,可以在操作系统启动阶段对操作系统进行系统升级或者系统修复。
在一些非限制性实施例中,在判断是否需要访问USB设备之前,判断当前是否处于充电状态;响应于判定不处于充电状态,执行判断是否需要访问USB设备;或者,响应于判定处于充电状态,启动所述操作系统。如此,结合充电状态确定是否在操作系统启动阶段访问USB设备,并在处于充电状态的时候,判定没有访问USB设备需求,可以启动操作系统,提高操作系统的启动效率。当不处于充电状态时,再结合是否需要访问USB设备等进一步判断是否需要在操作系统启动阶段访问USB设备,兼顾操作系统启动效率和USB设备的数据预读。
例如,图2提供一种实现操作系统启动阶段访问USB设备的方法的硬件架构图,以终端为主机200,USB设备为U盘300作为示例,主机200可以包括SOC21、电源管理集成电路(Power Management IC,PMIC)22以及USB充电芯片23等。其中SOC21与PMIC22之间通过串行外围设备接口(Serial Peripheral interface,SPI)通信。PMIC22可以通过SPI接口接收到SOC21发送的用于查询充电状态的控制信号,PMIC22响应于控制信号,检测外部电源线(VBUS)状态以确认是否为充电状态。此外,PMIC22还可以连接充电器,并对主机充电时的BC1.2信号进行检测,BC1.2是一种充电协议,如BC1.2使用USB2.0的数据传输线信号正端(Data Plus,DP)、信号负端(Data Minus,DM)作为协议识别握手线,其中,DP也可以称作D+,DM也可以称作D-。SOC21输出的USB DP/DM信号通过PMIC传输给U盘300。SOC21通过I2C接口控制USB充电芯片23,USB充电芯片23的作用是在源头(Source)时为外接时USB设备供电,在接入USB充电器时对电池进行充电。可以通过USB充电芯片23关闭充电功能,开启供电功能。
在步骤12的具体实施中,初始化USB物理端口(phy)及USB控制器的相关寄存器,完成寄存器的初始化后可以查询是否有USB设备接入。
在一些实施例中,USB设备插入后,USB信号线上产生上拉,之后USB控制器会检测到上拉信号,会自动与USB设备进行握手,握手完成后,会在寄存器将有设备插入的标志设置为有设备的标志,通过读取这个标志获取到有USB设备插入。
进一步,在一些非限制性实施例中,自开始初始化USB控制器或者USB控制器的初始化完成计时,在预设时长内未查询到有USB设备插入,则启动所述操作系统。如此,以确保操作系统的启动,尽量减小操作系统启动阶段访问USB设备对操作系统启动的影响。
在一些实施例中,响应于查询到所述USB控制器未插入所述USB设备,启动操作系统。
响应于查询到所述USB控制器插入有所述USB设备,执行步骤13。在步骤13完成初始化USB设备后,可以判断USB设备是否为块设备。
在具体实施中,可以采用如下方式判断所述USB设备是否为块设备:获取所述USB设备的设备类型描述符;根据所述设备类型描述符确定所述USB设备是否为块设备。设备类型描述符指用于表征设备类型的描述符,可以为设备描述符,也可以为端口描述符等。
在一些实施例中,可以采用图3示意的软件架构来实现上述操作系统启动阶段访问USB设备的方法。软件架构可以包括:USB控制器31、USB主机(host)驱动32、USB核心(core)33、USB存储(storage)34以及文件系统35等。
SOC侧的USB控制器31与USB设备(如U盘)进行通信,从而实现操作系统启动阶段访问USB设备功能。USB host驱动32实现USB控制器31与USB外接的USB设备之间的通信,并将相关的操作接口映射到USB core33。USB core33为USB的核心代码,用于操控USB host驱动32。同时,在步骤14及步骤15中,响应于获取到USB为块设备,调用USB storage34的接口,USB storage34将USB的数据流转换成标准的块设备接口,为上层文件系统35提供标准接口,文件系统35会根据USB设备的数据来选择使用哪种文件系统35,并提供统一的抽象接口作为块设备接口(如Fat32或者Exfat等)给各种需要访问U盘的场景使用。
为便于本领域技术人员更好的理解和实现本发明实施例,下面结合图4给出的一种典型场景下的操作系统启动阶段访问USB设备的方法流程图,对操作系统启动阶段访问USB设备的方法进行说明。
步骤401,SOC启动。
步骤402,完成内存、时钟等基础功能初始化。
步骤403,判断主机是否处于充电状态。
响应于判断结果为是,执行步骤412。或者,响应于判断结果为否,执行步骤404。
步骤404,判断是否需要访问USB设备。
响应于判断结果为是,执行步骤405。或者,响应于判断结果为否,执行步骤412。
步骤405,初始化USB控制器。
步骤406,判断USB控制器是否有USB设备插入。
响应于判断结果为是,执行步骤408。或者,响应于判断结果为否,执行步骤407。
步骤407,判断是否超时。
在具体实施中,自开始初始化USB控制器或者USB控制器的初始化完成计时,判断当前时刻与计时时刻的间隔时长是否达到预设时长。达到设定时长,判定超时;未达到设定时长,判定不超时。响应于判断结果为是,执行步骤412。或者,响应于判断结果为否,继续执行步骤406。
步骤408,初始化USB设备。
步骤409,判断USB设备是否为块设备。
响应于判断结果为是,执行步骤410。或者,响应于判断结果为否,执行步骤412。
步骤410,将块设备接口提供给文件系统。
步骤411,访问USB设备,以进行系统启动过程中的升级以及数据预读取等操作。
步骤412,启动操作系统。
关于上述步骤401至步骤412的具体实现方案,可以参见上述实施例中的描述,此处不再赘述。
本发明实施例还提供一种操作系统启动阶段访问USB设备的装置,操作系统启动阶段访问USB设备的装置用于实现上述操作系统启动阶段访问USB设备的方法。
参照图5,操作系统启动阶段访问USB设备的装置50可以包括:USB控制器初始化单元51,用于启动系统级芯片,在引导加载程序运行阶段,初始化USB控制器;查询单元52,用于查询所述USB控制器是否插入有USB设备;USB设备初始化单元53,用于当插入有所述USB设备时,初始化所述USB设备;块设备接口确定单元54,用于若所述USB设备为块设备,确定与所述USB设备适配的块设备接口;访问单元55,用于通过所述块设备接口访问所述USB设备;启动单元56,用于启动操作系统。
在具体实施中,上述操作系统启动阶段访问USB设备的装置50可以对应于终端中具有操作系统启动阶段访问USB设备的功能的芯片,例如SOC(System-On-a-Chip,片上系统)、基带芯片等;或者对应于终端中包括具有操作系统启动阶段访问USB设备的功能的芯片模组;或者对应于具有数据处理功能芯片的芯片模组,或者对应于终端。
在具体实施中,关于操作系统启动阶段访问USB设备的装置50的具体工作原理及工作流程可以参见上述实施中对于操作系统启动阶段访问USB设备的方法的描述,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行本发明上述任一实施例提供的操作系统启动阶段访问USB设备的方法的步骤。
所述计算机可读存储介质可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器,还可以包括光盘、机械硬盘、固态硬盘等。
具体地,在本发明实施例中,所述处理器可以为中央处理单元(centralprocessing unit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specificintegrated circuit,简称ASIC)、现场可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random AccessMemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(Random Access Memory,简称RAM)可用,例如静态随机存取存储器(StaticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SynchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,简称DR RAM)。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一实施例提供的操作系统启动阶段访问USB设备的方法的步骤。
所述存储器和所述处理器耦合,存储器可以位于终端内,也可以位于终端外。所述存储器和所述处理器可以通过通信总线连接。
终端可以包括但不限于手机、计算机、平板电脑等终端设备,还可以为服务器、云平台等。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (9)
1.一种操作系统启动阶段访问USB设备的方法,其特征在于,包括:
启动系统级芯片SOC,在启动装载阶段,初始化USB控制器;
查询所述USB控制器是否插入有USB设备;
响应于查询到所述USB控制器插入有所述USB设备,初始化所述USB设备;
基于插入的所述USB设备为块设备,确定与所述USB设备适配的块设备接口;
通过所述块设备接口访问所述USB设备;
启动操作系统。
2.如权利要求1所述的操作系统启动阶段访问USB设备的方法,其特征在于,在初始化USB控制器之前,还包括:
判断是否需要访问USB设备;
响应于需要访问USB设备,关闭充电功能,开启供电功能。
3.如权利要求2所述的操作系统启动阶段访问USB设备的方法,其特征在于,所述判断是否需要访问USB设备,包括以下任一种:
获取预存储的USB设备访问标志,根据所述USB设备访问标志判断是否需要访问USB设备;
基于接收到的拯救升级请求信息,判定需要访问USB设备,其中,所述拯救升级请求信息是由外部控制器在复位SOC的次数达到设定次数且依然未收到操作系统启动的通信信息时生成。
4.如权利要求2所述的操作系统启动阶段访问USB设备的方法,其特征在于,还包括:
在判断是否需要访问USB设备之前,判断当前是否处于充电状态;
响应于判定不处于充电状态,执行判断是否需要访问USB设备;
或者,响应于判定处于充电状态,启动所述操作系统。
5.如权利要求1所述的操作系统启动阶段访问USB设备的方法,其特征在于,采用如下方式判断所述USB设备是否为块设备:
获取所述USB设备的设备类型描述符;
根据所述设备类型描述符判断所述USB设备是否为块设备。
6.如权利要求1所述的操作系统启动阶段访问USB设备的方法,其特征在于,还包括:
自开始初始化USB控制器或者USB控制器的初始化完成开始计时,在预设时长内未查询到有USB设备插入,则启动所述操作系统。
7.一种操作系统启动阶段访问USB设备的装置,其特征在于,包括:
USB控制器初始化单元,用于启动系统级芯片,在启动装载阶段,初始化USB控制器;
查询单元,用于查询所述USB控制器是否插入有USB设备;
USB设备初始化单元,用于响应于查询到所述USB控制器插入有所述USB设备,初始化所述USB设备;
块设备接口确定单元,用于基于插入的所述USB设备为块设备,确定与所述USB设备适配的块设备接口;
访问单元,用于通过所述块设备接口访问所述USB设备;
启动单元,用于启动操作系统。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至6任一项所述的操作系统启动阶段访问USB设备的方法的步骤。
9.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至6中任一项所述的操作系统启动阶段访问USB设备的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311253383.9A CN117251217A (zh) | 2023-09-26 | 2023-09-26 | 操作系统启动阶段访问usb设备的方法及装置、介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311253383.9A CN117251217A (zh) | 2023-09-26 | 2023-09-26 | 操作系统启动阶段访问usb设备的方法及装置、介质、终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117251217A true CN117251217A (zh) | 2023-12-19 |
Family
ID=89132699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311253383.9A Pending CN117251217A (zh) | 2023-09-26 | 2023-09-26 | 操作系统启动阶段访问usb设备的方法及装置、介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117251217A (zh) |
-
2023
- 2023-09-26 CN CN202311253383.9A patent/CN117251217A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2402804C2 (ru) | Способ загрузки хостового устройства из устройства mmc/sd, хостовое устройство, загружаемое из устройства mmc/sd, и устройство mmc/sd, из которого может быть загружено хостовое устройство | |
JP5270377B2 (ja) | ブリッジサポートを有するプラットフォーム起動 | |
US7516316B2 (en) | Method for loading configuration data onto a non-volatile memory and a device using the same | |
US10592253B2 (en) | Technologies for pre-memory phase initialization of a computing device | |
CN102945173B (zh) | 用户程序在线升级系统和升级方法 | |
US20100064036A1 (en) | Peripheral device operation method, peripheral device and host | |
WO2022134855A1 (zh) | PCIe外插卡的带宽分配方法、装置、设备及存储介质 | |
US20130040702A1 (en) | Sd switch box in a cellular handset | |
CN111522602B (zh) | 通信装置的启动方法 | |
CN115658582A (zh) | 一种pcie设备扫描方法及服务器 | |
CN107315607B (zh) | 一种驱动自适应加载系统 | |
KR101197152B1 (ko) | 전자장치와 이를 포함하는 전자장치 시스템 및 그 제어방법 | |
CN102043638A (zh) | 计算机系统以及计算机启动设定方法 | |
CN110688235A (zh) | Uefi固件与os间共享无线连接信息的系统及方法 | |
CN110825421B (zh) | 一种固件升级方法、系统及可读存储介质 | |
CN108958837B (zh) | 一种动态配置me固件的方法、系统及介质 | |
CN116627472A (zh) | 高速外围组件设备的固件程序升级方法及服务器 | |
CN112035393A (zh) | 一种节约双片上系统存储资源的方法、双片上系统 | |
CN117251217A (zh) | 操作系统启动阶段访问usb设备的方法及装置、介质、终端 | |
CN116302122A (zh) | 多核异构域控制器、外设适配方法以及存储介质 | |
CN110888680B (zh) | 一种嵌入式处理器的启动方法及其系统 | |
CN112511664A (zh) | 一种级联bms的id分配方法、系统和电子设备 | |
CN115543385A (zh) | 一种代码升级的方法及芯片系统 | |
CN116820841A (zh) | 终端设备的启动方法、装置、设备、介质及产品 | |
CN114125902B (zh) | Wwan设备及其配置方法、装置、存储介质 |
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 |