【技术实现步骤摘要】
一种基于Flash重构技术的FPGA在线升级方法
[0001]本专利技术涉及Flash重构技术和FPGA在线升级
,具体涉及一种基于Flash重构技术的FPGA在线升级方法。
技术介绍
[0002]FPGA在线升级是指上位机将升级程序通过接口发送给FPGA,然后FPGA内部模块将升级程序写入Flash的相应区间,此时系统断电重启后FPGA将加载升级程序。
[0003]现有FPGA在线升级技术将Flash的存储空间划分为引导区、Golden程序区和Next程序区三个区间,其中引导区和Golden程序区分别用来存储引导头和出厂程序,这两个存储区的数据在设备出厂后就不再变化;设备每次在线升级时都是先将Flash的Next程序区存储的数据擦除,然后再将升级程序写入Next程序区中。这种升级方法的主要问题是在每次FPGA更新失败的情况下,较新的程序已被擦除,此时设备只能使用缺少某些功能的出厂程序。。
技术实现思路
[0004]本专利技术的目的是针对现有技术存在的不足,提供一种基于Flash重构技术的FPG
【技术保护点】
【技术特征摘要】
1.一种基于Flash重构技术的FPGA在线升级方法,其特征在于,包括:步骤1、将Flash重构分区为引导区和更新程序区,所述更新程序区包括第一更新程序区和第二更新程序区,检查所述引导区是否存在有效引导头,是,则进一步检查第一更新程序区和第二更新程序区是否至少其中一个存储的程序可正常使用,是,则进入下一步骤;步骤2、上位机向FPGA发送升级指令;步骤3、FPGA收到上位机的升级指令后,执行“读Flash第一更新程序区和第二更新程序区前256个字节”的操作;步骤4、根据读Flash第一更新程序区和第二更新程序区前256个字节的结果执行升级操作。2.根据权利要求1所述的基于Flash重构技术的FPGA在线升级方法,其特征在于,如在第一更新程序区或第二更新程序区读到同步字,则所述步骤4包括:步骤411、FPGA中的Flash驱动模块开始擦除未读到同步字的更新程序区的数据,且对引导区和读到同步字的更新程序区存储的数据不做更改;步骤412、未读到同步字的更新程序区如被擦除完毕,则FPGA向上位机应答擦除完成信号,并执行步骤413,否则执行步骤411;步骤413、上位机向FPGA发送升级程序和由上位机产生的4个字节的校验位;步骤414、FPGA将收到的升级程序实时写入Flash的未读到同步字的更新程序区中;步骤415、上位机询问FPGA写Flash是否结束,是,则执行步骤416,否则执行步骤414;步骤416、FPGA升级模块将FPGA产生的4个字节校验位与收到的4个校验字节进行比对,如果两者相等,则执行步骤417,否则执行步骤418;步骤4...
【专利技术属性】
技术研发人员:彭东立,董勃,程信羲,
申请(专利权)人:南京海普水文科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。