一种基于国产处理器平台更新网卡固件的方法及系统的制作方法

文档序号:9564481阅读:281来源:国知局
一种基于国产处理器平台更新网卡固件的方法及系统的制作方法
【技术领域】
[0001]本发明涉及国产CPU平台下的网络控制器烧录技术领域,特别涉及一种基于国产处理器平台更新网卡固件的方法及系统。
【背景技术】
[0002]随着国产CPU的技术进步与行业发展加速,目前涉及国产CPU的设计研发厂商越来越多。由于国产处理器架构与X86架构CPU存在较大差异,网络控制器固件烧录工具无法在国产平台上使用。因此在产品调试和生产过程中,网络控制器固件烧录成为了让研发人员、生产线操作人员的一大困扰。

【发明内容】

[0003]为了解决现有技术的问题,本发明提供了一种基于国产处理器平台更新网卡固件的方法及系统,其能够有效解决在国产处理器平台下,调试和生产过程中网卡固件烧录和MAC地址修改的问题,大幅提高调试和生产效率。
[0004]本发明所采用的技术方案如下:
[0005]一种基于国产处理器平台更新网卡固件的方法,包括以下步骤:
[0006]A、固件烧录应用程序启动后首先加载驱动模块,并判断是否加载成功,如不成功则重试;
[0007]B、如果成功,则要求用户选择要烧录的固件文件,并解析文件内容,获取固件适用的设备类型;
[0008]C、数据收发组件访问驱动模块,后者读取硬件寄存器获取设备型号数据;
[0009]D、校验组件校验设备型号是否相符,若不相符则显示错误信息并退出;若设备型号符合固件适用范围,则数据收发组件访问驱动模块,由后者读取硬件寄存器,获取当前MAC地址,若MAC地址为FF:FF:FF:FF:FF:FF,则判断原EEPROM/Flash芯片中为空,直接要求用户输入需要设置的MAC地址,并由校验组件完成校验码计算;否则校验组件使用获取的MAC地址与固件文件数据计算新的校验码;
[0010]E、最后由数据收发组件访问驱动模块,将包含新MAC地址、校验码的固件数据写A EEPROM/Flash 芯片。
[0011]固件烧录应用程序与驱动模块均采用C语言编写。
[0012]—种基于国产处理器平台更新网卡固件的系统,包括固件烧录应用程序和驱动模块,固件烧录应用程序包括文件解析组件、校验组件和数据收发组件;
[0013]所述的文件解析组件用于读取用户指定的固件文件,并进行解析,并将数据读出备用;
[0014]所述的校验组件用于校验网络控制器芯片与固件文件是否吻合,并根据原有MAC地址和新固件文件数据计算相应的校验码;
[0015]所述的数据收发组件负责与驱动模块通信,将固件烧录应用程序准备好的数据发往驱动模块或从驱动模块读取网络控制器数据;
[0016]所述的驱动模块工作于内核态,负责直接访问网络控制器寄存器及硬件,读取数据并发送给烧录软件,或将固件烧录应用程序提供的数据写入寄存器和EEPROM/Flash芯片。
[0017]本发明提供的技术方案带来的有益效果是:
[0018]本发明方法通过开发应用程序,访问网卡驱动模块程序接口,将网卡固件或MAC地址写入EEPR0M或Flash芯片,最终能够有效解决调试和生产过程中网卡固件烧录和MAC地址修改问题,大幅提高调试和生产效率。
【附图说明】
[0019]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本发明的一种基于国产处理器平台更新网卡固件的方法及系统的方法流程图。
【具体实施方式】
[0021]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0022]实施例一
[0023]如图1所示,固件烧录应用程序启动后首先加载驱动模块,并判断是否加载成功,如不成功则重试;然后要求用户选择要烧录的固件文件,并解析文件内容,获取固件适用的设备类型;数据收发组件访问驱动模块,后者读取硬件寄存器获取设备型号数据;校验组件校验设备型号是否相符,若不相符则显示错误信息并退出;若设备型号符合固件适用范围,则数据收发组件访问驱动模块,由后者读取硬件寄存器,获取当前MAC地址,若MAC地址为FF:FF:FF:FF:FF:FF则判断原EEPROM/Flash芯片中为空,直接要求用户输入需要设置的MAC地址,并由校验组件完成校验码计算;否则校验组件使用获取的MAC地址与固件文件数据计算新的校验码;最后由数据收发组件访问驱动模块,将包含新MAC地址、校验码的固件数据写入EEPROM/Flash芯片。
[0024]固件烧录应用程序主要包含文件解析组件、校验组件和数据收发组件。文件解析组件主要功能是读取用户指定的固件文件,并进行解析,并将重点数据(例如MAC地址、校验码)读出备用;校验组件具有两大功能,一是校验网络控制器芯片与固件文件是否吻合,防止误刷新导致的硬件和功能故障,二是根据原有MAC地址和新固件文件数据计算相应的校验码;数据收发组件负责与驱动模块通信,将固件烧录应用程序准备好的数据发往驱动模块或从驱动模块读取网络控制器数据(例如MAC地址);驱动模块工作于内核态,负责直接访问网络控制器寄存器及硬件,读取数据并发送给烧录软件,或将固件烧录应用程序提供的数据写入寄存器和EEPROM/Flash芯片。
[0025]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种基于国产处理器平台更新网卡固件的方法,包括以下步骤: A、固件烧录应用程序启动后首先加载驱动模块,并判断是否加载成功,如不成功则重试; B、如果成功,则要求用户选择要烧录的固件文件,并解析文件内容,获取固件适用的设备类型; C、数据收发组件访问驱动模块,后者读取硬件寄存器获取设备型号数据; D、校验组件校验设备型号是否相符,若不相符则显示错误信息并退出;若设备型号符合固件适用范围,则数据收发组件访问驱动模块,由后者读取硬件寄存器,获取当前MAC地址,若MAC地址为FF:FF:FF:FF:FF:FF,则判断原EEPROM/Flash芯片中为空,直接要求用户输入需要设置的MAC地址,并由校验组件完成校验码计算;否则校验组件使用获取的MAC地址与固件文件数据计算新的校验码; E、最后由数据收发组件访问驱动模块,将包含新MAC地址、校验码的固件数据写入EEPROM/Flash 芯片。2.根据权利要求1所述的一种基于国产处理器平台更新网卡固件的方法,其特征在于,所述的固件烧录应用程序与驱动模块均采用C语言编写。3.—种基于国产处理器平台更新网卡固件的系统,包括固件烧录应用程序和驱动模块,其特征在于,所述的固件烧录应用程序包括文件解析组件、校验组件和数据收发组件; 所述的文件解析组件用于读取用户指定的固件文件,并进行解析,并将数据读出备用; 所述的校验组件用于校验网络控制器芯片与固件文件是否吻合,并根据原有MAC地址和新固件文件数据计算相应的校验码; 所述的数据收发组件负责与驱动模块通信,将固件烧录应用程序准备好的数据发往驱动模块或从驱动模块读取网络控制器数据; 所述的驱动模块工作于内核态,负责直接访问网络控制器寄存器及硬件,读取数据并发送给烧录软件,或将固件烧录应用程序提供的数据写入寄存器和EEPROM/Flash芯片。
【专利摘要】本发明涉及国产CPU平台下的网络控制器烧录技术领域,特别涉及一种基于国产处理器平台更新网卡固件的方法及系统。本发明方法通过开发应用程序,访问网卡驱动模块程序接口,将网卡固件或MAC地址写入EEPROM或Flash芯片,最终能够有效解决调试和生产过程中网卡固件烧录和MAC地址修改问题,大幅提高调试和生产效率。
【IPC分类】G06F9/445
【公开号】CN105320553
【申请号】CN201510896615
【发明人】张雁鹏, 刘强, 金长新
【申请人】浪潮集团有限公司
【公开日】2016年2月10日
【申请日】2015年12月7日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1