HCM3000板卡固件智能化下载系统设计与实现

2020-04-23 11:16周林霞周记超胡欢傅亚光
电子技术与软件工程 2020年8期
关键词:批处理固件板卡

周林霞 周记超 胡欢 傅亚光

(1.许继集团有限公司 河南省许昌市 461000 2.许昌大成实业集团有限公司 河南省许昌市 461000)

随着嵌入式设备的发展,包括智能手机以及具有物联网功能诸如智能家具等诸多嵌入式设备产品进入人们的生活,使人们生活变得越来越智能化[1]。“智能化”,是指由现代通信与信息技术、计算机网络技术、行业技术、智能控制技术汇集而成的针对某一个方面的应用,而这方面的研究尚处于初始的阶段,从一般的意义上讲,智能就是一种能够随外界条件的变化,确定正确行动的能力。在计算机问世后,人们开始试图利用电子计算机去执行人类各种工作任务,或代替人们去进行有关推理和决策,完成对人类自身智能的模拟,HCM3000 板卡固件智能化下载系统就是智能化的模拟人类下载固件的一个系统。

本系统主要解决工程现场更新固件的问题,特别是国外的工程,更新现场工程板卡的固件,需要硬件开发的人员跑到现场更新,浪费出差费用和时间。HCM3000 板卡固件智能化下载系统,可以实现一键式、智能化下载板卡固件,操作非常简单,现场的人员可以自己利用这个软件下载板卡固件,不需要硬件开发的人员出差下载,可以大大地为公司省去出差费用和时间。

1 软件设计

1.1 总体框架设计

HCM3000 板卡固件智能化下载系统的框架结构主要包括智能下载部分和基础运行部分,智能下载部分运行于PC 机中,基础运行部分运行于要下载固件的HCM3000 板卡中。HCM3000 板卡固件智能化下载系统总体框架如下图1。

2 系统组成

2.1 智能下载部分

智能下载部分是图1 的上面的部分,其运行在PC 机中。职能下载部分主要分为三层,最上层是智能下载流程控制模块,控制着HCM3000 板卡固件智能化下载系统的流程。从一键式下载命令下达到固件下载完成,需要调用哪个软件、怎么调用、调用后什么时候完成下载、完成下载后怎么退出软件,这整个过程都由这个模块控制。中层主要根据不同的板卡类型、固件类型调用相应的模块,因为不同的板卡类型、固件类型其下载的方法不一样,调用的软件也不一样。最底层是Tftpd32.exe 软件和Xilinx Design Tools 软件。

2.2 基础运行部分

基础运行部分就是图1 的下面的部分,其运行在被下载固件的HCM3000 板卡中,只有板卡正常启动的情况下,才可以下载固件。VxWorks 镜像运行在EPU20B 板卡中,EPU20B 板卡在VxWorks 镜像下正常启动,才可以下载BOOTROM。基础运行运行在要下载FPGA 固件的板卡中,保证其正常启动运行,才可以下载FPGA。

图1

3 系统流程

HCM3000 板卡固件智能化下载系统的流程图如图2,通过系统软件界面选择板卡类型、固件类型。固件的类型主要分为两种:1.BOOTROM 固件;2.FPGA 固件,其中HCM3000 的所有板卡都有FPGA 固件,但是BOOTROM 固件只有EPU20B 有。

3.1 BOOTROM固件自动化下载

当通过系统软件界面选择完板卡类型、固件类型后,如果选择的是EPU20B 板卡的BOOTROM 固件,先把BOOTROM 固件放在固定的某个路径下,系统自动的调用串口,通过串口下达EPU20B 板卡重启命令,EPU20B 板卡重启后,通过串口信息保存现在的IP 地址和启动参数,保存完成后,再次通过串口下达重启命令,在EPU20B 板卡重启时,重新设置EPU20B 板卡的IP 地址为192.168.10.1,并设置其他的参数信息,这些参数信息要保证VXWORK 的正常启动,保证板卡的正常启动。EPU20B 板卡正常启动后,系统软件会自动的调用Tftpd32.exe,并调用一个批处理自动的把运行系统软件的电脑的IP 地址修改成192.168.10.250。通过串口下达烧写BOOTROM 固件命令,开始下载BOOTROM 固件,下载完成后可以通过串口的打印信息查看是否下载成功,下载完成后,通过串口下达EPU20B 板卡重启命令,板卡重启后设置回原来的IP 地址及启动参数,最后把下载是否成功的结果通过系统软件界面显示,整个过程都是自动化的完成。

3.2 fpga固件自动化下载

当通过系统软件界面选择完板卡类型、固件类型后,如果选择的是HCM3000 某个板卡的FPGA 固件,首先选择某个板卡的FPGA 存放路径,并把相应的路径信息写进相应板卡的批处理文件中,然后把写完路径信息的批处理拷贝到C:Xilinx14.7ISE_DSISEin t64下,并用C:Xilinx14.7ISE_DSISEin t64路径下的impact 运行相应板卡的批处理的命令进行FPGA 下载,下载完成后,批处理把下载结果写进TXT 文件中。系统软件通过读取这个TXT 文件来查看FPGA 是否下载成功,校验码是多少,并通过系统软件界面显示出来,整个过程都是自动化的完成。

4 关键技术实现

4.1 脚本语言

脚本是实现HCM3000 板卡固件智能化下载系统的重要部分,脚本的优劣直接影响到系统软件的效率和开销。脚本语言可移植性好坏,直接影响着脚本代码的可重用性及系统软件的可重复性[2]。

HCM3000 板卡固件智能化下载系统主要用VC++和批处理编写完成,VC++的优点是界面简洁,占用资源少,操作方便[3],批处理优点就是资源利用率高和系统吞吐量大,CPU 利用率高。

4.2 辅助工具

4.2.1 调用串口工具

EPU20B 板卡被大量使用在工程现场控制环境中,而EPU20B板卡片内集成的串口模块负责EPU20B 板卡控制系统与外界的数据通信[4]。通过串口向EPU20B 下达命令,通过串口打印信息显示EPU20B 板卡状态,这都可以通过使用MSCOMM 控件实现的,在VC++脚本中添加这个控件,再添加相应的类文件,编写需要的代码即可。

4.2.2 调用Tftpd32.exe 软件

一般情况下打开Tftpd32.exe 软件后,需要选择BOOTROM固件存放路径、运行Tftpd32.exe 软件的电脑IP 地址等信息,BOOTROM 固件存放路径第一次设置好,以后打开都是这样,但是如果运行Tftpd32.exe 软件的电脑IP 改变后,Tftpd32.exe 软件里的IP 地址需要重新设置,通过把Tftpd32.exe 软件的注册表里的IP 地址设为固定的IP 192.168.10.250,这样每次用批处理打开Tftpd32.exe 软件,Tftpd32.exe 软件里的路径、IP 信息都是固定的。再调用批处理,把运行Tftpd32.exe 软件的电脑IP 地址改为固定的IP 192.168.10.250,这样就可以通过串口下达下载相应路径下BOOTROM 固件命令,完成BOOTROM 固件下载。

4.2.3 调用Xilinx Design Tools 软件

图2

首先把用Xilinx Design Tools 软件下载每类板卡的FPGA 的命令编制成BAT 批处理文件,批处理文件里面是调用Xilinx Design Tools 工具下载FPGA 固件的CMD 命令,批处理里面除了CMD 命令,还有一些信息是下载每类板卡FPGA 时选的编程方式、器件类型、数据宽度等信息,每类板卡的这些信息会不一样。把这些写完路径信息的批处理拷贝到C:Xilinx14.7ISE_DSISEin t64下,并用C:Xilinx14.7ISE_DSISEin t64路径下的impact 运行相应板卡的批处理命令文件来完成FPGA 下载。

猜你喜欢
批处理固件板卡
恶意批处理文件导致电脑黑屏、反复重启、无响应的原因分析及应对思路
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
基于固件的远程身份认证
一种基于光纤数据传输的多板卡软件程序烧写技术
基于PSD-BPA的暂态稳定控制批处理计算方法的实现
一种通过USB接口的可靠固件升级技术
一种通用模拟量及开关量信号采集板卡的设计
多路手机固件升级工具设计