[发明专利]一种含CPU和FPGA的嵌入式系统远程在线升级方法有效
申请号: | 201911113938.3 | 申请日: | 2019-11-14 |
公开(公告)号: | CN111026427B | 公开(公告)日: | 2022-09-02 |
发明(设计)人: | 赵元伟;王聪;牛盼情 | 申请(专利权)人: | 中国航空工业集团公司洛阳电光设备研究所 |
主分类号: | G06F8/654 | 分类号: | G06F8/654 |
代理公司: | 西安凯多思知识产权代理事务所(普通合伙) 61290 | 代理人: | 刘新琼 |
地址: | 471099 *** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cpu fpga 嵌入式 系统 远程 在线 升级 方法 | ||
1.一种含CPU和FPGA的嵌入式系统远程在线升级方法,其特征在于CPU和FPGA使用同一片Flash存储目标码,FPGA、CPU均直接和Flash相连,FPGA通过控制CPU的复位信号来保证二者对Flash的访问在时间上不冲突,其特征在于步骤如下:
步骤1:系统上电后,FPGA的DONE信号被拉低,通过与门控制CPU的复位信号在FPGA逻辑加载过程中恒为低;
步骤2:FPGA逻辑加载成功后,DONE信号被拉高,同时逻辑控制一个I/O管脚为低直到FPGA完成对Flash的所有访问操作,在FPGA对Flash访问过程中,前述I/O管脚通过与门继续控制CPU的复位信号为低;
步骤3:如果FPGA逻辑加载失败,FPGA跳转到默认地址处加载存储在该区域的备份逻辑;
步骤4:FPGA完成对Flash的访问后,将Flash读写控制管脚置为高阻态,之后将控制CPU复位的I/O管脚置高电平;
步骤5:CPU从Flash中读取目标码并启动;
步骤7:CPU通过以太网接口获取升级命令,并采用UDP协议接收待更新目标码文件;所述待更新目标码文件为CPU的操作系统、应用软件以及FPGA逻辑目标码和其它逻辑运行所需数据;
步骤8:CPU将完整接收到的待更新目标码文件存储在内存中;从目标码文件的头信息中获取校验信息和文件类型;
步骤9:CPU根据接收到的升级命令中大小端转换标志对内存中的目标码文件进行大小端转换;
步骤10:CPU将大小端转换后的目标码文件写入Flash中,写入以扇区为单位,写入之前先将目标值与某一扇区的当前数据进行比对,如有不同则执行写入操作,如相同则跳过该扇区的擦除和写入操作;
步骤11:CPU完成Flash擦写操作后将Flash中的数据回读并与内存中的目标码文件进行比对,并将结果作为写入命名的返回值通过以太网发送给源端计算机。
2.一种含CPU和FPGA的嵌入式系统远程在线升级方法,其特征在于CPU和FPGA使用同一片Flash存储目标码,Flash以及CPU均和FPGA直接相连,但CPU和Flash不直接相连,由FPGA逻辑实现CPU到Flash的信号连接,其特征在于步骤如下:
步骤1:系统上电后FPGA加载过程中,FPGA的I/O管脚均为高阻态;
步骤2:FPGA逻辑加载成功并完成对Flash的所有访问操作后,FPGA将CPU的Flash读写管脚和Flash的响应管脚连接起来,并通过与CPU复位信号相连的I/O管脚复位CPU;
步骤3:CPU从Flash中读取目标码并启动;
步骤4:CPU通过以太网接口获取升级命令,并采用UDP协议接收待更新目标码文件;所述待更新目标码文件为CPU的操作系统、应用软件以及FPGA逻辑目标码和其它逻辑运行所需数据;
步骤5:CPU将完整接收到的待更新目标码文件存储在内存中;从目标码文件的头信息中获取校验信息和文件类型;
步骤6:CPU根据接收到的升级命令中大小端转换标志对内存中的目标码文件进行大小端转换;
步骤7:CPU将大小端转换后的目标码文件写入Flash中,写入以扇区为单位,写入之前先将目标值与某一扇区的当前数据进行比对,如有不同则执行写入操作,如相同则跳过该扇区的擦除和写入操作;
步骤8:CPU完成Flash擦写操作后将Flash中的数据回读并与内存中的目标码文件进行比对,并将结果作为写入命名的返回值通过以太网发送给源端计算机。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司洛阳电光设备研究所,未经中国航空工业集团公司洛阳电光设备研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911113938.3/1.html,转载请声明来源钻瓜专利网。