CN111176675A - 一种芯片应用程序的升级应用方法 - Google Patents
一种芯片应用程序的升级应用方法 Download PDFInfo
- Publication number
- CN111176675A CN111176675A CN201911220821.5A CN201911220821A CN111176675A CN 111176675 A CN111176675 A CN 111176675A CN 201911220821 A CN201911220821 A CN 201911220821A CN 111176675 A CN111176675 A CN 111176675A
- Authority
- CN
- China
- Prior art keywords
- program
- chip
- application
- application program
- programming
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种芯片应用程序的升级应用方法,包括:在上位机的烧写工具中设置与装有待升级芯片下位机进行通信的烧写串口;启动下位机的预设驻留程序,向上位机发送握手指令;当上位机在预设时间内进行握手回复后,将待升级的应用程序文件烧写入芯片的预设FLASH地址;当上位机在预设时间内未进行握手回复后,根据驻留程序中预存的FLASH地址调用分区表中已烧写的应用程序。本发明提供的芯片应用程序的升级应用方法,通过驻留程序进行二级引导的方式往待升级的FLASH中烧写应用程序,可以利用测试电缆的串口或者网口进行远程程序更新,操作过程方便。
Description
技术领域
本发明涉及芯片应用技术领域,具体涉及一种芯片应用程序的升级应用方法。
背景技术
现有技术中一些芯片官方提供的FLASH程序更新方法为使用Xilinx SDK编译器的Program FLASH工具通过JTAG(Joint Test Action Group,联合测试工作组)接口进行程序升级,这种升级方式在控制器调试阶段尚可使用,当包含嵌入式芯片(例如ZYNQ)控制器装到设备内部时,控制器对外接口有联合测试工作组口、通讯口和数据采集接口,如果需要进行程序更新,由于JTAG线受限于使用长度,无法引入到测试电缆,不能进行远程程序更新,也就无法通过JTAG进行程序更新,如果一定要使用JTAG烧写程序,就需要将控制器拆下,操作十分不便。
发明内容
因此,本发明提供一种芯片应用程序的升级应用方法,克服了现有技术中对芯片应用程序进行升级时操作不便的缺陷,可以实现利用测试电缆的串口或者网口进行远程程序更新。
本发明实施例提供一种芯片应用程序的升级应用方法,包括如下步骤:在上位机的烧写工具中设置与装有待升级芯片下位机进行通信的烧写串口;启动下位机的预设驻留程序,向上位机发送握手指令;当上位机在预设时间内进行握手回复后,将待升级的应用程序文件烧写入芯片的预设FLASH地址;当上位机在预设时间内未进行握手回复后,根据驻留程序中预存的FLASH地址调用分区表中已烧写的应用程序。
在一实施例中,所述启动下位机的预设驻留程序,向上位机发送握手指令的步骤之前,还包括:在下位机中预烧写驻留程序。
在一实施例中,所述驻留程序包括:一级引导程序和二级引导程序,其中一级引导程序为芯片自带引导程序,二级引导程序为用户自定义与应用程序相适应的引导程序。
在一实施例中,所述启动下位机的预设驻留程序的步骤,包括:获取芯片中的分区表信息,启动一级引导程序;利用所述一级引导程序启动二级引导程序。
在一实施例中,所述将待升级的应用程序文件烧写入芯片的预设FLASH地址与驻留程序的FLASH地址不重合。
在一实施例中,所述待升级的应用程序的存放路径与所述上位机的烧写工具的存放路径相同。
本发明技术方案,具有如下优点:
本发明提供的芯片应用程序的升级应用方法,包括如下步骤:在上位机的烧写工具中设置与装有待升级芯片下位机进行通信的烧写串口;启动下位机的预设驻留程序,向上位机发送握手指令;当上位机在预设时间内进行握手回复后,将待升级的应用程序文件烧写入芯片的预设FLASH地址;当上位机在预设时间内未进行握手回复后,根据驻留程序中预存的FLASH地址调用分区表中已烧写的应用程序。本发明实施例提供的升级应用方法通过驻留程序进行二级引导的方式往带升级芯片的FLASH中烧写应用程序,可以利用测试电缆的串口或者网口进行远程程序更新,操作过程方便。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的芯片应用程序的升级应用方法的一个示例流程图;
图2为本发明实施例提供的烧写工具的示意图;
图3为本发明实施例提供的驻留程序进行逻辑判断的一个示例流程图;
图4为本发明实施例提供的芯片应用程序的升级应用方法的一个具体的示例流程图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例
本发明实施例提供一种芯片应用程序的升级应用方法,可应用于对由于JTAG线受限于使用长度,无法引入到测试电缆,不能进行远程程序更新的场景。如图1所示,该升级应用方法包括如下步骤:
步骤S1:在上位机的烧写工具中设置与装有待升级芯片下位机进行通信的烧写串口。
本发明实施例中采用的烧写工具为BurnTools,通过如图2所示的界面进行烧写串口的设置,以及烧写文件及状态的设置,待升级的应用程序即将编译好的烧写文件bin的存放路径与上位机的烧写工具的存放路径相同,以方便查找,仅以此举例,不以此为限。
步骤S2:启动下位机的预设驻留程序,向上位机发送握手指令。
本发明实施例主要针对JTAG在ZYNQ控制器整机不方便进行程序更新的情况,通过IAP编程(In Application programming)设计一个驻留程序,可以通过驻留程序往FLASH中烧写应用程序,可以适用于使用ZYNQ作为控制器的航空航天、兵器、无人车等产品。以上仅以此举例,不以此为限,在其他实施例中可以应用到其他待升级的芯片。
本发明实施例在进行升级之前需要在下位机中预烧写驻留程序,即ZYNQ控制器在初期通过JTAG烧写驻留程序,驻留程序一直保留在FLASH中,之后的应用程序更新可以一直使用BurnTools上位机进行烧写。该驻留程序包括:一级引导程序(First Stage BootLoader,FSBL)和二级引导程序(Second Stage Boot Loader,SSBL),其中一级引导程序为芯片自带引导程序,二级引导程序为用户自定义与应用程序相适应的引导程序。
步骤S3:当上位机在预设时间内进行握手回复后,将待升级的应用程序文件烧写入芯片的预设FLASH地址,通过在FLASH增加一个驻留程序,实现了ZYNQ无操作系统下的二级引导。
步骤S4:当上位机在预设时间内未进行握手回复后,根据驻留程序中预存的FLASH地址调用分区表中已烧写的应用程序。
本发明实施例中,如图3所示,驻留程序主要进行2个分支的逻辑判断,即分支1:如果与串口烧写上位机握手成功,则进入烧写分支,在RAM接收上位机传送的bin文件,并且将接收数据写入指定的FLASH地址;分支2:如果驻留开始后并未与串口烧写上位机握手成功,则查找ZYNQ中的BootROM信息头部,如果已经进行过一次串口程序更新,则可以查找ZYNQ的FLASH中符合BootROM的应用程序,并且将其启动。本实施例中利用串口进行烧写及应用程序调用的流程图如图4所示。
本发明实施例中,待升级的应用程序文件烧写入芯片的预设FLASH地址与驻留程序的FLASH地址不重合,如果两者灭有分开位置存储,串口烧写软件无法与下位机驻留软件进行文件传输,也无法在正常模式下启动应用程序。
在一具体实施中,采用BurnTools烧写应用程序的写入的具体操作步骤如下:
1、将编译好的烧写文件bin放到与BurnTools一样的路径下;
2、配置好烧写串口,打开BurnTools软件,点击设置完毕;
3、给下位机设备上电,此时下位机控制器调用FSBL代码,FSBL调用SSBL,SSBL内部发送一个握手指令,上位机收到后进行握手回复,并且将“选择烧写文件”按钮使能,选择路径下的应用程序bin文件;
4、上位机对烧写文件进行加载,分成多帧,每帧加入帧头,帧尾和校验和;
5、点击“发送烧写文件”,将处理好的帧数据进行发送;
6、下位机进入烧写模式,实时接收烧写文件,并且进行FLASH擦除和烧写,烧写成功后上报上位机“烧写成功”。
本发明实施提供的芯片升级应用方法,通过在FLASH增加一个驻留程序,实现了ZYNQ无操作系统下的二级引导;通过复用ZYNQ对外的高速串口和新编专用的串口烧写上位机可以实现不新增专用烧写口的前提下,以最大921600bps的速率进行程序文件传送,消除了使用JTAG进行升级的不便,更加符合实际设备的测试及更新升级需求。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (6)
1.一种芯片应用程序的升级应用方法,其特征在于,包括如下步骤:
在上位机的烧写工具中设置与装有待升级芯片下位机进行通信的烧写串口;
启动下位机的预设驻留程序,向上位机发送握手指令;
当上位机在预设时间内进行握手回复后,将待升级的应用程序文件烧写入芯片的预设FLASH地址;
当上位机在预设时间内未进行握手回复后,根据驻留程序中预存的FLASH地址调用分区表中已烧写的应用程序。
2.根据权利要求1所述的芯片应用程序的升级应用方法,其特征在于,所述启动下位机的预设驻留程序,向上位机发送握手指令的步骤之前,还包括:
在下位机中预烧写驻留程序。
3.根据权利要求1所述的芯片应用程序的升级应用方法,其特征在于,所述驻留程序包括:一级引导程序和二级引导程序,其中一级引导程序为芯片自带引导程序,二级引导程序为用户自定义与应用程序相适应的引导程序。
4.根据权利要求3所述的芯片应用程序的升级应用方法,其特征在于,所述启动下位机的预设驻留程序的步骤,包括:
获取芯片中的分区表信息,启动一级引导程序;
利用所述一级引导程序启动二级引导程序。
5.根据权利要求1所述的芯片应用程序的升级应用方法,其特征在于,所述将待升级的应用程序文件烧写入芯片的预设FLASH地址与驻留程序的FLASH地址不重合。
6.根据权利要求1所述的芯片应用程序的升级应用方法,其特征在于,所述待升级的应用程序的存放路径与所述上位机的烧写工具的存放路径相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911220821.5A CN111176675A (zh) | 2019-12-03 | 2019-12-03 | 一种芯片应用程序的升级应用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911220821.5A CN111176675A (zh) | 2019-12-03 | 2019-12-03 | 一种芯片应用程序的升级应用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111176675A true CN111176675A (zh) | 2020-05-19 |
Family
ID=70651939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911220821.5A Pending CN111176675A (zh) | 2019-12-03 | 2019-12-03 | 一种芯片应用程序的升级应用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176675A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060190941A1 (en) * | 2002-10-28 | 2006-08-24 | Shinya Kobayashi | Removable device and program startup method |
CN101699402A (zh) * | 2009-06-12 | 2010-04-28 | 苏州国芯科技有限公司 | 一种多模式启动的嵌入式系统 |
CN108845823A (zh) * | 2018-07-18 | 2018-11-20 | 北京航天长征飞行器研究所 | 一种基于f2812芯片的软件在线升级方法 |
CN109634642A (zh) * | 2018-11-15 | 2019-04-16 | 中国航空工业集团公司洛阳电光设备研究所 | 一种fpga配置文件远程升级的方法 |
-
2019
- 2019-12-03 CN CN201911220821.5A patent/CN111176675A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060190941A1 (en) * | 2002-10-28 | 2006-08-24 | Shinya Kobayashi | Removable device and program startup method |
CN101699402A (zh) * | 2009-06-12 | 2010-04-28 | 苏州国芯科技有限公司 | 一种多模式启动的嵌入式系统 |
CN108845823A (zh) * | 2018-07-18 | 2018-11-20 | 北京航天长征飞行器研究所 | 一种基于f2812芯片的软件在线升级方法 |
CN109634642A (zh) * | 2018-11-15 | 2019-04-16 | 中国航空工业集团公司洛阳电光设备研究所 | 一种fpga配置文件远程升级的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109656593B (zh) | 基于zynq芯片实现fpga程序远程升级的方法 | |
CN104579719B (zh) | 一种固件的升级方法和系统、上位机和光模块 | |
CN104978271B (zh) | 一种Android系统的自动升级压测方法及系统 | |
CN105955783A (zh) | 一种基于fpga控制的远程fpga逻辑代码的下载方法 | |
CN105183515B (zh) | 云台固件升级的方法及装置 | |
CN109656597A (zh) | 固件升级方法、装置及计算机可读存储介质 | |
CN106313038B (zh) | 一种实时控制调试系统及调试方法 | |
CN106452847B (zh) | Wifi设备智能识别方法及装置 | |
CN106067840B (zh) | 一种在轨卫星的远程调试方法与系统 | |
CN103777972A (zh) | 基于现场可编程门阵列的系统、配置方法以及升级方法 | |
US20120198292A1 (en) | Test apparatus and test method | |
CN102722384A (zh) | 一种光模块固件在线升级的方法及升级系统 | |
CN104081726A (zh) | 列车信息管理装置及其控制软件的选择方法 | |
CN106874032A (zh) | 光模块固件升级的方法、装置及光模块 | |
CN110187909A (zh) | 一种基于安卓系统的单片机固件升级方法 | |
CN110244961A (zh) | 车辆控制系统及用于确认软件一致性的方法 | |
CN103257869B (zh) | 一种ecu程序智能下载方法 | |
CN109189434A (zh) | 一种电能表的在线升级方法 | |
CN106789334A (zh) | 一种固件升级的方法和设备 | |
CN107621943A (zh) | 一种fpga动态批量烧写系统及方法 | |
CN108647038B (zh) | 一种基于wifi和超声波通信的FPGA在线更新系统及更新方法 | |
CN108170456A (zh) | 电子设备的固件升级方法及装置 | |
CN109992280A (zh) | 一种嵌入式软件升级的方法、终端装置及存储装置 | |
CN111176675A (zh) | 一种芯片应用程序的升级应用方法 | |
CN109002306A (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 |
Application publication date: 20200519 |
|
RJ01 | Rejection of invention patent application after publication |