CN111758088A - 芯片下载固件的方法和芯片 - Google Patents

芯片下载固件的方法和芯片 Download PDF

Info

Publication number
CN111758088A
CN111758088A CN202080001498.7A CN202080001498A CN111758088A CN 111758088 A CN111758088 A CN 111758088A CN 202080001498 A CN202080001498 A CN 202080001498A CN 111758088 A CN111758088 A CN 111758088A
Authority
CN
China
Prior art keywords
chip
downloading
mode
firmware
download
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
CN202080001498.7A
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.)
Shenzhen Goodix Technology Co Ltd
Original Assignee
Shenzhen Goodix Technology 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 Shenzhen Goodix Technology Co Ltd filed Critical Shenzhen Goodix Technology Co Ltd
Publication of CN111758088A publication Critical patent/CN111758088A/zh
Pending legal-status Critical Current

Links

Images

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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • G06F13/107Terminal emulation

Landscapes

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

Abstract

本申请实施例涉及芯片下载固件的方法和芯片,所述芯片包括两个IO接口,所述两个IO接口配置为支持串口下载模式以及仿真器下载模式,该方法包括:确定所述芯片是否通过仿真器与所述通信设备连接,所述仿真器用于所述仿真器下载模式;根据所述芯片是否通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式或者所述仿真器下载模式,从所述通信设备下载应用程序的固件。本申请实施例的芯片下载固件的方法和芯片,能够节省芯片中IO接口的数量,避免浪费。

Description

芯片下载固件的方法和芯片
技术领域
本申请涉及芯片领域,尤其涉及芯片下载固件的方法和芯片。
背景技术
当前微控制单元(Microcontroller Unit,MCU)通过有线下载固件的方式基本有两种,一种是通过串口下载,例如在线***编程(in-system programming,ISP)下载;另一种是通过仿真器下载,仿真器下载常用的接口包括串行调试(Serial Wire Debug,SWD)接口。这两种方式都需要MCU预留出2个输入/输出(In/Out,IO)口。
也就是说,如果开发者在自己产品想要支持上述两种烧录方式,就必须牺牲5个IO口,其中,2个IO口为SWD下载模式的串行时钟(Serial Wire clock,SWCLK)接口和串行数据IO(Serial Wire data IO,SWDIO)接口;还有2个IO口为ISP模式的接收(receive,RX)接口和发送(transport,TX)接口,另外还有一个IO接口用于不同下载模式之间的选择。在IO资源非常宝贵的MCU平台上,这种方式对IO资源是非常浪费的。
发明内容
本申请提供了一种芯片下载固件的方法和芯片,能够节省芯片中IO接口的数量,避免浪费。
第一方面,提供了一种芯片下载固件的方法,所述芯片包括两个IO接口,所述两个IO接口配置为支持串口下载模式以及仿真器下载模式,该方法包括:确定所述芯片是否通过仿真器与所述通信设备连接,所述仿真器用于所述仿真器下载模式;根据所述芯片是否通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式或者所述仿真器下载模式,从所述通信设备下载应用程序的固件。
因此,本申请实施例的芯片下载固件的方法,在芯片上设置两个IO口,SWD下载模式和ISP下载模式可以复用这两个IO口,或者说,芯片设计中实现采用SWD下载模式的SWCLK与SWDIO两个IO口能够复用成采用ISP下载模式中的RX和TX两个接口,以使得芯片在进行固件下载时,可以自动选择串口下载模式或者仿真器下载模式,即芯片仅通过两个IO口就可以支持串口下载模式和仿真器下载模式两种下载模式。
结合第一方面,在第一方面的一种实现方式中,所述根据所述芯片是否通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式或者所述仿真器下载模式,从所述通信设备下载应用程序的固件,包括:若所述芯片通过所述仿真器与所述通信设备连接,确定采用所述仿真器下载模式,从所述通信设备下载所述固件。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述采用所述仿真器下载模式,从所述通信设备下载所述固件,包括:检测所述应用程序的启动信息;若检测的所述启动信息错误,通过所述仿真器,从所述通信设备下载所述固件。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述方法还包括:若所述芯片通过所述仿真器与所述通信设备连接,将所述芯片的所述两个IO接口分别设置为所述仿真器下载模式对应的IO接口。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述根据所述芯片是否通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式或者所述仿真器下载模式,从所述通信设备下载应用程序的固件,包括:若所述芯片未通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式,从所述通信设备下载所述固件。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述采用所述串口下载模式,从所述通信设备下载所述固件,包括:若接收到所述通信设备发送的目标命令,根据所述目标命令,采用所述串口下载模式,从所述通信设备下载所述固件,其中,所述目标命令用于指示所述串口下载模式。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述采用所述串口下载模式,从所述通信设备下载所述固件,包括:若未接收到所述通信设备发送的目标命令,检测所述应用程序的启动信息,其中,所述目标命令用于指示所述串口下载模式;若检测的所述启动信息错误,采用所述串口下载模式,从所述通信设备下载所述固件。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述方法还包括:若所述芯片未通过所述仿真器与所述通信设备连接,启动定时器;在所述定时器超时之前,确定是否接收到所述目标命令。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,在所述采用所述串口下载模式,从所述通信设备下载所述固件之前,所述方法还包括:将所述芯片的所述两个IO接口分别设置为所述串口下载模式对应的IO接口。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述方法应用于所述芯片发生复位后。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述芯片包括复位引脚,若所述复位引脚接收到由所述通信设备控制串口板中的接收流控RTS引脚输出的低电平,所述芯片复位;和/或,若所述复位引脚接收到由所述通信设备控制所述仿真器的复位引脚输出的复位信号,所述芯片复位。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述串口下载模式为在线***编程ISP下载模式,所述仿真器下载模式为串行调试SWD下载模式。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述ISP下载模式对应的IO接口包括接收RX接口和发送TX接口。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述SWD下载模式对应的IO接口包括串行数据输入输出SWDIO接口和串行时钟SWCLK接口。
第二方面,提供了一种芯片,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该芯片包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。
第三方面,提供了一种芯片,包括:存储单元和处理器,该存储单元用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第五方面,提供了一种包括指令的计算机程序产品,当计算机运行所述计算机程序产品的所述指时,所述计算机执行上述第一方面或第一方面的任意可能的实现方式中的芯片下载固件的方法。具体地,该计算机程序产品可以运行于上述第二方面的芯片上。
附图说明
图1是根据本申请实施例的芯片下载固件的方法的示意性流程图。
图2是根据本申请实施例的芯片的示意性框图。
图3是根据本申请实施例的芯片的另一示意性框图。
图4是根据本申请实施例的芯片下载固件的方法的另一示意性流程图。
图5是根据本申请实施例的芯片与通信设备之间的连接关系的示意图。
图6是根据本申请实施例的芯片下载固件的方法的局部流程图。
图7是根据本申请实施例的芯片下载固件的方法的另一局部流程图。
图8是根据本申请实施例的通信设备为芯片下载固件的示意性流程图。
图9是根据本申请实施例的芯片的另一示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
图1示出了本申请实施例提出的一种芯片下载固件的方法100的示意性流程图。该方法100可以应用于芯片中,例如,该芯片可以为如图2所示的芯片200。具体地,该芯片200包括有两个IO接口,即如图2所示的第一接口210和第二接口220,该芯片200支持串口下载模式以及仿真器下载模式,或者说芯片200的两个IO接口被配置为能够支持串口下载模式以及仿真器下载模式。例如,该芯片200可以为MCU芯片,或者,也可以为其他类型的芯片,该芯片可以用于各种设备中,例如耳机、手机、智能门锁等各种终端设备,本实施例对此不作限制。
如图1所示,该方法100包括:S110,确定该芯片是否通过仿真器与该通信设备连接,该仿真器用于该仿真器下载模式;S120,根据该芯片是否通过该仿真器与该通信设备连接,确定采用该串口下载模式或者该仿真器下载模式,从该通信设备下载应用程序的固件。
应理解,本申请实施例中的串口下载模式可以指任意一种串口下载模式。例如,本申请主要以该串口下载模式为ISP下载模式为例进行描述,但本申请实施例并不限于此。另外,ISP下载模式需要软件实现,例如,芯片如果支持ISP下载模式,该芯片中可以集成有对应的ISP下载程序,以及与之配套的工具端。该ISP下载模式对应的IO接口包括RX接口和TX接口。
本申请实施例中的仿真器下载模式可以指任意一种仿真器下载模式。例如,本申请主要以仿真器为Jlink仿真器,仿真器下载模式为SWD下载模式为例进行描述,但本申请实施例并不限于此。另外,SWD下载模式采用一种标准的下载协议,一般不需要软件实现,只要芯片支持SWD下载模式,使用Jlink下载工具就能正常下载。该SWD下载模式对应的IO接口包括SWDIO接口和SWCLK接口。
因此,本申请实施例的芯片下载固件的方法,在芯片上设置两个IO口,SWD下载模式和ISP下载模式可以复用这两个IO口,或者说,芯片设计中实现采用SWD下载模式的SWCLK与SWDIO两个IO口能够复用成采用ISP下载模式中的RX和TX两个接口,也可以说芯片中采用ISP下载模式中的RX和TX两个接口能够复用成采用SWD下载模式的SWCLK与SWDIO两个IO,以使得芯片仅通过两个IO口就可以支持串口下载模式和仿真器下载模式两种下载模式。
图4示出了本申请实施例的另一芯片下载固件的方法300的示意性流程图,该方法300为方法100的一种可能的实现方式,下面将结合图4所示的方法300对方法100进行详细描述。
应理解,本申请实施例的方法100可以应用于为芯片进行固件下载时,例如,若芯片中没有某个应用程序对应的固件,或者芯片启动某个应用程序失败,芯片可能需要下载该固件,则可以执行本申请实施例的方法100。另外,本申请实施例的方法100可以发生在芯片发生复位之后,即芯片复位后,进入启动(boot)程序,以开始下载固件,即开始执行方法100。例如,如图4所示,该方法300可以包括:S301,启动程序开始,即芯片进入下载固件的启动程序。例如,可以在芯片发生复位后,进入该启动程序。
具体地,在芯片需要从通信设备下载一个或者多个应用程序的固件的情况下,或者说,通信设备需要向芯片下载一个或者多个应用程序的固件的情况下,芯片发生复位,例如可以通过通信设备控制芯片发生复位。具体地,例如,如图3所示,图2所示的该芯片200还可以包括如图3所示的复位引脚230,该复位引脚230用于使得芯片200发生复位。
应理解,本申请实施例中的通信设备可以指个人计算机或者个人电脑(PersonalComputer,PC),或者也可以指其他能够为芯片下载固件的设备。其中,个人电脑种类有很多,比如传统的台式电脑、笔记本电脑、平板电脑、一体机电脑、超级本、掌上电脑、嵌入式计算机等。
可选地,通信设备可以通过多种方式控制芯片发生复位。例如,假设通信设备与芯片之间采用ISP下载模式下载固件,那么通信设备可以通过控制串口板(serial board)中的请求发送(Request To Send,RTS)引脚输出低电平,以使得该芯片中的复位引脚触发芯片复位。具体地,图5示出了本申请实施例中MCU与PC连接的示意图,如图5所示,这里假设本申请实施例的芯片为MCU,通信设备为PC,该MCU与PC之间通过串口板相连。PC中还可以包括ISP工具,该ISP工具用于MCU的ISP下载模式中,该PC可以通过USB接口与串口板相连。该串口板可以包括RTS接口,MCU的复位引脚与该串口板RTS接口相连,当PC通过USB接口控制串口板的RTS接口输出低电平时,MCU的复位引脚检测到串口板的RTS接口输出低电平,以使得MCU发生复位,从而进入启动(boot)程序,以开始下载固件,即开始执行方法100。
再例如,假设通信设备与芯片之间采用SWD下载模式下载固件,那么通信设备可以通过控制仿真器的复位引脚输出的复位信号,以使得该芯片复位。具体地,同样假设本申请实施例的芯片为MCU,通信设备为PC,PC与MCU之间通过仿真器相连。仿真器包括复位引脚,并且该仿真器的复位引脚与MCU的复位引脚相连。当PC控制仿真器的复位引脚输出复位信号时,MCU的复位引脚可以接收到该复位信号,以使得MCU发生复位,从而进入启动(boot)程序,以开始下载固件,即开始执行方法100。
可选地,本申请实施例中的芯片进入的启动程序可以为冷启动(cold boot)程序。具体地,由于通常在cold boot程序中才会进行固件下载,而热启动(warm boot)程序不会进行固件下载,所以方法100也可以应用于cold boot程序中。例如,如图4所示,该方法300还可以包括:S302,是否是冷启动,即确定芯片启动的程序是否为cold boot,若不是,则继续执行S303,若是,则继续执行S304。其中,如图4所示,S303,执行热启动,即在芯片启动的boot程序不是cold boot的情况下,例如,启动了warm boot,那么执行warm boot程序,也就不会进行固件下载。但本申请实施例并不限于此,例如,也可以不执行步骤S302和S303,由S301直接进行S304,此时无论是cold boot程序还是warm boot程序,都可以进行固件下载。但是在cold boot程序中执行固件下载的方式,更节省功耗。
可选地,本申请实施例的方法100也可以不是应用于芯片发生复位之后,即芯片也可以在其它情况下开始执行方法100,以开始下载固件。例如,若通信设备与芯片之间采用ISP下载模式下载固件,通常在芯片复位之后执行方法100,以开始下载固件;若通信设备与芯片之间采用SWD下载模式下载固件,那么除了可以在芯片复位之后执行方法100,还可以在芯片没有发生复位的任何情况下,执行方法100,以进行固件下载。
对应于方法100中的S110,如图4所示,该方法300可以包括:S304,是否连接仿真器,例如,该仿真器可以为Jlink,即确定该芯片是否通过Jlink仿真器与该通信设备连接,以便于根据该芯片是否通过该Jlink仿真器与该通信设备连接,确定采用该串口下载模式或者该仿真器下载模式,从该通信设备下载应用程序的固件。
可选地,若芯片通过该仿真器与该通信设备连接,则可以继续确定是否采用该仿真器下载模式进行固件下载,例如,可以继续执行S305,以从该通信设备下载该固件;若芯片没有通过该仿真器与该通信设备连接,则可以继续确定是否采用其它下载模式下载估计,例如可以继续执行S308。
具体地,若该芯片通过该仿真器与该通信设备连接,可以先检测该应用程序的启动信息,例如,如图4所示,该方法300包括:S305,检测启动信息(boot info)。若检测的启动信息正确,继续执行S306;若错误,继续执行S307。
可选地,若检测的该启动信息正确,启动对应的应用程序,例如,如图4所示,该方法300包括:S306,启动应用程序。即芯片中已经下载有应用程序的固件,所以该芯片可以启动对应的应用程序,而无需再下载该固件,也可以避免固件的重复下载。
相反的,若检测的该启动信息错误,那么可以采用该仿真器下载模式,从该通信设备下载该固件,例如,如图4所示,该方法300包括:S307,采用SWD下载模式,由于芯片与通信设备之间通过仿真器连接,所以可以采用仿真器下载模式进行固件下载。
可选地,在步骤S304之后,若该芯片已经通过该仿真器与该通信设备连接,那么除了执行上述步骤S305-S307以外,还可以有其他处理方式。例如,如图6所示,对于步骤S304,在确定芯片已经通过该仿真器与该通信设备连接的情况下,可以直接启动应用程序。如果能够成功启动应用程序,则说明芯片中已经下载有应用程序的固件,所以该芯片可以启动对应的应用程序,而无需再下载该固件。但是,如果不能成功启动应用程序,或者说启动失败,那么可以执行固件下载,并且由于芯片与通信设备之间通过仿真器连接,所以可以采用仿真器下载模式进行固件下载。再例如,还可以在执行S304之后,若该芯片已经通过该仿真器与该通信设备连接,则直接采用仿真器下载模式进行固件下载。
应理解,无论上述哪一种情况,如果芯片确定采用仿真器下载模式进行固件下载,可以将该芯片的该两个IO接口分别设置为该仿真器下载模式对应的IO接口,例如,将如图2所示的芯片200的第一接口210和第二接口220设置为SWD下载模式对应的SWDIO接口和SWCLK接口。具体地,设置芯片的两个IO接口为SWD下载模式对应的SWDIO接口和SWCLK接口包括:设置接口的相关参数等。例如,如果当前该芯片的两个IO接口已经设置为该仿真器下载模式对应的IO接口,那么可以直接通过这两个IO接口执行仿真器下载模式;但如果当前该芯片的两个IO接口为串口下载模式对应的IO接口,那么需要将这两个接口切换为仿真器下载模式对应的IO接口,再通过这两个IO接口执行仿真器下载模式。
可选地,若芯片没有通过该仿真器与该通信设备连接,即芯片与通信设备之间可以不使用仿真器下载模式,那么可以采用其它下载模式进行估计下载,例如,还可以使用串口模式进行固件下载。具体地,可以在芯片没有通过该仿真器与该通信设备连接的情况下,直接确定采用串口下载模式进行固件下载;或者,还可以根据是否接收到通信设备发送的特殊的命令,确定是否采用串口下载模式进行固件下载,其中,本申请实施例中将该特殊的命令称为目标命令,该目标命令用于指示串口下载模式,例如,该目标命令可以用于指示ISP下载模式。
具体地,若接收到通信设备发送的目标命令,则根据该目标命令,采用串口下载模式,从该通信设备下载固件;相反的,若没有接收到该通信设备发送的目标命令,则可以通过检测应用程序的启动信息确定是否采用串口下载模式,从通信设备下载固件。
可选地,可以根据设置的预设时长,确定是否接收到该目标命令。例如,如图4所示,该方法300包括:S308,开启定时器,即在芯片与通信设备没有通过仿真器相连的情况下,开启定时器;S309,是否接收到目标命令,即确定是否在定时器超时之前,接收到了目标命令,如果接收到,则继续执行S310,如果没有接收到,则继续执行S311。
应理解,定时器的时长可以根据实际应用进行设置,可以设置为任意一个值。具体地,若通信设备与芯片之间需要通过ISP下载模式进行固件下载,那么如图5所示,通信设备通过串口板的RTS接口输出低电平的情况下,还会向MUC芯片发送目标命令,例如,通信设备可以以一定周期持续发送目标命令,以指示MCU采用ISP下载模式进行固件下载,那么该定时器的时长应大于或者等于该周期值。例如,通信设备可以设置目标命令的发送周期为10ms,那么对应的,定时器的时长大于该10ms,例如,可以设置为200ms,但本申请实施例并不限于此。
如图4所示,该方法300包括:S310,采用ISP下载模式,即如果在定时器超时之前,接收到目标命令,那么芯片确定可以采用串口下载模式,从通信设备下载固件。
相反地,如图4所示,该方法300包括:S311,检测启动信息(boot info)。若检测的启动信息正确,继续执行S312;若错误,继续执行S313。
可选地,若检测的该启动信息正确,启动对应的应用程序,例如,如图4所示,该方法300包括:S312,启动应用程序,即芯片中已经下载有应用程序的固件,所以该芯片可以启动对应的应用程序,而无需再下载该固件,这样可以避免固件的重复下载。
相反的,若检测的该启动信息错误,那么可以采用串口下载模式,从该通信设备下载该固件,例如,如图4所示,该方法300包括:S313,采用ISP下载模式,即使没有收到目标命令,仍然可以采用ISP的下载模式,进行固件下载。
可选地,在S311之后,检测启动信息错误的情况下,除了执行如S313描述的采用ISP下载模式进行固件下载以外,也可以有其他处理方式。例如,考虑到此时并没有接收到目标命令,可能是无法采用ISP下载模式进行固件下载的情况,那么在检测启动信息错误的情况下,也可能无法执行固件下载,此时可以认为固件下载失败,即结束该固件下载过程。
可选地,在步骤S309之后,若该芯片没有在定时器超时之前接收到目标命令,那么除了执行上述步骤S311-S313以外,还可以有其他处理方式。例如,如图7所示,对于步骤S309,在定时器超时之前,没有接收到目标命令的情况下,可以直接启动应用程序。如果能够成功启动应用程序,则说明芯片中已经下载有应用程序的固件,所以该芯片可以启动对应的应用程序,而无需再下载该固件。但是,如果不能成功启动应用程序,或者说启动失败,那么可以采用ISP下载模式执行固件下载,此时,计时没有收到目标命令,但仍然可以采用ISP的下载模式,进行固件下载。
应理解,无论上述哪一种情况,如果芯片确定采用串口下载模式进行固件下载,可以将该芯片的该两个IO接口分别设置为该串口下载模式对应的IO接口,例如,可以将如图2所示的芯片200的第一接口210和第二接口220设置为ISP下载模式对应的TX接口和RX接口。具体地,设置芯片的两个IO接口为ISP下载模式对应的TX接口和RX接口可以包括:若当前的第一接口210和第二接口220为SWD下载模式对应的SWDIO接口和SWCLK接口,那么需要将原本设置为SWD下载模式对应的SWDIO接口和SWCLK接口,切换为ISP下载模式对应的TX接口和RX接口,这种切换可以包括:切换至ISP下载模式下的TX接口和RX接口的相关参数等;相反的,若当前的第一接口210和第二接口220为ISP下载模式对应的TX接口和RX接口,那么无需切换,直接采用该ISP下载模式对应的TX接口和RX接口执行ISP下载模式下的固件下载。
可选地,该方法100还可以包括:在确定不采用ISP下载模式的情况下,或者在采用ISP下载模式下载固件完成之后,还可以将该芯片的两个IO接口切换为SWD下载模式对应的SWDIO接口和SWCLK接口。
因此,本申请实施例的芯片下载固件的方法,在芯片上设置两个IO口,SWD下载模式和ISP下载模式可以复用这两个IO口,或者说,芯片设计中实现采用SWD下载模式的SWCLK与SWDIO两个IO口能够复用成采用ISP下载模式中的RX和TX两个接口,以使得芯片在进行固件下载时,可以自动选择串口下载模式或者仿真器下载模式,即芯片仅通过两个IO口就可以支持串口下载模式和仿真器下载模式两种下载模式。
上文中结合图1至图7,从芯片的角度详细描述了根据本申请实施例的芯片下载固件的方法,下面将结合图8,从通信设备的角度描述根据本申请实施例的芯片下载固件的方法。
图8示出了本申请实施例的通信设备为芯片下载固件的方法400的示意性流程图。如图8所示,这里以通信设备采用ISP下载模式为芯片下载固件为例进行描述,但本申请实施例并不限于此。
应理解,该方法400中的通信设备可以包括ISP工具,例如,该通信设备可以为如图5所示的PC,其包括的ISP工具可以用于与芯片之间通过ISP的方式下载固件。
如图8所示,该方法400包括:S401,确定采用ISP下载固件,即通信设备中的ISP工具确定要进行固件下载,为芯片下载某个应用程序的固件,并继续执行S402。
如图8所示,该方法400包括:S402,RTS输出低电平,即通信设备控制与之连接的串口板的RTS接口输出低电平,例如,通信设备为PC,该PC可以通过USB与串口板相连,并控制串口板RTS接口输出低电平。这样,芯片中与串口板RTS接口相连的复位引脚检测低电平的情况下,会触发芯片发生复位,即芯片会开始boot程序,例如,该芯片可以用于执行上述方法100或上述方法300。
如图8所示,该方法400包括:S403,发送指示ISP下载模式的目标命令,即通信设备在控制芯片发生复位后,可以向芯片发送目标命令,该目标命令用于指示ISP下载模式,以便于芯片接收到该目标命令后,选择ISP下载模式进行固件下载。
可选地,通信设备可以多次发送该目标命令,例如,该通信设备可以以一定周期,循环发送该目标命令,其中,该周期可以根据实际应用设置,例如,可以设置为10ms,但本申请实施例并不限于此。
如图8所示,该方法400包括:S404,是否收到目标命令的响应,通信设备在发送一次或者多次目标命令后,等待芯片发送目标命令的响应,例如等待芯片发送响应于目标命令的命令,以确定是否接收到该响应。如果通信设备接收到该响应,则继续执行S406,若未接收到响应,则对应于S405。
可选地,可以通过设置定时器,确定在定时器超时之前,是否接收到目标命令的响应。例如,可以在发送目标命令时开启定时器,或者,也可以在发送一次或者多次目标命令之后,开启定时器,或者也可以根据实际应用,选择合适时间开启定时器。如果定时器超时之前一直没有接收到响应,则确定没有接收到响应,并继续执行S405;若定时器超时之前收到响应,则可以停止定时器并继续执行S406。其中,定时器的时长可以根据实际应用,设置为任意一个数值,本申请实施例并不限于此。
如图8所示,该方法400包括:S405,下载失败,如果通信设备没有接收到芯片发送的目标命令的响应,则确定本次固件下载失败。
如图8所示,该方法400包括:S406,发送固件,如果通信设备接收到目标命令的响应,则芯片与通信设备之间需要采用ISP下载模式下载固件,通信设备需要向芯片发送该固件,完成固件下载,即对应S407。
如图8所示,该方法400包括:S407,下载成功,即通信设备为芯片成功下载固件,完成本次的固件下载。
应理解,该方法400以通信设备选择ISP下载模式为芯片下载固件,类似的,如果通信设备选择SWD下载模式为芯片下载固件,也可以采用与之类似的方式,为了简洁,在此不再赘述。例如,通信设备与芯片之间通过SWD的方式下载固件,则通信设备与芯片之间通过仿真器相连,通信设备可以通过仿真器的复位引脚控制芯片复位。芯片复位进入boot程序,在芯片通过仿真器与通信设备相连的情况下,根据上述方法100和方法300可知,芯片会自动选择SWD下载模式下载固件。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图8,详细描述了根据本申请实施例的芯片下载固件的方法,下面将结合图9,描述根据本申请实施例的芯片。
如图9所示,根据本申请实施例的芯片500包括:处理单元510和两个IO接口520,其中,所述两个IO接口520配置为支持串口下载模式以及仿真器下载模式;所述处理单元510用于:确定所述芯片500是否通过仿真器与所述通信设备连接,所述仿真器用于所述仿真器下载模式;根据所述芯片500是否通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式或者所述仿真器下载模式,从所述通信设备下载应用程序的固件。
可选地,该处理单元510也可以称为处理器。
可选地,作为一个实施例,所述处理单元510用于:若所述芯片500通过所述仿真器与所述通信设备连接,确定采用所述仿真器下载模式,从所述通信设备下载所述固件。
可选地,作为一个实施例,所述处理单元510用于:检测所述应用程序的启动信息;若检测的所述启动信息错误,通过所述仿真器,从所述通信设备下载所述固件。
可选地,作为一个实施例,所述处理单元510用于:若所述芯片500通过所述仿真器与所述通信设备连接,将所述芯片500的所述两个IO接口520配置为所述仿真器下载模式对应的IO接口。
可选地,作为一个实施例,所述处理单元510用于:若所述芯片500未通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式,从所述通信设备下载所述固件。
可选地,作为一个实施例,所述处理单元510用于:若接收到所述通信设备发送的目标命令,根据所述目标命令,采用所述串口下载模式,从所述通信设备下载所述固件,其中,所述目标命令用于指示所述串口下载模式。
可选地,作为一个实施例,所述处理单元510用于:若未接收到所述通信设备发送的目标命令,检测所述应用程序的启动信息,其中,所述目标命令用于指示所述串口下载模式;若检测的所述启动信息错误,采用所述串口下载模式,从所述通信设备下载所述固件。
可选地,作为一个实施例,所述处理单元510还用于:若所述芯片500未通过所述仿真器与所述通信设备连接,启动定时器;在所述定时器超时之前,确定是否接收到所述目标命令。
可选地,作为一个实施例,在所述处理单元510采用所述串口下载模式,从所述通信设备下载所述固件之前,所述处理单元510用于:将所述芯片500的所述两个IO接口520配置为所述串口下载模式对应的IO接口。
可选地,作为一个实施例,所述处理单元510下载所述固件在所述芯片500发生复位后。
可选地,作为一个实施例,所述芯片500还包括复位引脚530,若所述复位引脚530接收到由所述通信设备控制串口板中的接收流控RTS引脚输出的低电平,所述芯片500复位;和/或,若所述复位引脚530接收到由所述通信设备控制所述仿真器的复位引脚输出的复位信号,所述芯片500复位。
可选地,作为一个实施例,所述串口下载模式为在线***编程ISP下载模式,所述仿真器下载模式为串行调试SWD下载模式。
可选地,作为一个实施例,所述ISP下载模式对应的IO接口包括接收RX接口和发送TX接口。
可选地,作为一个实施例,所述SWD下载模式对应的IO接口包括串行数据输入输出SWDIO接口和串行时钟SWCLK接口。
应理解,根据本申请实施例的芯片500可对应于执行本申请实施例中的方法100和方法300,例如,该芯片500可以为如图2所示的芯片200,并且芯片500中的各个单元的上述和其它操作和/或功能分别为了实现图1至图8中的各个方法中芯片的相应流程,为了简洁,在此不再赘述。
因此,本申请实施例的芯片,设置有两个IO口,SWD下载模式和ISP下载模式可以复用这两个IO口,或者说,芯片设计中实现采用SWD下载模式的SWCLK与SWDIO两个IO口能够复用成采用ISP下载模式中的RX和TX两个接口,以使得芯片在进行固件下载时,可以自动选择串口下载模式或者仿真器下载模式,即芯片仅通过两个IO口就可以支持串口下载模式和仿真器下载模式两种下载模式。
可选地,本申请实施例中的芯片还可以包括存储器。其中,处理单元可以从存储器中调用并运行计算机程序,以实现本申请实施例中的方法。其中,存储器可以是独立于处理单元的一个单独的器件,也可以集成在处理单元中。
应理解,本申请实施例的处理单元或者说处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的***和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,上述存储器为示例性但不是限制性说明,例如,本申请实施例中的存储器还可以是静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)以及直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)等等。也就是说,本申请实施例中的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。
可选的,该计算机可读存储介质可应用于本申请实施例中的芯片,并且该计算机程序使得计算机执行本申请实施例的各个方法中由芯片实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。
可选的,该计算机程序产品可应用于本申请实施例中的芯片,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由芯片实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序。
可选的,该计算机程序可应用于本申请实施例中的芯片,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由芯片实现的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (28)

1.一种芯片下载固件的方法,其特征在于,所述芯片包括两个IO接口,所述两个IO接口配置为支持串口下载模式以及仿真器下载模式,所述方法包括:
确定所述芯片是否通过仿真器与所述通信设备连接,所述仿真器用于所述仿真器下载模式;
根据所述芯片是否通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式或者所述仿真器下载模式,从所述通信设备下载应用程序的固件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述芯片是否通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式或者所述仿真器下载模式,从所述通信设备下载应用程序的固件,包括:
若所述芯片通过所述仿真器与所述通信设备连接,确定采用所述仿真器下载模式,从所述通信设备下载所述固件。
3.根据权利要求2所述的方法,其特征在于,所述采用所述仿真器下载模式,从所述通信设备下载所述固件,包括:
检测所述应用程序的启动信息;
若检测的所述启动信息错误,通过所述仿真器,从所述通信设备下载所述固件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述芯片通过所述仿真器与所述通信设备连接,将所述芯片的所述两个IO接口分别设置为所述仿真器下载模式对应的IO接口。
5.根据权利要求1所述的方法,其特征在于,所述根据所述芯片是否通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式或者所述仿真器下载模式,从所述通信设备下载应用程序的固件,包括:
若所述芯片未通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式,从所述通信设备下载所述固件。
6.根据权利要求5所述的方法,其特征在于,所述采用所述串口下载模式,从所述通信设备下载所述固件,包括:
若接收到所述通信设备发送的目标命令,根据所述目标命令,采用所述串口下载模式,从所述通信设备下载所述固件,其中,所述目标命令用于指示所述串口下载模式。
7.根据权利要求5所述的方法,其特征在于,所述采用所述串口下载模式,从所述通信设备下载所述固件,包括:
若未接收到所述通信设备发送的目标命令,检测所述应用程序的启动信息,其中,所述目标命令用于指示所述串口下载模式;
若检测的所述启动信息错误,采用所述串口下载模式,从所述通信设备下载所述固件。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
若所述芯片未通过所述仿真器与所述通信设备连接,启动定时器;
在所述定时器超时之前,确定是否接收到所述目标命令。
9.根据权利要求5至8中任一项所述的方法,其特征在于,在所述采用所述串口下载模式,从所述通信设备下载所述固件之前,所述方法还包括:
将所述芯片的所述两个IO接口分别设置为所述串口下载模式对应的IO接口。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法应用于所述芯片发生复位后。
11.根据权利要求10所述的方法,其特征在于,所述芯片包括复位引脚,
若所述复位引脚接收到由所述通信设备控制串口板中的接收流控RTS引脚输出的低电平,所述芯片复位;和/或
若所述复位引脚接收到由所述通信设备控制所述仿真器的复位引脚输出的复位信号,所述芯片复位。
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述串口下载模式为在线***编程ISP下载模式,所述仿真器下载模式为串行调试SWD下载模式。
13.根据权利要求12所述的方法,其特征在于,所述ISP下载模式对应的IO接口包括接收RX接口和发送TX接口。
14.根据权利要求12或13所述的方法,其特征在于,所述SWD下载模式对应的IO接口包括串行数据输入输出SWDIO接口和串行时钟SWCLK接口。
15.一种芯片,其特征在于,所述芯片包括两个IO接口和处理单元,
所述两个IO接口配置为支持串口下载模式以及仿真器下载模式;
所述处理单元用于:
确定所述芯片是否通过仿真器与所述通信设备连接,所述仿真器用于所述仿真器下载模式;
根据所述芯片是否通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式或者所述仿真器下载模式,从所述通信设备下载应用程序的固件。
16.根据权利要求15所述的芯片,其特征在于,所述处理单元用于:
若所述芯片通过所述仿真器与所述通信设备连接,确定采用所述仿真器下载模式,从所述通信设备下载所述固件。
17.根据权利要求16所述的芯片,其特征在于,所述处理单元用于:
检测所述应用程序的启动信息;
若检测的所述启动信息错误,通过所述仿真器,从所述通信设备下载所述固件。
18.根据权利要求17所述的芯片,其特征在于,所述处理单元用于:
若所述芯片通过所述仿真器与所述通信设备连接,将所述芯片的所述两个IO接口配置为所述仿真器下载模式对应的IO接口。
19.根据权利要求15所述的芯片,其特征在于,所述处理单元用于:
若所述芯片未通过所述仿真器与所述通信设备连接,确定采用所述串口下载模式,从所述通信设备下载所述固件。
20.根据权利要求19所述的芯片,其特征在于,所述处理单元用于:
若接收到所述通信设备发送的目标命令,根据所述目标命令,采用所述串口下载模式,从所述通信设备下载所述固件,其中,所述目标命令用于指示所述串口下载模式。
21.根据权利要求19所述的芯片,其特征在于,所述处理单元用于:
若未接收到所述通信设备发送的目标命令,检测所述应用程序的启动信息,其中,所述目标命令用于指示所述串口下载模式;
若检测的所述启动信息错误,采用所述串口下载模式,从所述通信设备下载所述固件。
22.根据权利要求20或21所述的芯片,其特征在于,所述处理单元还用于:
若所述芯片未通过所述仿真器与所述通信设备连接,启动定时器;
在所述定时器超时之前,确定是否接收到所述目标命令。
23.根据权利要求19至22中任一项所述的芯片,其特征在于,在所述处理单元采用所述串口下载模式,从所述通信设备下载所述固件之前,所述处理单元用于:
将所述芯片的所述两个IO接口配置为所述串口下载模式对应的IO接口。
24.根据权利要求15至23中任一项所述的芯片,其特征在于,所述处理单元下载所述固件在所述芯片发生复位后。
25.根据权利要求24所述的芯片,其特征在于,所述芯片还包括复位引脚,
若所述复位引脚接收到由所述通信设备控制串口板中的接收流控RTS引脚输出的低电平,所述芯片复位;和/或
若所述复位引脚接收到由所述通信设备控制所述仿真器的复位引脚输出的复位信号,所述芯片复位。
26.根据权利要求15至25中任一项所述的芯片,其特征在于,所述串口下载模式为在线***编程ISP下载模式,所述仿真器下载模式为串行调试SWD下载模式。
27.根据权利要求26所述的芯片,其特征在于,所述ISP下载模式对应的IO接口包括接收RX接口和发送TX接口。
28.根据权利要求26或27所述的芯片,其特征在于,所述SWD下载模式对应的IO接口包括串行数据输入输出SWDIO接口和串行时钟SWCLK接口。
CN202080001498.7A 2020-02-07 2020-02-07 芯片下载固件的方法和芯片 Pending CN111758088A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/074461 WO2021155551A1 (zh) 2020-02-07 2020-02-07 芯片下载固件的方法和芯片

Publications (1)

Publication Number Publication Date
CN111758088A true CN111758088A (zh) 2020-10-09

Family

ID=72712037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080001498.7A Pending CN111758088A (zh) 2020-02-07 2020-02-07 芯片下载固件的方法和芯片

Country Status (2)

Country Link
CN (1) CN111758088A (zh)
WO (1) WO2021155551A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760806A (zh) * 2021-11-09 2021-12-07 南京沁恒微电子股份有限公司 多模式虚拟串口芯片、实现方法、固件下载***及其方法
CN117250483A (zh) * 2023-11-17 2023-12-19 深圳市航顺芯片技术研发有限公司 芯片测试***和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095280A1 (en) * 2001-01-16 2002-07-18 Industrial Technology Research Institute Programmable memory emulator capable of emulating unspecified memory devices
CN103778092A (zh) * 2014-01-06 2014-05-07 建荣集成电路科技(珠海)有限公司 Usb和sd接口复用电路及复用方法
CN106569416A (zh) * 2016-10-28 2017-04-19 珠海格力电器股份有限公司 一种微控制器的串行接口与仿真调试接口复用方法及装置
CN107341111A (zh) * 2017-09-08 2017-11-10 北京奥博泰科技有限公司 一种usb接口的多功能嵌入式开发工具

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003900764A0 (en) * 2003-02-20 2003-03-06 Secure Systems Limited Bus bridge security system and method for computers
CN108363577B (zh) * 2018-02-01 2023-04-14 四川泰瑞创通讯技术股份有限公司 自动分类下载光模块固件程序的装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095280A1 (en) * 2001-01-16 2002-07-18 Industrial Technology Research Institute Programmable memory emulator capable of emulating unspecified memory devices
CN103778092A (zh) * 2014-01-06 2014-05-07 建荣集成电路科技(珠海)有限公司 Usb和sd接口复用电路及复用方法
CN106569416A (zh) * 2016-10-28 2017-04-19 珠海格力电器股份有限公司 一种微控制器的串行接口与仿真调试接口复用方法及装置
CN107341111A (zh) * 2017-09-08 2017-11-10 北京奥博泰科技有限公司 一种usb接口的多功能嵌入式开发工具

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760806A (zh) * 2021-11-09 2021-12-07 南京沁恒微电子股份有限公司 多模式虚拟串口芯片、实现方法、固件下载***及其方法
WO2023082469A1 (zh) * 2021-11-09 2023-05-19 南京沁恒微电子股份有限公司 多模式虚拟串口芯片、实现方法、固件下载***及其方法
CN117250483A (zh) * 2023-11-17 2023-12-19 深圳市航顺芯片技术研发有限公司 芯片测试***和方法

Also Published As

Publication number Publication date
WO2021155551A1 (zh) 2021-08-12

Similar Documents

Publication Publication Date Title
KR100988157B1 (ko) 메모리 디바이스 구성을 검출하기 위한 방법 및 장치와, 메모리 디바이스 구성을 검출하기 위한 방법을 수행하기 위한 명령들을 포함하는 컴퓨터 판독 가능 매체
US9557791B2 (en) Computer device and method for converting working mode of universal serial bus connector of the computer device
US10384625B2 (en) Communication device and non-transitory recording medium
CN111758088A (zh) 芯片下载固件的方法和芯片
US20170177380A1 (en) Motherboard and a method for boot-up
CN111857303B (zh) 一种fpga复位方法、装置、***和电子设备
CN111240753A (zh) 引导程序的加载方法、存储介质及嵌入式终端
US20070119953A1 (en) Portable device and method for setting a hardware identity code corresponding to the portable device
US10169281B2 (en) Switch system and operation method thereof
CN110908733A (zh) 工作模式确定方法及装置、控制方法及装置
EP2425336A1 (en) Mobile operating system management method and system
JP2001109629A (ja) Cpuのブート制御装置及びブート制御方法
JP2006277733A (ja) プログラマブル・コントローラ・システム
CN111147400B (zh) 一种命令行配置同步的方法、装置及电子设备
CN214751393U (zh) 微控制器和计算***
CN109885329B (zh) 一种升级方法、***及电子设备
KR100706409B1 (ko) 광역 씨디엠에이 및 씨디엠에이 겸용 이동 단말기의 부팅방법
CN112731875B (zh) 目标设备控制方法及装置、非易失性存储介质和处理器
CN106445571B (zh) 主机板及开机的方法
CN107783915B (zh) 用于mcu的端口复用方法和装置
TWI556171B (zh) 主機板及開機的方法
CN105867954B (zh) 一种***数据更新方法、第一电子设备及***
CN113760577B (zh) 一种动态连接答题装置及处理方法、控制装置、存储介质
KR20080041946A (ko) 통신속도 자동 설정 장치 및 그 방법
US10803008B2 (en) Flexible coupling of processor modules

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