CN109558359A - 嵌入式芯片的串口加载装置及方法 - Google Patents

嵌入式芯片的串口加载装置及方法 Download PDF

Info

Publication number
CN109558359A
CN109558359A CN201811449493.1A CN201811449493A CN109558359A CN 109558359 A CN109558359 A CN 109558359A CN 201811449493 A CN201811449493 A CN 201811449493A CN 109558359 A CN109558359 A CN 109558359A
Authority
CN
China
Prior art keywords
embedded chip
host computer
serial ports
chip
burning
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.)
Granted
Application number
CN201811449493.1A
Other languages
English (en)
Other versions
CN109558359B (zh
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.)
Shanghai Mobile Core Communication Technology Co.,Ltd.
Original Assignee
Shanghai Shixin Communication 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 Shanghai Shixin Communication Technology Co Ltd filed Critical Shanghai Shixin Communication Technology Co Ltd
Priority to CN201811449493.1A priority Critical patent/CN109558359B/zh
Publication of CN109558359A publication Critical patent/CN109558359A/zh
Application granted granted Critical
Publication of CN109558359B publication Critical patent/CN109558359B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种嵌入式芯片的串口加载装置及方法,涉及嵌入式芯片领域,包括:嵌入式芯片、硬件控制电路、USB转换芯片和上位机;所述嵌入式芯片通过所述硬件控制电路和所述USB转换芯片,与所述上位机通信连接,使所述嵌入式芯片和所述上位机实现串口加载文件。本发明整体上实现了嵌入式芯片通用的下载和烧录,扩大了后期FLASH存储器物料的选择范围,节省了嵌入式芯片的ROM存储空间和GPIO资源,避免了ROM在烧录方面的设计难度和风险。

Description

嵌入式芯片的串口加载装置及方法
技术领域
本发明涉及嵌入式芯片领域,尤其涉及一种嵌入式芯片的串口加载装置及方法。
背景技术
嵌入式芯片是指具有ROM和RAM存储器,有控制功能的芯片,例如:SOC嵌入式芯片。传统的嵌入式芯片启动时首先需要从芯片内部的固化存储空间ROM引导,然后进一步访问其他可反复烧录的程序存储介质,如FLASH存储器中的SPI NOR FLASH,跳转到其对应的镜像程序空间,从而实现此程序存储介质程序的启动,执行烧录等功能。
在烧录功能方面,ROM很难做到通用性:1、由于不同供应商的FLASH存储器的技术标准并非完全兼容,且ROM空间有限,若将各个FLASH存储器工作所需的驱动程序一一实现并存储于ROM,ROM通过驱动程序来完成烧录或者引导,将占用ROM较大的存储空间;2、各种FLASH存储器的驱动程序实现起来很繁杂,若驱动程序稍有错误,在芯片流片后也会因无法更改固化存储空间ROM中的驱动程序,而导致驱动程序无法工作,芯片无法烧录和启动,带来较为严重的经济损失。3、NB-IOT SOC嵌入式芯片中往往将SPI NOR FLASH存储颗粒封装在SOC嵌入式芯片内部,以减小SOC嵌入式芯片整体空间的占用,ROM中驱动程序若稍有缺陷,即使有部分SPI NOR FLASH在这类轻微的驱动程序缺陷下仍能够正常工作,但因为SPINOR FLASH已经封装在SOC内部,无法如PCB电路一样轻易更改这类SPI NOR FLASH器件来实现缺陷规避。
在烧录效率方面:1、嵌入式芯片烧录大多通过JLINK SWD接口来进行烧录,虽然方便开发和调试,但过于依赖于JLINK硬件资源和KEIL工具,自动化烧录实现困难;2、传统的串口烧录,过程中需要人为参与复位、下载、烧录、检测等操作,例如:当需要复位时,需要人为手动按下相应的按钮进行复位,在实现量产方面效率低、可靠性差、成本高。
发明内容
本发明的目的是提供一种嵌入式芯片的串口加载装置及方法,提高嵌入式芯片量产方面的效率和可靠性,降低成本。
本发明提供的技术方案如下:
一种嵌入式芯片的串口加载装置,包括:嵌入式芯片、硬件控制电路、USB转换芯片和上位机;所述嵌入式芯片通过所述硬件控制电路和所述USB转换芯片,与所述上位机通信连接,使所述嵌入式芯片和所述上位机实现串口加载文件。
在上述技术方案中,嵌入式芯片的串口加载装置,无需要人为参与,上位机通过程序固件即可实现对嵌入式芯片管脚状态的控制,使两者实现串口加载文件,提高量产的效率和可靠性,降低硬件成本和人力成本。
进一步,所述嵌入式芯片的ROM中存储有串口文件加载程序固件,所述上位机上存储有下载烧录程序固件;当所述嵌入式芯片和所述上位机进入同步下载状态时,所述串口文件加载程序固件和所述下载烧录程序固件按照约定的消息格式进行通信,将代理程序固件下载至所述嵌入式芯片的RAM。
在上述技术方案中,代理程序固件可自由适配FLASH驱动程序,将ROM中未实现的功能(例如:FLASH驱动程序)通过代理程序固件来实现,极大地提高了烧录的通用性和灵活的功能可扩展性。
进一步,所述代理程序固件中包含了FLASH驱动程序;当所述代理程序固件成功下载至RAM时,所述嵌入式芯片执行所述代理程序固件,与上位机的下载烧录程序固件配合,完成***镜像文件的下载,并通过所述FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器中。
进一步,所述***镜像文件的下载和通过所述FLASH驱动程序将所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器的过程具体为:当嵌入式芯片接收到上位机发送的波特率配置命令时,配置相应的波特率;当嵌入式芯片接收到上位机发送的镜像下载命令时,根据配置的波特率下载***镜像文件;当嵌入式芯片接收到上位机发送的烧录命令时,将通过所述FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器。
在上述技术方案中,上位机与AGENT(即代理程序固件)之间镜像下载和控制,可实现灵活的波特率配置、下载烧录过程控制、烧录结果检测等功能。
进一步,将代理程序固件下载至所述嵌入式芯片的RAM过程中采用分段下载。
在上述技术方案中,采用分段下载方式,若出现错误,可仅重传出错的一段,提高下载效率。
进一步,所述嵌入式芯片根据所述上位机发送的复位信号复位后,当检测到所述嵌入式芯片上的GPIO加载信号时,所述嵌入式芯片和所述上位机进入同步下载状态。
进一步,所述嵌入式芯片的ROM中存储有加载检测程序固件;所述的当检测到所述嵌入式芯片上的GPIO加载信号具体为:所述加载检测程序固件根据GPIO管脚的状态,判断是否检测到所述GPIO加载信号。
在上述技术方案中,上位机与嵌入式芯片之间通过可进行程序加载的硬件控制电路电连接,实现复位、下载、烧录、检测等功能的自动控制。
本发明还提供一种嵌入式芯片的串口加载方法,应用了上述任一所述的嵌入式芯片的串口加载装置,包括:当嵌入式芯片和上位机进入同步下载状态时,所述嵌入式芯片上的串口文件加载程序固件和所述上位机上的下载烧录程序固件按照约定的消息格式进行通信,将代理程序固件通过串口加载至所述嵌入式芯片的RAM。
在上述技术方案中,嵌入式芯片的串口加载装置,无需要人为参与,上位机通过程序固件即可实现对嵌入式芯片管脚状态的控制,使两者实现串口加载文件,提高量产的效率和可靠性,降低硬件成本和人力成本。
进一步,还包括:当所述代理程序固件成功下载至RAM时,所述嵌入式芯片执行所述代理程序固件,与上位机的下载烧录程序固件配合,通过串口完成***镜像文件的下载,并通过所述代理程序固件中的FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器中。
进一步,所述***镜像文件的下载和通过所述FLASH驱动程序将所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器的过程具体为:当嵌入式芯片接收到上位机发送的波特率配置命令时,配置相应的波特率;当嵌入式芯片接收到上位机发送的镜像下载命令时,根据配置的波特率下载***镜像文件;当嵌入式芯片接收到上位机发送的烧录命令时,将通过所述FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器。
进一步,还包括:所述嵌入式芯片根据所述上位机发送的复位信号复位后,当检测到所述嵌入式芯片上的GPIO加载信号时,所述嵌入式芯片和所述上位机进入同步下载状态。
进一步,所述的当检测到所述嵌入式芯片上的GPIO加载信号具体为:所述嵌入式芯片的ROM中存储的加载检测程序固件根据GPIO管脚的状态,判断是否检测到所述GPIO加载信号。
与现有技术相比,本发明的嵌入式芯片的串口加载装置及方法有益效果在于:
本发明整体上实现了嵌入式芯片通用的下载和烧录,扩大了后期FLASH存储器物料的选择范围,节省了嵌入式芯片的ROM存储空间和GPIO资源,避免了ROM在烧录方面的设计难度和风险。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种嵌入式芯片的串口加载装置及方法的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明嵌入式芯片的串口加载装置一个实施例的结构示意图;
图2是图1中硬件控制电路、USB转换芯片与其他硬件连接的一个实施例的结构示意图;
图3是本发明嵌入式芯片下载代理程序固件一个实施例的流程图;
图4是本发明嵌入式芯片执行烧录功能一个实施例的流程图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
本发明的嵌入式芯片是指具有ROM和RAM存储器,有控制功能的芯片,其都可采用本发明的方式进行串口文件的加载和烧录。尤其是适用于SOC嵌入式芯片时,效果更好,因为SOC嵌入式芯片的FLASH驱动程序比较复杂,而ROM的存储空间相比其他的嵌入式芯片更小一点,若采用本发明的方法进行加载和烧录,可释放ROM的存储空间,烧录过程更简单、方便,得到更好的烧录效率。本发明的FLASH存储器可以为任何FLASH存储器,例如:NORFLASH,NAND FLASH,SPI NOR FLASH等。
图1示出了本发明的一个嵌入式芯片的串口加载装置实施例,包括:嵌入式芯片、硬件控制电路、USB转换芯片和上位机;所述嵌入式芯片通过所述硬件控制电路和所述USB转换芯片,与所述上位机通信连接,使所述嵌入式芯片和所述上位机实现串口加载文件。
具体的,嵌入式芯片上有串口硬件接口,其通过USB转换芯片与上位机的USB接口连接,嵌入式芯片的复位管脚(RST)和GPIO管脚与硬件控制电路电连接,硬件控制电路的与USB转换芯片的请求发送管脚(RTS)和数据终端准备管脚(DTR)电连接。
在上述串口加载装置中,嵌入式芯片的ROM只需要存储加载检测程序固件、串口文件加载程序固件和串口通信程序固件,即可让嵌入式芯片与上位机实现自动复位、下载、烧录、检测等操作。串口通信程序固件保证了嵌入式芯片与上位机可实现串口通信的基础。
可选地,如图2所示,上位机采用一个PC(即计算机),USB转换芯片采用FT232芯片,硬件控制电路采用电阻和三极管的结合,FT232的RTS管脚与嵌入式芯片的GPIO管脚电连接,FT232的DTR管脚与电阻R的一端电连接,电阻R的另一端与三极管Q2的基极电连接,三极管Q2的集电极与嵌入式芯片的RST管脚电连接,三极管Q2的发射极与嵌入式芯片的GPIO管脚电连接。
上位机上存储有控制嵌入式芯片自动复位、下载、烧录、检测等功能的程序固件,为方便称呼,在本发明中定义其为下载烧录程序固件。通过上述方式将嵌入式芯片和上位机连接后,上位机通过下载烧录程序固件控制嵌入式芯片的管脚状态,例如:上位机发送复位命令,嵌入式芯片的RST管脚复位。
可选地,嵌入式芯片根据所述上位机发送的复位信号复位后,当检测到所述嵌入式芯片上的GPIO加载信号时,所述嵌入式芯片和所述上位机进入同步下载状态。
嵌入式芯片的ROM中存储有加载检测程序固件;所述的当检测到所述嵌入式芯片上的GPIO加载信号具体为:所述加载检测程序固件根据GPIO管脚的状态,判断是否检测到所述GPIO加载信号。
具体的,当嵌入式芯片复位后,其ROM中存储的加载检测程序固件自动检测嵌入式芯片的GPIO管脚的状态,若检测到GPIO管脚有效,则认为检测到GPIO加载信号,嵌入式芯片和上位机自动进入同步下载状态,可通过串口实现串口文件的加载。
GPIO管脚有效是根据连接的电路情况具体设定,比如:设定高电位时无效,低电位时有效。本实施例的GPIO实际复位4线串口的CTS,4线UART包含TXD,RXD,CTS,RTS,可节省本来就不多的GPIO资源。
本实施例中的嵌入式芯片的串口加载装置,无需要人为参与,上位机通过程序固件即可实现对嵌入式芯片管脚状态的控制,使两者实现串口加载文件,提高量产的效率和可靠性,降低硬件成本和人力成本。
在本发明的另一个实施例中,一种嵌入式芯片的串口加载装置,包括:嵌入式芯片、硬件控制电路、USB转换芯片和上位机;所述嵌入式芯片通过所述硬件控制电路和所述USB转换芯片,与所述上位机通信连接,使所述嵌入式芯片和所述上位机实现串口加载文件。
嵌入式芯片根据所述上位机发送的复位信号复位后,当检测到所述嵌入式芯片上的GPIO加载信号时,所述嵌入式芯片和所述上位机进入同步下载状态。嵌入式芯片的ROM中存储有加载检测程序固件;所述的当检测到所述嵌入式芯片上的GPIO加载信号具体为:所述加载检测程序固件根据GPIO管脚的状态,判断是否检测到所述GPIO加载信号。
具体的,本实施例与上述实施例相同的部分不再详细解释,请参见上述实施例。
嵌入式芯片的ROM中存储有串口文件加载程序固件,所述上位机上存储有下载烧录程序固件;当所述嵌入式芯片和所述上位机进入同步下载状态时,所述串口文件加载程序固件和所述下载烧录程序固件按照约定的消息格式进行通信,将代理程序固件下载至所述嵌入式芯片的RAM。
具体的,当上位机和嵌入式芯片进入同步下载状态时,由上位机的下载烧录程序固件发起,与嵌入式芯片实现同步握手,根据嵌入式芯片的ROM版本,下发对应的代理程序固件,即Agent程序固件。
代理程序固件可自由适配FLASH驱动程序,即工程师可根据嵌入式芯片使用FLASH存储器的类型,使代理程序固件中包含对应的FLASH驱动程序,若出现问题,可灵活调整代理程序固件,避免出现现有的将FLASH驱动程序存储于ROM,若出现问题,无法调整,导致带个嵌入式芯片报废的情况,降低了经济损失,也扩大了FLASH存储器选择的范围。且ROM中现在存储的程序固件相比于传统将所有FLASH驱动程序存储进去,释放了ROM大量的存储空间。
可选地,嵌入式芯片通过串口将代理程序固件下载至RAM的过程中,采用分段下载,如图3所示。
具体的,分段下载时,若某一段出现问题,可单独重下这一段,无需重下整个代理程序固件,提高下载效率。
另外,分段下载时,也可引入数据校验(例如:CRC校验等),即对每段下载下来的文件进行校验,若出错,则让上位机重新传这一段。
分段下载、数据校验、出错重传等方式,保证了嵌入式芯片能够可靠地将代理程序固件下载至RAM。
在本发明的又一个实施例中,一种嵌入式芯片的串口加载装置,包括:嵌入式芯片、硬件控制电路、USB转换芯片和上位机;所述嵌入式芯片通过所述硬件控制电路和所述USB转换芯片,与所述上位机通信连接,使所述嵌入式芯片和所述上位机实现串口加载文件。
嵌入式芯片根据所述上位机发送的复位信号复位后,当检测到所述嵌入式芯片上的GPIO加载信号时,所述嵌入式芯片和所述上位机进入同步下载状态。嵌入式芯片的ROM中存储有加载检测程序固件;所述的当检测到所述嵌入式芯片上的GPIO加载信号具体为:所述加载检测程序固件根据GPIO管脚的状态,判断是否检测到所述GPIO加载信号。
嵌入式芯片的ROM中存储有串口文件加载程序固件,所述上位机上存储有下载烧录程序固件;当所述嵌入式芯片和所述上位机进入同步下载状态时,所述串口文件加载程序固件和所述下载烧录程序固件按照约定的消息格式进行通信,将代理程序固件下载至所述嵌入式芯片的RAM。
具体的,本实施例与上述实施例相同的部分不再详细解释,请参见上述实施例。
代理程序固件中包含了FLASH驱动程序;当所述代理程序固件成功下载至RAM时,所述嵌入式芯片执行所述代理程序固件,与上位机的下载烧录程序固件配合,完成***镜像文件的下载,并通过所述FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器中。
具体的,当代理程序固件下载成功后,嵌入式芯片执行代理程序固件,实现镜像下载。在实际运行时,当嵌入式芯片下载代理程序固件成功后,会返回同步控制码给上位机,让上位机了解嵌入式芯片已下载代理程序固件成功,进入同步控制状态,执行烧录功能。
需要注意的,本发明存在了同步下载状态和同步控制状态,同步下载状态是指可进行代理程序固件的下载,同步控制状态是指可实现***镜像文件的烧录。两个状态的命名只是为了方便解释,实际使用时可不区分这两个状态,只要能够通过本发明的嵌入式芯片的串口加载装置实现串口文件的下载、烧录即可。
代理程序固件和下载烧录程序固件之间的通信过程包括:控制部分和文件下载部分。文件下载部分指***镜像文件的下载,与代理程序固件下载基本一致,都是通过串口通信将从上位机处将***镜像文件下载至嵌入式芯片的RAM中缓存。控制部分包括:波特率的配置,开始启动镜像下载,控制镜像烧录,镜像烧录结果检测等,完成***镜像文件的可靠烧录。
优选地,如图4所示,***镜像文件的下载和通过所述FLASH驱动程序将所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器的过程具体为:
当嵌入式芯片接收到上位机发送的波特率配置命令时,配置相应的波特率。波特率即***镜像文件的下载速率,可根据实际情况配置,保证下载效率。
当嵌入式芯片接收到上位机发送的镜像下载命令时,根据配置的波特率下载***镜像文件。
当嵌入式芯片接收到上位机发送的烧录命令时,将通过所述FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器。
当嵌入式芯片接收到上位机发送的烧录结果检测命令时,对烧录的所述***镜像文件进行检测,若检测失败,发送错误码给上位机。
具体的,通过上位机上的下载烧录程序固件和嵌入式芯片RAM中缓存的代理程序固件,实现***镜像文件可靠烧录至FLASH存储器。
可选地,***镜像文件都是比较大的文件,下载***镜像文件至RAM可像下载代理程序固件一样分段下载。同理,烧录、检测也可分段进行。
例如:嵌入式芯片下载了***镜像文件的分段数据包1,其可一边下载***镜像文件的分段数据包2,一边将分段数据包1烧录至FLASH存储器,烧录好后,检测烧录至FLASH存储器中的分段数据包1是否正确,若不正确,可向上位机返回错误码,让上位机重传。
嵌入式芯片在下载采用分段下载,烧录、检测时也会分段烧录、检测,相当于几个并行程序并行进行,提高烧录效率和可靠性。
本发明的嵌入式芯片的串口加载装置具有以下效果:
1、上位机与嵌入式芯片之间通过可进行程序加载的硬件控制电路电连接,实现复位、下载、烧录、检测等功能的自动控制。
2、串口文件加载程序固件,在内存空间紧凑的嵌入式芯片内部,实现了一种具有同步机制且可分段、出错重传的文件下载方式。
3、嵌入式芯片内部的代理程序固件跳转机制,将ROM中未实现的功能(例如:FLASH驱动程序)通过代理程序固件来实现,极大地提高了烧录的通用性和灵活的功能可扩展性。
4、上位机与AGENT(即代理程序固件)之间镜像下载和控制,可实现灵活的波特率配置、下载烧录过程控制、烧录结果检测等功能。
本发明提供了一种嵌入式芯片的串口加载方法的实施例,应用于上述任一实施例的嵌入式芯片的串口加载装置,包括:
当嵌入式芯片和上位机进入同步下载状态时,所述嵌入式芯片上的串口文件加载程序固件和所述上位机上的下载烧录程序固件按照约定的消息格式进行通信,将代理程序固件通过串口加载至所述嵌入式芯片的RAM。
具体的,当上位机和嵌入式芯片进入同步下载状态时,由上位机的下载烧录程序固件发起,与嵌入式芯片实现同步握手,根据嵌入式芯片的ROM版本,下发对应的代理程序固件,即Agent程序固件。
代理程序固件可自由适配FLASH驱动程序,即工程师可根据嵌入式芯片使用FLASH存储器的类型,使代理程序固件中包含对应的FLASH驱动程序,若出现问题,可灵活调整代理程序固件,避免出现现有的将FLASH驱动程序存储于ROM,若出现问题,无法调整,导致带个嵌入式芯片报废的情况,降低了经济损失,也扩大了FLASH存储器选择的范围。且ROM中现在存储的程序固件相比于传统将所有FLASH驱动程序存储进去,释放了ROM大量的存储空间。
可选地,嵌入式芯片通过串口将代理程序固件下载至RAM的过程中,采用分段下载,如图3所示。
具体的,分段下载时,若某一段出现问题,可单独重下这一段,无需重下整个代理程序固件,提高下载效率。
另外,分段下载时,也可引入数据校验(例如:CRC校验等),即对每段下载下来的文件进行校验,若出错,则让上位机重新传这一段。
分段下载、数据校验、出错重传等方式,保证了嵌入式芯片能够可靠地将代理程序固件下载至RAM。
可选地,嵌入式芯片根据所述上位机发送的复位信号复位后,当检测到所述嵌入式芯片上的GPIO加载信号时,所述嵌入式芯片和所述上位机进入同步下载状态。
具体的,上位机上存储有控制嵌入式芯片自动复位、下载、烧录、检测等功能的程序固件,为方便称呼,在本发明中定义其为下载烧录程序固件。通过上述方式将嵌入式芯片和上位机连接后,上位机通过下载烧录程序固件控制嵌入式芯片的管脚状态,例如:上位机发送复位命令,嵌入式芯片的RST管脚复位。
嵌入式芯片的ROM中存储有加载检测程序固件;所述的当检测到所述嵌入式芯片上的GPIO加载信号具体为:所述加载检测程序固件根据GPIO管脚的状态,判断是否检测到所述GPIO加载信号。
具体的,当嵌入式芯片复位后,其ROM中存储的加载检测程序固件自动检测嵌入式芯片的GPIO管脚的状态,若检测到GPIO管脚有效,则认为检测到GPIO加载信号,嵌入式芯片和上位机自动进入同步下载状态,可通过串口实现串口文件的加载。
GPIO管脚有效是根据连接的电路情况具体设定,比如:设定高电位时无效,低电位时有效。本实施例的GPIO实际复位4线串口的CTS,4线UART包含TXD,RXD,CTS,RTS,可节省本来就不多的GPIO资源。
本实施例中的嵌入式芯片的串口加载装置,无需要人为参与,上位机通过程序固件即可实现对嵌入式芯片管脚状态的控制,使两者实现串口加载文件,提高量产的效率和可靠性,降低硬件成本和人力成本。
在本发明的另一个实施例中,一种嵌入式芯片的串口加载方法,应用了上述任意一个装置实施例中的串口加载装置,包括:
嵌入式芯片根据所述上位机发送的复位信号复位后,当检测到所述嵌入式芯片上的GPIO加载信号时,所述嵌入式芯片和所述上位机进入同步下载状态。当检测到所述嵌入式芯片上的GPIO加载信号具体为:所述嵌入式芯片的ROM中存储的加载检测程序固件根据GPIO管脚的状态,判断是否检测到所述GPIO加载信号。
当嵌入式芯片和上位机进入同步下载状态时,所述嵌入式芯片上的串口文件加载程序固件和所述上位机上的下载烧录程序固件按照约定的消息格式进行通信,将代理程序固件通过串口加载至所述嵌入式芯片的RAM。
可选地,将代理程序固件下载至所述嵌入式芯片的RAM过程中采用分段下载。
具体的,本实施例与上述方法实施例相同的部分不再详细解释,请参见上述方法实施例。
代理程序固件中包含了FLASH驱动程序;当所述代理程序固件成功下载至RAM时,所述嵌入式芯片执行所述代理程序固件,与上位机的下载烧录程序固件配合,通过串口完成***镜像文件的下载,并通过所述代理程序固件中的FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器中。
具体的,当代理程序固件下载成功后,嵌入式芯片执行代理程序固件,实现镜像下载。在实际运行时,当嵌入式芯片下载代理程序固件成功后,会返回同步控制码给上位机,让上位机了解嵌入式芯片已下载代理程序固件成功,进入同步控制状态,执行烧录功能。
需要注意的,本发明存在了同步下载状态和同步控制状态,同步下载状态是指可进行代理程序固件的下载,同步控制状态是指可实现***镜像文件的烧录。两个状态的命名只是为了方便解释,实际使用时可不区分这两个状态,只要能够通过本发明的嵌入式芯片的串口加载装置实现串口文件的下载、烧录即可。
代理程序固件和下载烧录程序固件之间的通信过程包括:控制部分和文件下载部分。文件下载部分指***镜像文件的下载,与代理程序固件下载基本一致,都是通过串口通信将从上位机处将***镜像文件下载至嵌入式芯片的RAM中缓存,其也可采用分段下载,过程可参考图3,仅将下载内容替换为***镜像文件即可。控制部分包括:波特率的配置,开始启动镜像下载,控制镜像烧录,镜像烧录结果检测等,完成***镜像文件的可靠烧录。
优选地,***镜像文件的下载和通过所述FLASH驱动程序将所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器的过程具体为:
当嵌入式芯片接收到上位机发送的波特率配置命令时,配置相应的波特率;波特率即***镜像文件的下载速率,可根据实际情况配置,保证下载效率。
当嵌入式芯片接收到上位机发送的镜像下载命令时,根据配置的波特率下载***镜像文件。
当嵌入式芯片接收到上位机发送的烧录命令时,将通过所述FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器。
当嵌入式芯片接收到上位机发送的烧录结果检测命令时,对烧录的所述***镜像文件进行检测,若检测失败,发送错误码给上位机。
具体的,通过上位机上的下载烧录程序固件和嵌入式芯片RAM中缓存的代理程序固件,实现***镜像文件可靠烧录至FLASH存储器。
可选地,***镜像文件都是比较大的文件,下载***镜像文件至RAM可像下载代理程序固件一样分段下载。同理,烧录、检测也可分段进行。具体的例子可参见对应的方法实施例,在此不再赘述。
嵌入式芯片在下载采用分段下载,烧录、检测时也会分段烧录、检测,相当于几个并行程序并行进行,提高烧录效率和可靠性。
本发明的嵌入式芯片的串口加载装置和方法,整体上实现了嵌入式芯片通用的下载和烧录,扩大了后期FLASH存储器物料的选择范围,节省了嵌入式芯片的ROM存储空间和GPIO资源,避免了ROM在烧录方面的设计难度和风险,并通过上位机和嵌入式芯片协同控制,实现了一种可靠、高效的自动化烧录方式。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种嵌入式芯片的串口加载装置,其特征在于,包括:
嵌入式芯片、硬件控制电路、USB转换芯片和上位机;
所述嵌入式芯片通过所述硬件控制电路和所述USB转换芯片,与所述上位机通信连接,使所述嵌入式芯片和所述上位机实现串口加载文件。
2.如权利要求1所述的嵌入式芯片的串口加载装置,其特征在于:
所述嵌入式芯片的ROM中存储有串口文件加载程序固件,所述上位机上存储有下载烧录程序固件;
当所述嵌入式芯片和所述上位机进入同步下载状态时,所述串口文件加载程序固件和所述下载烧录程序固件按照约定的消息格式进行通信,将代理程序固件下载至所述嵌入式芯片的RAM。
3.如权利要求2所述的嵌入式芯片的串口加载装置,其特征在于:
所述代理程序固件中包含了FLASH驱动程序;
当所述代理程序固件成功下载至RAM时,所述嵌入式芯片执行所述代理程序固件,与上位机的下载烧录程序固件配合,完成***镜像文件的下载,并通过所述FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器中。
4.如权利要求3所述的嵌入式芯片的串口加载装置,其特征在于:所述***镜像文件的下载和通过所述FLASH驱动程序将所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器的过程具体为:
当嵌入式芯片接收到上位机发送的波特率配置命令时,配置相应的波特率;
当嵌入式芯片接收到上位机发送的镜像下载命令时,根据配置的波特率下载***镜像文件;
当嵌入式芯片接收到上位机发送的烧录命令时,将通过所述FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器。
5.如权利要求2所述的嵌入式芯片的串口加载装置,其特征在于,将代理程序固件下载至所述嵌入式芯片的RAM过程中采用分段下载。
6.如权利要求1所述的嵌入式芯片的串口加载装置,其特征在于,所述嵌入式芯片根据所述上位机发送的复位信号复位后,当检测到所述嵌入式芯片上的GPIO加载信号时,所述嵌入式芯片和所述上位机进入同步下载状态。
7.一种嵌入式芯片的串口加载方法,其特征在于,应用了上述权利要求1-6任一所述的嵌入式芯片的串口加载装置,包括:
当嵌入式芯片和上位机进入同步下载状态时,所述嵌入式芯片上的串口文件加载程序固件和所述上位机上的下载烧录程序固件按照约定的消息格式进行通信,将代理程序固件通过串口加载至所述嵌入式芯片的RAM。
8.如权利要求7所述的嵌入式芯片的串口加载方法,其特征在于,还包括:
当所述代理程序固件成功下载至RAM时,所述嵌入式芯片执行所述代理程序固件,与上位机的下载烧录程序固件配合,通过串口完成***镜像文件的下载,并通过所述代理程序固件中的FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器中。
9.如权利要求8所述的嵌入式芯片的串口加载方法,其特征在于,所述***镜像文件的下载和通过所述FLASH驱动程序将所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器的过程具体为:
当嵌入式芯片接收到上位机发送的波特率配置命令时,配置相应的波特率;
当嵌入式芯片接收到上位机发送的镜像下载命令时,根据配置的波特率下载***镜像文件;
当嵌入式芯片接收到上位机发送的烧录命令时,将通过所述FLASH驱动程序将下载的所述***镜像文件烧录至所述嵌入式芯片的FLASH存储器。
10.如权利要求7所述的嵌入式芯片的串口加载方法,其特征在于,还包括:所述嵌入式芯片根据所述上位机发送的复位信号复位后,所述嵌入式芯片的ROM中存储的加载检测程序固件判断GPIO管脚的状态,检测到所述嵌入式芯片上的GPIO加载信号时,所述嵌入式芯片和所述上位机进入同步下载状态。
CN201811449493.1A 2018-11-29 2018-11-29 嵌入式芯片的串口加载装置及方法 Active CN109558359B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811449493.1A CN109558359B (zh) 2018-11-29 2018-11-29 嵌入式芯片的串口加载装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811449493.1A CN109558359B (zh) 2018-11-29 2018-11-29 嵌入式芯片的串口加载装置及方法

Publications (2)

Publication Number Publication Date
CN109558359A true CN109558359A (zh) 2019-04-02
CN109558359B CN109558359B (zh) 2020-04-21

Family

ID=65868162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811449493.1A Active CN109558359B (zh) 2018-11-29 2018-11-29 嵌入式芯片的串口加载装置及方法

Country Status (1)

Country Link
CN (1) CN109558359B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124440A (zh) * 2019-12-17 2020-05-08 湖南国科微电子股份有限公司 芯片软件烧录方法、芯片软件烧录数据处理方法和装置
CN113377389A (zh) * 2021-06-30 2021-09-10 西安诺瓦星云科技股份有限公司 数据的处理方法、装置、计算机可读存储介质及处理器
CN113760806A (zh) * 2021-11-09 2021-12-07 南京沁恒微电子股份有限公司 多模式虚拟串口芯片、实现方法、固件下载***及其方法
CN115904418A (zh) * 2023-02-23 2023-04-04 南京芯驰半导体科技有限公司 一种pcie级联芯片固件烧录的***和方法
CN116820867A (zh) * 2023-08-29 2023-09-29 腾讯科技(深圳)有限公司 一种芯片调试方法、装置及芯片

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049617A1 (en) * 2002-09-05 2004-03-11 Integrated Circuit Solution Inc. Method of firmware update by USB interface
CN101382894A (zh) * 2007-09-05 2009-03-11 北京软通科技有限责任公司 下载计算机硬件设备驱动程序的方法、***、计算机及服务器
CN102945202A (zh) * 2012-10-15 2013-02-27 中国科学院软件研究所 一种基于代理的rtems***调试方法
CN205193783U (zh) * 2015-09-25 2016-04-27 广州市星翼电子科技有限公司 单片机一键下载电路
CN205302264U (zh) * 2015-12-23 2016-06-08 歌尔声学股份有限公司 一种程序下载器
CN107562504A (zh) * 2017-09-11 2018-01-09 哈尔滨工程大学 一种dsp程序分段加载的串口实现方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049617A1 (en) * 2002-09-05 2004-03-11 Integrated Circuit Solution Inc. Method of firmware update by USB interface
CN101382894A (zh) * 2007-09-05 2009-03-11 北京软通科技有限责任公司 下载计算机硬件设备驱动程序的方法、***、计算机及服务器
CN102945202A (zh) * 2012-10-15 2013-02-27 中国科学院软件研究所 一种基于代理的rtems***调试方法
CN205193783U (zh) * 2015-09-25 2016-04-27 广州市星翼电子科技有限公司 单片机一键下载电路
CN205302264U (zh) * 2015-12-23 2016-06-08 歌尔声学股份有限公司 一种程序下载器
CN107562504A (zh) * 2017-09-11 2018-01-09 哈尔滨工程大学 一种dsp程序分段加载的串口实现方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124440A (zh) * 2019-12-17 2020-05-08 湖南国科微电子股份有限公司 芯片软件烧录方法、芯片软件烧录数据处理方法和装置
CN113377389A (zh) * 2021-06-30 2021-09-10 西安诺瓦星云科技股份有限公司 数据的处理方法、装置、计算机可读存储介质及处理器
CN113760806A (zh) * 2021-11-09 2021-12-07 南京沁恒微电子股份有限公司 多模式虚拟串口芯片、实现方法、固件下载***及其方法
CN115904418A (zh) * 2023-02-23 2023-04-04 南京芯驰半导体科技有限公司 一种pcie级联芯片固件烧录的***和方法
CN116820867A (zh) * 2023-08-29 2023-09-29 腾讯科技(深圳)有限公司 一种芯片调试方法、装置及芯片
CN116820867B (zh) * 2023-08-29 2023-12-15 腾讯科技(深圳)有限公司 一种芯片调试方法、装置及芯片

Also Published As

Publication number Publication date
CN109558359B (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
CN109558359A (zh) 嵌入式芯片的串口加载装置及方法
CN103777972B (zh) 基于现场可编程门阵列的***、配置方法以及升级方法
EP1202466B1 (en) Wireless communication unit
CN101621437B (zh) 一种通信***、加载控制装置及软件加载方法
CN101593119B (zh) 一种独占闪存组合设备空中固件升级方法及装置
CN108037938B (zh) 一种eMMC的开卡方法
CN106168908A (zh) 一种驱动程序获取方法、服务器及移动终端
JP2018520439A (ja) 電子ユニットおよび当該電子ユニットにおいて行われる方法
CN107360177A (zh) 一种基于udp的报文传输方法及装置
CN113703803B (zh) 基于fpga的远程升级***、方法及介质
CN107908417A (zh) 固件升级方法及电子设备
KR100578080B1 (ko) 시리얼 통신 프로토콜 중 명령 및 데이터 전송 및 수신 방법
CN105022869A (zh) 一种快速可重构的mcu仿真方法
CN103235703B (zh) 预置资源存储方法和装置
CN108063809B (zh) 机器设备数据采集方法以及采集***
CN116560688B (zh) 用于域控制器的软件更新方法
JPH11234362A (ja) データ伝送方法及びこれを用いたゲームシステム
WO2023198056A1 (zh) 嵌入式设备固件更新方法以及嵌入式设备
CN104065519A (zh) 提升会话交互性能的方法及自动配置服务器
CN106033398A (zh) 数据处理***、外接装置启动方法以及数据处理方法
CN102752365B (zh) 信息处理的方法与装置
CN109828773A (zh) 一种呼吸支持设备***远程升级终端及其实现方法
CN113626057A (zh) 一种基于GigE Vision接口的相机远程固件升级***和方法
JP2003242050A (ja) サーバ・クライアント間データ転送方法およそのサーバクライアントシステム
CN112445728B (zh) 一种支持多种硬件接口的机器人开发板ros通讯***

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room 707, 709, and 710, 7th floor, Building 1, No. 298 Xiangke Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, 201210

Patentee after: Shanghai Mobile Core Communication Technology Co.,Ltd.

Address before: Room 603-a, 6 / F, block a, building 1, No. 800, Naxian Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201203

Patentee before: SHANGHAI EIGENCOMM COMMUNICATION TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address