芯片软件烧录方法

文档序号:8223378阅读:3759来源:国知局
芯片软件烧录方法
【专利说明】
[0001]技术领域:
本发明与芯片软件引导方法有关。
[0002]【背景技术】:
目前芯片引导方式一般有三种:一、外部存储器引导,即把应用程序烧入外部存储器,然后通过SPI或I2C总线连接外部存储器至芯片,芯片上电时通过SPI或I2C总线加载应用程序,加载成功后运行应用程序;二、芯片内部闪存(Flash)引导,即把应用程序烧入芯片内部闪存,芯片上电时,从内部闪存开始运行应用程序;三、芯片内部随机存储器(RAM)引导,即芯片上电时,首先把应用程序烧入芯片RAM,烧入完成后芯片从RAM处执行应用程序。对于一些USB芯片,还可以通过USB接口引导,如赛普拉斯公司生产的CYUSB3014。
[0003]目前广泛使用的是通过外部存储器引导芯片,即把应用程序烧入外部存储器。如果产品含有两个需要烧入应用程序的芯片,如图1所示,则需要两个存储器。
[0004]生产时,通过专门的烧录芯片(或叫编程器)烧入应用程序,如烧写NAND Flash的西尔特SUPERPR0/7100烧录器,这样一要消耗生产工时,二增加了两块存储器的成本。
[0005]
【发明内容】
:
本发明的目的是提供一种生产方便,无需烧录器进行专门烧录,成本低的芯片软件烧录方法。
[0006]本发明是这样实现的:
芯片软件烧录方法,上位机通过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芯片从RAM引导,USB芯片和FPGA芯片必须首先通过JLink工具把应用程序写入其RAM中,然后才能引导,重新上电时需要再次通过几ink工具写入应用程序,具体操作步骤为:
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应用程序。
[0007]12、USB芯片临时升级程序接收到USB应用程序,写入SRAM ;
13、上位机发送启动USB应用程序命令;
14、USB芯片临时升级程序启动USB应用程序;
15、USB应用程序向上位机发送芯片描述符,上位机转到步骤3执行;
16、USB芯片应用程序启动完成。
[0008]本发明对含有两个需要配置芯片的芯片,通过USB直接烧录芯片I和芯片2,完全去掉了 USB芯片和FPGA芯片的外部存储配置芯片,直接通过上位机软件和一个USB芯片临时升级程序就可实现对FPGA和USB芯片的配置。其优点如下:
一、生产方便,无需烧录器进行专门烧录;
二、减少了两块闪存的成本。
[0009]【附图说明】:
图1为己有芯片引导方式示意图。
[0010]图2为本发明的系统原理图。
[0011]图3为软件烧录流程图。
[0012]【具体实施方式】:
如图2所示,FPGA芯片为现场可编程门阵列芯片(Field Programmable Gate Array),USB芯片由芯片生产商在ROM (只读内存)存储上内置有Bootloader程序,同时内置配SRAM(静态随机存储器)用于写入应用程序。USB芯片弓I导模式配置为通过USB接口引导,当SRAM没有写入程序时,USB芯片从ROM中的Bootloader程序引导,否则从SRAM存储区引导。整个过程需要从电脑端配置FPGA芯片、USB芯片,共需要一个FPGA应用程序、一个USB应用程序和一个USB芯片临时升级程序。如果选用芯片从RAM引导,USB芯片和FPGA芯片必须首先通过JLink工具把应用程序写入RAM中,然后才能引导,重新上电时需要再次通过JLink工具写入应用程序。
[0013]具体操作步骤为:
启动上位机软件,上位机侦测USB芯片是否启动;
1、USB芯片上电,USB芯片启动Bootloader程序,并同时向上位机发送USB芯片描述符(USB芯片描述符是由USB通信协议规定的,可以通过它判断当前USB芯片类型、厂商);
2、上位机侦测到USB芯片,获取到USB芯片描述符,判断USB芯片描述符是否为Bootloader程序的USB芯片描述符;
3、上位机判断是Bootloader程序的USB芯片描述符,通过USB线向Bootloader程序发送USB芯片临时升级程序;如果不是,则可能为USB芯片临时升级程序或USB芯片应用程序,转到步骤9执行; UBootloader程序接收到USB芯片临时升级程序,写入USB芯片的SRAM内;
2、上位机发送从SRAM启动命令,Bootloader程序从SRAM启动USB芯片临时升级程序;
3、USB芯片启动临时升级程序后,准备接收FPGA芯片应用程序和USB芯片用程序,并同时向上位机发送FPGA芯片和USB芯片描述符;
4、上位机转到步骤3开始执行;
5、上位机向USB芯片发送FPGA应用程序,并等待响应,响应成功则转到步骤11执行,否则转到步骤16执行(判断为已经正常启动USB应用程序);
6、USB芯片接收到FPGA应用程序,配置FPGA芯片,并同时发送升级响应;
7、上位机向USB芯片发送USB应用程序。
[0014]8、USB芯片临时升级程序接收到USB应用程序,写入SRAM ;
9、上位机发送启动USB应用程序命令;
10、USB芯片临时升级程序启动USB应用程序;
IUUSB应用程序向上位机发送芯片描述符,上位机转到步骤3执行;
12、USB芯片应用程序启动完成。
[0015]使用本专利,完全去掉了 USB芯片和FPGA芯片的外部存储配置芯片,直接通过上位机软件和一个临时升级程序就可实现对FPGA和USB芯片的配置。
[0016]在一款视频采集卡芯片上按照上述步骤,通过上位机软件和一个USB芯片临时升级程序,完全实现了对USB、FPGA芯片的配置。USB芯片选用了赛普拉斯(Cypress)公司生产的CYUSB3014芯片,FPGA芯片选用了 Xilinx公司生产的XC6SLX9 — 2FTG256C芯片。
【主权项】
1.芯片软件烧录方法,其特征在于上位机通过USB连接线与USB芯片连接,USB芯片通过SPI或I2C总线连接FPGA芯片,USB芯片上电时通过SPI或I2C总线加载FPGA应用程序,加载成功后运行应用程序,USB芯片在ROM内置有Bootloader程序,同时内置配SRAM用于写入USB应用程序,USB芯片弓I导模式配置为通过USB接口引导,当SRAM没有写入USB应用程序时,USB芯片从ROM中的Bootloader程序引导,否则从SRAM存储区引导,整个过程需要从上位机端配置FPGA、USB芯片,共需要一个FPGA应用程序、USB应用程序和一个USB芯片临时升级程序,如果选用USB芯片从RAM引导,USB芯片和FPGA芯片必须首先通过JLink工具把应用程序写入其RAM中,然后才能引导,重新上电时需要再次通过JLink工具写入应用程序,具体操作步骤为: 启动上位机软件,上位机侦测USB芯片是否启动; 1、USB芯片上电,USB芯片启动Bootloader程序,并同时向上位机发送USB芯片描述符, . 2、上位机侦测到USB芯片,获取到USB芯片描述符,判断USB芯片描述符是否为Bootloader程序的USB芯片描述符; . 3、上位机判断是Bootloader程序的USB芯片描述符,通过USB连接线向Bootloader程序发送USB芯片临时升级程序;如果不是,则可能为USB芯片临时升级程序或USB芯片应用程序,转到步骤9执行; .4、Bootloader程序接收到USB芯片临时升级程序,写入USB芯片的SRAM内; . 5、上位机发送从SRAM启动命令,Bootloader程序从SRAM启动USB芯片临时升级程序; .6、USB芯片启动临时升级程序后,准备接收FPGA芯片应用程序和USB芯片应用程序,并同时向上位机发送FPGA芯片和USB芯片描述符; .7、上位机转到步骤3开始执行; . 8、上位机向USB芯片发送FPGA应用程序,并等待响应,响应成功则转到步骤11执行,否则转到步骤16执行,判断为已经正常启动USB应用程序; .9、USB芯片接收到FPGA应用程序,配置FPGA芯片,并同时发送升级响应; 上位机向USB芯片发送USB应用程序; . 10、USB芯片临时升级程序接收到USB应用程序,写入SRAM; . 11、上位机发送启动USB应用程序命令; . 12、USB芯片临时升级程序启动USB应用程序; . 13、USB应用程序向上位机发送芯片描述符,上位机转到步骤3执行; . 14、USB芯片应用程序启动完成。
【专利摘要】本发明为芯片软件烧录方法,解决巳有方法生产工时长,成本高的问题。通过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芯片临时升级程序。
【IPC分类】G06F9-445
【公开号】CN104536774
【申请号】CN201410663158
【发明人】唐勇
【申请人】成都九洲迪飞科技有限责任公司
【公开日】2015年4月22日
【申请日】2014年11月20日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1