CN104536774B - 芯片软件烧录方法 - Google Patents

芯片软件烧录方法 Download PDF

Info

Publication number
CN104536774B
CN104536774B CN201410663158.7A CN201410663158A CN104536774B CN 104536774 B CN104536774 B CN 104536774B CN 201410663158 A CN201410663158 A CN 201410663158A CN 104536774 B CN104536774 B CN 104536774B
Authority
CN
China
Prior art keywords
usb
chip
chips
sram
host computer
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.)
Active
Application number
CN201410663158.7A
Other languages
English (en)
Other versions
CN104536774A (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.)
Dfine Technology Co Ltd
Original Assignee
Dfine 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 Dfine Technology Co Ltd filed Critical Dfine Technology Co Ltd
Priority to CN201410663158.7A priority Critical patent/CN104536774B/zh
Publication of CN104536774A publication Critical patent/CN104536774A/zh
Application granted granted Critical
Publication of CN104536774B publication Critical patent/CN104536774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明为芯片软件烧录方法,解决巳有方法生产工时长,成本高的问题。通过SPI或I2C总线连接外部存储器至芯片,芯片上电时通过SPI或I2C总线加载应用程序,加载成功后运行应用程序,其特征在于所述芯片为现场可编程门阵列芯片FPGA(Field Programmable Gate Array),所述外部存储器为USB芯片,USB芯片在ROM(只读内存)存储上内置有Bootloader程序,同时内置配SRAM(静态随机存储器)用于写入应用程序,USB芯片引导模式配置为通过USB接口引导,当SRAM没有写入应用程序时,USB芯片从ROM中的Bootloader引导,否则从SRAM存储区引导,整个过程需要从上位机端配置FPGA、USB芯片,共需要一个FPGA应用程序、USB应用程序和一个USB芯片临时升级程序。

Description

芯片软件烧录方法
技术领域:
本发明与芯片软件引导方法有关。
背景技术:
目前芯片引导方式一般有三种:一、外部存储器引导,即把应用程序烧入外部存储器,然后通过SPI或I2C总线连接外部存储器至芯片,芯片上电时通过SPI或I2C总线加载应用程序,加载成功后运行应用程序;二、芯片内部闪存(Flash)引导,即把应用程序烧入芯片内部闪存,芯片上电时,从内部闪存开始运行应用程序;三、芯片内部随机存储器(RAM)引导,即芯片上电时,首先把应用程序烧入芯片RAM,烧入完成后芯片从RAM处执行应用程序。对于一些USB芯片,还可以通过USB接口引导,如赛普拉斯公司生产的CYUSB3014。
目前广泛使用的是通过外部存储器引导芯片,即把应用程序烧入外部存储器。如果产品含有两个需要烧入应用程序的芯片,如图1所示,则需要两个存储器。
生产时,通过专门的烧录芯片(或叫编程器)烧入应用程序,如烧写NAND Flash的西尔特SUPERPRO/7100烧录器,这样一要消耗生产工时,二增加了两块存储器的成本。
发明内容:
本发明的目的是提供一种生产方便,无需烧录器进行专门烧录,成本低的芯片软件烧录方法。
本发明是这样实现的:
芯片软件烧录方法,上位机通过USB连接线与USB芯片连接,USB芯片通过 SPI或I2C总线连接FPGA芯片,USB芯片上电时通过SPI或I2C总线加载FPGA应用程序,加载成功后运行应用程序, USB芯片在ROM内置有Bootloader程序,同时内置SRAM用于写入USB应用程序,USB芯片引导模式配置为通过USB接口引导,当SRAM没有写入USB应用程序时,USB芯片从ROM中的Bootloader程序引导,否则从SRAM存储区引导,整个过程需要从上位机端配置FPGA、USB芯片,共需要一个FPGA应用程序、USB应用程序和一个USB芯片临时升级程序,如果选用USB芯片从SRAM引导,USB芯片和FPGA芯片必须首先通过JLink工具把应用程序写入其SRAM中,然后才能引导,重新上电时需要再次通过JLink工具写入应用程序,具体操作步骤为:
1)启动上位机软件,上位机侦测USB芯片是否启动;
2)USB芯片上电,USB 芯片启动Bootloader程序,并同时向上位机发送USB芯片描述符,
3)上位机侦测到USB芯片,获取到USB芯片描述符,判断USB芯片描述符是否为Bootloader程序的USB芯片描述符;
4)上位机判断是Bootloader程序的USB芯片描述符,通过USB连接线向Bootloader程序发送USB芯片临时升级程序;如果不是,则可能为USB芯片临时升级程序或USB芯片应用程序,转到步骤9)执行;
5)Bootloader程序接收到USB芯片临时升级程序,写入USB芯片的SRAM内;
6)上位机发送从SRAM启动命令,Bootloader程序从SRAM启动USB芯片临时升级程序;
7)USB芯片启动临时升级程序后,准备接收FPGA芯片应用程序和USB芯片应用程序,并同时向上位机发送FPGA芯片和USB芯片描述符;
8)上位机转到步骤3)开始执行;
9)上位机向USB芯片发送FPGA应用程序,并等待响应,响应成功则转到步骤11)执行,否则转到步骤16)执行,判断为已经正常启动USB应用程序;
10)USB芯片接收到FPGA应用程序,配置FPGA芯片,并同时发送升级响应;
11)上位机向USB芯片发送USB应用程序。
12)USB芯片临时升级程序接收到USB应用程序,写入SRAM;
13)上位机发送启动USB应用程序命令;
14)USB芯片临时升级程序启动USB应用程序;
15)USB应用程序向上位机发送芯片描述符,上位机转到步骤3)执行;
16)USB芯片应用程序启动完成。
本发明对含有两个需要配置芯片的芯片,通过USB直接烧录芯片1和芯片2,完全去掉了USB芯片和FPGA芯片的外部存储配置芯片,直接通过上位机软件和一个USB芯片临时升级程序就可实现对FPGA和USB芯片的配置。其优点如下:
一、生产方便,无需烧录器进行专门烧录;
二、减少了两块闪存的成本。
附图说明:
图1为己有芯片引导方式示意图。
图2为本发明的系统原理图。
图3为软件烧录流程图。
具体实施方式:
如图2所示,FPGA芯片为现场可编程门阵列芯片(Field Programmable GateArray),USB芯片由芯片生产商在ROM(只读内存)存储上内置有Bootloader程序,同时内置SRAM(静态随机存储器)用于写入应用程序。USB芯片引导模式配置为通过USB接口引导,当SRAM没有写入程序时,USB芯片从ROM中的Bootloader程序引导,否则从SRAM存储区引导。整个过程需要从电脑端配置FPGA芯片、USB芯片,共需要一个FPGA应用程序、一个USB应用程序和一个USB芯片临时升级程序。如果选用芯片从SRAM引导,USB芯片和FPGA芯片必须首先通过JLink工具把应用程序写入SRAM中,然后才能引导,重新上电时需要再次通过JLink工具写入应用程序。
具体操作步骤为:
1)启动上位机软件,上位机侦测USB芯片是否启动;
2)USB芯片上电,USB 芯片启动Bootloader程序,并同时向上位机发送USB芯片描述符(USB芯片描述符是由USB通信协议规定的,可以通过它判断当前USB芯片类型、厂商);
3)上位机侦测到USB芯片,获取到USB芯片描述符,判断USB芯片描述符是否为Bootloader程序的USB芯片描述符;
4)上位机判断是Bootloader程序的USB芯片描述符,通过USB线向Bootloader程序发送USB芯片临时升级程序;如果不是,则可能为USB芯片临时升级程序或USB芯片应用程序,转到步骤9)执行;
5)、Bootloader程序接收到USB芯片临时升级程序,写入USB芯片的SRAM内;
6)上位机发送从SRAM启动命令,Bootloader程序从SRAM启动USB芯片临时升级程序;
7)USB芯片启动临时升级程序后,准备接收FPGA芯片应用程序和USB芯片用程序,并同时向上位机发送FPGA芯片和USB芯片描述符;
8)上位机转到步骤3)开始执行;
9)上位机向USB芯片发送FPGA应用程序,并等待响应,响应成功则转到步骤11)执行,否则转到步骤16)执行(判断为已经正常启动USB应用程序);
10)USB芯片接收到FPGA应用程序,配置FPGA芯片,并同时发送升级响应;
11)上位机向USB芯片发送USB应用程序。
12)USB芯片临时升级程序接收到USB应用程序,写入SRAM;
13)上位机发送启动USB应用程序命令;
14)USB芯片临时升级程序启动USB应用程序;
15)USB应用程序向上位机发送芯片描述符,上位机转到步骤3)执行;
16)USB芯片应用程序启动完成。
使用本发明,完全去掉了USB芯片和FPGA芯片的外部存储配置芯片,直接通过上位机软件和一个临时升级程序就可实现对FPGA和USB芯片的配置。
在一款视频采集卡芯片上按照上述步骤,通过上位机软件和一个USB芯片临时升级程序,完全实现了对USB、FPGA芯片的配置。USB芯片选用了赛普拉斯(Cypress)公司生产的CYUSB3014芯片, FPGA芯片选用了Xilinx公司生产的XC6SLX9—2FTG256C芯片。

Claims (1)

1.芯片软件烧录方法,其特征在于上位机通过USB连接线与USB芯片连接,USB芯片通过SPI或I2C总线连接FPGA芯片,USB芯片上电时通过SPI或I2C总线加载FPGA应用程序,加载成功后运行应用程序, USB芯片在ROM内置有Bootloader程序,同时内置SRAM用于写入USB应用程序,USB芯片引导模式配置为通过USB接口引导,当SRAM没有写入USB应用程序时,USB芯片从ROM中的Bootloader程序引导,否则从SRAM存储区引导,整个过程需要从上位机端配置FPGA、USB芯片,共需要一个FPGA应用程序、USB应用程序和一个USB芯片临时升级程序,如果选用USB芯片从SRAM引导,USB芯片和FPGA芯片必须首先通过JLink工具把应用程序写入其SRAM中,然后才能引导,重新上电时需要再次通过JLink工具写入应用程序,具体操作步骤为:
1)启动上位机软件,上位机侦测USB芯片是否启动;
2)USB芯片上电,USB 芯片启动Bootloader程序,并同时向上位机发送USB芯片描述符,
3)上位机侦测到USB芯片,获取到USB芯片描述符,判断USB芯片描述符是否为Bootloader程序的USB芯片描述符;
4)上位机判断是Bootloader程序的USB芯片描述符,通过USB连接线向Bootloader程序发送USB芯片临时升级程序;如果不是,则可能为USB芯片临时升级程序或USB芯片应用程序,转到步骤9)执行;
5)Bootloader程序接收到USB芯片临时升级程序,写入USB芯片的SRAM内;
6)上位机发送从SRAM启动命令,Bootloader程序从SRAM启动USB芯片临时升级程序;
7)USB芯片启动临时升级程序后,准备接收FPGA芯片应用程序和USB芯片应用程序,并同时向上位机发送FPGA芯片和USB芯片描述符;
8)上位机转到步骤3)开始执行;
9)上位机向USB芯片发送FPGA应用程序,并等待响应,响应成功则转到步骤11)执行,否则转到步骤16)执行,判断为已经正常启动USB应用程序;
10)USB芯片接收到FPGA应用程序,配置FPGA芯片,并同时发送升级响应;
11)上位机向USB芯片发送USB应用程序;
12)USB芯片临时升级程序接收到USB应用程序,写入SRAM;
13)上位机发送启动USB应用程序命令;
14)USB芯片临时升级程序启动USB应用程序;
15)USB应用程序向上位机发送芯片描述符,上位机转到步骤3)执行;
16)USB芯片应用程序启动完成。
CN201410663158.7A 2014-11-20 2014-11-20 芯片软件烧录方法 Active CN104536774B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410663158.7A CN104536774B (zh) 2014-11-20 2014-11-20 芯片软件烧录方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410663158.7A CN104536774B (zh) 2014-11-20 2014-11-20 芯片软件烧录方法

Publications (2)

Publication Number Publication Date
CN104536774A CN104536774A (zh) 2015-04-22
CN104536774B true CN104536774B (zh) 2018-02-02

Family

ID=52852306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410663158.7A Active CN104536774B (zh) 2014-11-20 2014-11-20 芯片软件烧录方法

Country Status (1)

Country Link
CN (1) CN104536774B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156550A (zh) * 2016-07-04 2016-11-23 广州市鸿远电子科技有限公司 一种芯片防破解的方法
CN107066301B (zh) * 2017-04-27 2020-12-15 北京安控科技股份有限公司 一种嵌入式计算机固件程序的下载方法
CN108228217A (zh) * 2018-01-18 2018-06-29 晶晨半导体(上海)股份有限公司 一种系统升级方法
CN112241279B (zh) * 2019-07-19 2023-10-27 广州汽车集团股份有限公司 一种自适应的电子控制单元软件升级方法、系统及汽车
CN114860279B (zh) * 2022-04-22 2023-03-14 珠海海奇半导体有限公司 一种快速空片升级方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308311B1 (en) * 1999-05-14 2001-10-23 Xilinx, Inc. Method for reconfiguring a field programmable gate array from a host
CN201514768U (zh) * 2009-10-20 2010-06-23 西安瑞日电子发展有限公司 Fpga控制设备的在线flash烧写器
CN102184741A (zh) * 2011-02-28 2011-09-14 浪潮电子信息产业股份有限公司 一种烧写spi flash的方法
CN103389669A (zh) * 2013-07-26 2013-11-13 中国船舶重工集团公司第七一五研究所 一种基于fpga/cpld控制器的处理器程序远程动态加载系统及方法
CN103645665A (zh) * 2013-12-24 2014-03-19 南京富士通南大软件技术有限公司 一种可编程信号发生器及其信号发生方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308311B1 (en) * 1999-05-14 2001-10-23 Xilinx, Inc. Method for reconfiguring a field programmable gate array from a host
CN201514768U (zh) * 2009-10-20 2010-06-23 西安瑞日电子发展有限公司 Fpga控制设备的在线flash烧写器
CN102184741A (zh) * 2011-02-28 2011-09-14 浪潮电子信息产业股份有限公司 一种烧写spi flash的方法
CN103389669A (zh) * 2013-07-26 2013-11-13 中国船舶重工集团公司第七一五研究所 一种基于fpga/cpld控制器的处理器程序远程动态加载系统及方法
CN103645665A (zh) * 2013-12-24 2014-03-19 南京富士通南大软件技术有限公司 一种可编程信号发生器及其信号发生方法

Also Published As

Publication number Publication date
CN104536774A (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
CN104536774B (zh) 芯片软件烧录方法
CN104951334B (zh) FPGA双片QSPI flash的程序加载方法
CN101604272B (zh) 存储卡测试装置及其测试方法
US11294660B2 (en) Apparatus and method for configuring or updating programmable logic device
CN108037938B (zh) 一种eMMC的开卡方法
CN103914324A (zh) 一种自动烧写嵌入式设备固件的方法及其系统
CN103544122B (zh) 一种接口自适应匹配的协同系统及其协同方法
CN102446141B (zh) 用于实现写保护控制的装置和方法
CN105159731A (zh) 一种fpga配置文件远程升级的装置
CN103544994A (zh) 快闪存储器控制器、快闪存储器侦错方法
CN106649137B (zh) 一种Nand Flash坏块管理方法、装置及存储器
CN106528217B (zh) 一种现场可编程门阵列程序加载系统和方法
CN116450552A (zh) 基于i2c总线异步批量读写寄存器的方法及系统
CN102075710A (zh) 一种电视机的启动运行方法及电视机
US10658046B2 (en) Memory device and method for operating the same
CN111143898B (zh) 可插拔存储器装置数据保护方法
CN104239084A (zh) 一种dsp程序自动加载的实现方法
CN103680638B (zh) 快闪存储器控制器和快闪存储器控制方法
CN115410639A (zh) 一种芯片测试装置和方法
CN205103653U (zh) 汽车控制器数据处理系统
CN115509965A (zh) 存储器控制器与链接识别方法
CN108346453B (zh) 一种闪存测试设备和方法
TWI533121B (zh) 通用序列匯流排測試治具
US20150127888A1 (en) Data Storage Device and Error Correction Method Thereof
CN106951287B (zh) 一种软件的配置方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant