CN114691178A - 一种基于EtherCAT通讯驱动器的固件升级方法及装置 - Google Patents
一种基于EtherCAT通讯驱动器的固件升级方法及装置 Download PDFInfo
- Publication number
- CN114691178A CN114691178A CN202210606748.0A CN202210606748A CN114691178A CN 114691178 A CN114691178 A CN 114691178A CN 202210606748 A CN202210606748 A CN 202210606748A CN 114691178 A CN114691178 A CN 114691178A
- Authority
- CN
- China
- Prior art keywords
- firmware
- file
- driver
- protocol
- upgraded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开提供了一种基于EtherCAT通讯驱动器的固件升级方法及装置,使仅支持COE协议的待升级固件同时支持COE协议和FOE协议,该方法在原协议栈中添加FOE协议内容,由引导程序添加FLASH读写函数接口,将FOE协议数据通过FLASH读写函数接口写入FLASH内存;修改待升级驱动器通讯配置XML文件使支持FOE协议;通过仿真器软件将引导程序和固件程序合并生成烧录文件;烧录完成引导程序和固件程序下载,解决了现有技术中通过串口进行固件升级在设备现场无法操作或很难操作,需要携带额外的工具和接口,产品上需要预留空间,并为此付出成本,同时传输过程不可中断,无纠错机制的问题。
Description
技术领域
本发明涉及EtherCAT通讯驱动器的固件升级技术领域,具体涉及一种基于EtherCAT通讯驱动器的固件升级方法及装置。
背景技术
固件升级是指通过专门的升级程序,将硬件中的工作程序或源代码进行改进,使其得到兼容性、性能或功能上的提高。它与升级驱动程序等不同的是从机器底层进行更新,因而更直接、更有效,性能提高也更可观。这种升级可将机器的性能不断提高,将其潜力不断发挥出来。
传统技术通常使用串口进行固件升级,如使用RS232总线、或RS485总线进行固件升级。使用串口进行固件升级虽然开发难度低,但是使用串口升级在设备现场无法操作或很难操作,需要携带额外的工具和接口,产品上需要预留空间,并为此付出成本,同时传输过程不可中断,无纠错机制。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中通过串口进行固件升级在设备现场无法操作或很难操作,需要携带额外的工具和接口,产品上需要预留空间,并为此付出成本,同时传输过程不可中断,无纠错机制的问题,从而提供一种基于EtherCAT通讯驱动器的固件升级方法及装置。
为解决上述技术问题,本发明公开实施例至少提供一种基于EtherCAT通讯驱动器的固件升级方法及装置。
第一方面,本发明公开实施例提供了一种基于EtherCAT通讯驱动器的固件升级方法,所述方法用于对仅支持COE协议的待升级固件进行升级,使所述待升级固件同时支持COE协议和FOE协议,所述方法包括:
在原协议栈中添加FOE协议内容,使所述原协议栈支持基于EtherCAT通讯的FOE协议;
由引导程序添加FLASH读写函数接口,所述FLASH读写函数接口用于对flash内存进行编程和擦除操作;
接收FOE协议数据,并将所述FOE协议数据通过所述FLASH读写函数接口写入所述FLASH内存;
获取待升级驱动器通讯配置XML文件,对所述待升级驱动器通讯配置XML文件进行修改,使所述待升级驱动器通讯配置XML文件含有FOE协议信息;
通过仿真器将引导程序和固件程序合并生成烧录文件;
通过烧录工具将烧录文件在主芯片进行一次烧录过程,完成所述引导程序和所述固件程序下载,运行烧录后的所述固件程序。
可选地,在所述获取待升级驱动器通讯配置XML文件之前,所述方法还包括:修改编译链接文件linker_script_IAP.ld,为所述引导程序和所述固件程序分配不同存储地址;将所述待升级驱动器固件编译成word格式含有Bit32CRC校验码.bin文件。
可选地,所述对所述待升级驱动器通讯配置XML文件进行修改为:使用Twin CAT3添加单轴,获取所述待升级驱动器通讯配置XML文件,保存为格式.bin,再经J-flash转化成.c文件,将数据拷入固件工程eeprom.h,重新编译后生成含有所述待升级驱动器通讯配置XML信息的固件。
可选地,所述通过烧录工具将烧录文件在主芯片进行一次烧录过程为:使用J-FLASH工具将所述烧录文件在主芯片进行一次烧录过程。
第二方面,本发明公开实施例还提供一种基于EtherCAT通讯驱动器的固件升级装置,所述装置用于对仅支持COE协议的待升级固件进行升级,使所述待升级固件同时支持COE协议和FOE协议,所述装置包括:
协议修改模块,用于在原协议栈中添加FOE协议内容,使所述原协议栈支持基于EtherCAT通讯的FOE协议;
函数修改模块,用于由引导程序添加FLASH读写函数接口,所述FLASH读写函数接口用于对flash内存进行编程和擦除操作;
协议数据处理模块,用于接收FOE协议数据,并将所述FOE协议数据通过所述FLASH读写函数接口写入所述FLASH内存;
驱动配置修改模块,用于获取待升级驱动器通讯配置XML文件,对所述待升级驱动器通讯配置XML文件进行修改,使所述待升级驱动器通讯配置XML文件含有FOE协议信息;
烧录文件生成模块,用于通过仿真器将引导程序和固件程序合并生成烧录文件;
固件升级模块,用于通过烧录工具将烧录文件在主芯片进行一次烧录过程,完成所述引导程序和所述固件程序下载,运行烧录后的所述固件程序。
可选地,所述装置还包括:
地址分配模块,用于修改编译链接文件linker_script_IAP.ld,为所述引导程序和所述固件程序分配不同存储地址;
文件格式调整模块,用于将所述待升级驱动器固件编译成word格式含有Bit32CRC校验码.bin文件。
可选地,所述驱动配置修改模块对所述待升级驱动器通讯配置XML文件进行修改为:所述驱动配置修改模块使用Twin CAT3添加单轴,获取所述待升级驱动器通讯配置XML文件,保存为格式.bin,再经J-flash转化成.c文件,将数据拷入固件工程eeprom.h,重新编译后生成含有所述待升级驱动器通讯配置XML信息的固件。
可选地,所述固件升级模块通过烧录工具将烧录文件在主芯片进行一次烧录过程为:所述固件升级模块使用J-FLASH工具将烧录文件在主芯片进行一次烧录过程。
第三方面,本发明公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本发明公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本发明的实施例提供的技术方案可以具有以下有益效果:
基于EtherCAT通讯驱动器的FOE固件升级方法,充分EtherCAT通讯特点,最大可以扫描65535个从站设备,通讯速率100M,安全快速的进行固件升级;通过该方法生成.Hex格式生产文件,支持多种工具一次烧录成功;而不是引导文件和程序固件分开两次烧录,节约时间和人力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明公开实施例所提供的一种基于EtherCAT通讯驱动器的固件升级方法的流程图;
图2示出了本发明公开实施例所提供的另一种基于EtherCAT通讯驱动器的固件升级方法的流程图;
图3示出了本发明公开实施例所提供的一种基于EtherCAT通讯驱动器的固件升级装置的结构示意图;
图4示出了本发明公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
实施例1
如图1所示,本发明公开实施例所提供的一种基于EtherCAT通讯驱动器的固件升级方法的流程图,该方法用于对仅支持COE协议的待升级固件进行升级,使待升级固件同时支持COE协议和FOE协议,方法包括:
S11:在原协议栈中添加FOE协议内容,使原协议栈支持基于EtherCAT通讯的FOE协议;
S12:由引导程序添加FLASH读写函数接口,FLASH读写函数接口用于对flash内存进行编程和擦除操作;
S13:接收FOE协议数据,并将FOE协议数据通过FLASH读写函数接口写入FLASH内存;
S14:获取待升级驱动器通讯配置XML文件,对待升级驱动器通讯配置XML文件进行修改,使待升级驱动器通讯配置XML文件含有FOE协议信息;
S15:通过仿真器将引导程序和固件程序合并生成烧录文件;
S16:通过烧录工具将烧录文件在主芯片进行一次烧录过程,完成引导程序和固件程序下载,运行烧录后的固件程序。
可以理解的是,本实施例提供的技术方案,基于EtherCAT通讯驱动器的FOE固件升级方法,充分EtherCAT通讯特点,最大可以扫描65535个从站设备,通讯速率100M,安全快速的进行固件升级;通过该方法生成.Hex格式生产文件,支持多种工具一次烧录成功;而不是引导文件和程序固件分开两次烧录,节约时间和人力。
实施例2
如图2所示,本发明公开实施例所提供的另一种基于EtherCAT通讯驱动器的固件升级方法的流程图,该方法用于对仅支持COE(CANopen over EtherCAT,运行在EtherCAT协议上的CANopen协议)协议的待升级固件进行升级,使待升级固件同时支持COE协议和FOE(File Access over EtherCAT)协议,方法包括:
S21:在原协议栈中添加FOE协议内容,使原协议栈支持基于EtherCAT通讯的FOE协议;
S22:由引导程序添加FLASH读写函数接口,FLASH读写函数接口用于对flash内存进行编程和擦除操作;
S23:接收FOE协议数据,并将FOE协议数据通过FLASH读写函数接口写入FLASH内存;
S24:修改编译链接文件linker_script_IAP.ld,为引导程序和固件程序分配不同存储地址;
S25:将所述待升级驱动器固件编译生成word格式含有Bit32CRC校验码.bin文件。
S26:获取待升级驱动器通讯配置XML文件,对待升级驱动器通讯配置XML文件进行修改,使待升级驱动器通讯配置XML文件含有FOE协议信息;
S27:通过仿真器将引导程序和固件程序合并生成烧录文件;
S28:通过烧录工具将烧录文件在主芯片进行一次烧录过程,完成引导程序和固件程序下载,运行烧录后的固件程序。
在具体实践中,步骤S26对待升级驱动器通讯配置XML文件进行修改为:使用TwinCAT3添加单轴,获取待升级驱动器通讯配置XML文件,保存为格式.bin,再经J-flash转化成.c文件,将数据拷入固件工程eeprom.h,重新编译后生成含有待升级驱动器通讯配置XML信息的固件。
在具体实践中,步骤S28通过烧录文件对主芯片进行一次烧录过程为:使用J-FLASH工具通过烧录文件对主芯片进行一次烧录过程。
为了便于读者理解,下面提供本实施例的一种具体实现方式。
1,使用SSC Tool软件,修改EtherCATState Machine->BOOTSTRAPMODE_SUPPORTED为1;修改Mailbox->FOE_SUPPORTED 为1;修改Mailbox->FOE_SAVE_FILES 为1;重新生成协议栈代码,和之前代码做对比,将关于FOE和Bootloader部分代码添加原程序;并添加bootmode.c和bootmode.h /ecatfoe.c和 ecatfoe.h /foeappl.c和foeappl.h文件。
2,工程添加固件接口和FLASH读写代码文件,firmwareupdate_SSC.c和firmwareupdate_SSC.h;Flashprog.c和flashprog.h;添加一个接口,用于写FLASH。
3,修改IAP(In Application Programming)跳转函数接口。
XMC_ESC_4800.c中Void APPL_StopMailboxhandler();加入 FWUPDATE_StateTransitionInit();
XMC_ESC_4800.c中Void APPL_Application(),加入
if (FWUPDATE_GetDownloadFinished()==1)
{
XMC_SCU_RESET_ClearDeviceResetReason();
/* Set normal boot mode */
XMC_SCU_SetBootMode(XMC_SCU_BOOTMODE_NORMAL);
/* Trigger power on reset */
PPB->AIRCR = 1 << PPB_AIRCR_SYSRESETREQ_Pos |0x5FA<<PPB_AIRCR_VECTKEY_Pos | 0x1 << PPB_AIRCR_PRIGROUP_Pos;
}
修改foeqppl.c中FOE_Write()和FOE_Data()函数,对接收到的EtehrCAT数据写入FLASH中。
4,添加编译链接文件linker_script_IAP.ld,在工程目录下添加Utilities文档,内容从例程中拷贝过来,设置工程->Properties->C/C++ Build->Settings->ARM-GCCCreate Flash Image->Command line pattern; 输入${COMMAND} ${FLAGS} ${OUTPUT_FLAG}firmware.bin${INPUTS} & "../Utilities/srecord-1.63-win32/srec_cat" "@../Utilities/pad.srec" & "../Utilities/srecord-1.63-win32/srec_cat" "@../Utilities/crc.srec" & "../Utilities/srecord-1.63-win32/srec_cat" "@../Utilities/swap.srec",DAVE4编译后就会生成word格式含加入Bit32CRC校验码.bin文件。
5,修改.XML文件,打开XmlNotepad.exe软件,加载JMC_DRIVE_V1.7.xml文件,EtherCATInfo->Descriptions->Devices,找到需要修改的驱动器文件,Device->Mailbox添加FoE,Device->Eeprom添加BootStrap 0010800000118000,修改完成保存。
6,使用Twin CAT3((The Windows Control and Automation Technology),是Beckhoff推出第一款基于PC的控制器)添加该轴后,双击添加轴,Ether CAT->AdvancedSettings->ESC Access->EEPROM->HEX Editor,文件保存格式.bin,需要J-flash转化成.c文件,将数据拷入工程eeprom.h;重新编译形成含有通讯配置XML文件信息的固件。
7,使用J-link把两种不同格式文件合成烧录hex文件,脱离原本工程软件烧录局限;加载BOOTLOADER的.hex文件;地址为0x0C010000;加载使用DAVE4生成的.bin文件;地址为0x0C020000;保存为.Hex格式生产文件,加载到KEIL工程中进行烧录,需要全部擦出后烧写;可以使用J-FLASH。工具直接烧录;不在局限于工程软件来进行烧录。
8,EtherCAT通讯的FOE功能方法完成。
可以理解的是,本实施例提供的技术方案,基于EtherCAT通讯驱动器的FOE固件升级方法,充分EtherCAT通讯特点,最大可以扫描65535个从站设备,通讯速率100M,安全快速的进行固件升级;通过该方法生成.Hex格式生产文件,支持多种工具一次烧录成功;而不是引导文件和程序固件分开两次烧录,节约时间和人力。
实施例3
如图3所示,本发明实施例还提供一种基于EtherCAT通讯驱动器的固件升级装置,用于对仅支持COE协议的待升级固件进行升级,使待升级固件同时支持COE协议和FOE协议,该装置包括:
协议修改模块31,用于在原协议栈中添加FOE协议内容,使原协议栈支持基于EtherCAT通讯的FOE协议;
函数修改模块32,用于由引导程序添加FLASH读写函数接口,FLASH读写函数接口用于对flash内存进行编程和擦除操作;
协议数据处理模块33,用于接收FOE协议数据,并将FOE协议数据通过FLASH读写函数接口写入FLASH内存;
驱动配置修改模块34,用于获取待升级驱动器通讯配置XML文件,对待升级驱动器通讯配置XML文件进行修改,使待升级驱动器通讯配置XML文件支持FOE协议;
烧录文件生成模块35,用于通过仿真器将引导程序和固件程序合并生成烧录文件;
固件升级模块36,用于通过烧录工具将烧录文件对主芯片进行一次烧录过程,完成引导程序和固件程序下载,即可运行固件程序。
在具体实践中,如图3中虚线部分所示,该装置还包括:
地址分配模块37,用于修改编译链接文件linker_script_IAP.ld,为引导程序和固件程序分配不同存储地址;
文件格式调整模块38,用于将所述待升级驱动器固件编译生成word格式含有Bit32CRC校验码.bin文件。
在具体实践中,驱动配置修改模块对待升级驱动器通讯配置XML文件进行修改为:驱动配置修改模块使用Twin CAT3添加单轴,获取待升级驱动器通讯配置XML文件,保存为格式.bin,再经J-flash转化成.c文件,将数据拷入固件工程eeprom.h,重新编译后生成含有待升级驱动器通讯配置XML信息的固件。
在具体实践中,固件升级模块通过烧录文件对主芯片进行一次烧录过程为:固件升级模块使用J-FLASH工具通过烧录文件对主芯片进行一次烧录过程。
可以理解的是,本实施例提供的技术方案,基于EtherCAT通讯驱动器的FOE固件升级方法,充分EtherCAT通讯特点,最大可以扫描65535个从站设备,通讯速率100M,安全快速的进行固件升级;通过该方法生成.Hex格式生产文件,支持多种工具一次烧录成功;而不是引导文件和程序固件分开两次烧录,节约时间和人力。
实施例4
基于同一技术构思,本申请实施例还提供了一种计算机设备,包括存储器1和处理器2,如图4所示,所述存储器1存储有计算机程序,所述处理器2执行所述计算机程序时实现上述任一项所述的基于EtherCAT通讯驱动器的固件升级方法。
其中,存储器1至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器1在一些实施例中可以是OTT视频业务监控系统的内部存储单元,例如硬盘。存储器1在另一些实施例中也可以是OTT视频业务监控系统的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器1还可以既包括OTT视频业务监控系统的内部存储单元也包括外部存储设备。存储器1不仅可以用于存储安装于OTT视频业务监控系统的应用软件及各类数据,例如OTT视频业务监控程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器2在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器1中存储的程序代码或处理数据,例如执行OTT视频业务监控程序等。
可以理解的是,本实施例提供的技术方案,基于EtherCAT通讯驱动器的FOE固件升级方法,充分EtherCAT通讯特点,最大可以扫描65535个从站设备,通讯速率100M,安全快速的进行固件升级;通过该方法生成.Hex格式生产文件,支持多种工具一次烧录成功;而不是引导文件和程序固件分开两次烧录,节约时间和人力。
本发明公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的基于EtherCAT通讯驱动器的固件升级方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本发明公开实施例所提供的基于EtherCAT通讯驱动器的固件升级方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的基于EtherCAT通讯驱动器的固件升级方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本发明公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于EtherCAT通讯驱动器的固件升级方法,其特征在于,所述方法用于对仅支持COE协议的待升级固件进行升级,使所述待升级固件同时支持COE协议和FOE协议,所述方法包括:
在原协议栈中添加FOE协议内容,使所述原协议栈支持基于EtherCAT通讯的FOE协议;
由引导程序添加FLASH读写函数接口,所述FLASH读写函数接口用于对flash内存进行编程和擦除操作;
接收FOE协议数据,并将所述FOE协议数据通过所述FLASH读写函数接口写入所述FLASH内存;
获取待升级驱动器通讯配置XML文件,对所述待升级驱动器通讯配置XML文件进行修改,使所述待升级驱动器通讯配置XML文件含有FOE协议信息;
通过仿真器软件将引导程序和固件程序合并生成烧录文件;
通过烧录工具将烧录文件在主芯片进行一次烧录过程,完成所述引导程序和所述固件程序下载,运行烧录后的所述固件程序。
2.根据权利要求1所述的基于EtherCAT通讯驱动器的固件升级方法,其特征在于,在所述获取待升级驱动器通讯配置XML文件之前,所述方法还包括:
修改编译链接文件linker_script_IAP.ld,为所述引导程序和所述固件程序分配不同存储地址;
将所述待升级驱动器固件文件编译成word格式含有Bit32CRC校验码.bin文件,便于支持TwinCAT3软件升级固件。
3.根据权利要求1或2所述的基于EtherCAT通讯驱动器的固件升级方法,其特征在于,所述对所述待升级驱动器通讯配置XML文件进行修改为:使用Twin CAT3添加单轴,获取所述待升级驱动器通讯配置XML文件,保存为格式.bin,再经J-flash转化成.c文件,将数据拷入固件工程eeprom.h,重新编译后生成含有所述待升级驱动器通讯配置XML信息的固件。
4.根据权利要求1或2所述的基于EtherCAT通讯驱动器的固件升级方法,其特征在于,所述通过烧录工具将烧录文件在主芯片进行一次烧录过程为:使用J-FLASH工具将烧录文件在主芯片进行一次烧录过程。
5.一种基于EtherCAT通讯驱动器的固件升级装置,其特征在于,所述装置用于对仅支持COE协议的待升级固件进行升级,使所述待升级固件同时支持COE协议和FOE协议,所述装置包括:
协议修改模块,用于在原协议栈中添加FOE协议内容,使所述原协议栈支持基于EtherCAT通讯的FOE协议;
函数修改模块,用于由引导程序添加FLASH读写函数接口,所述FLASH读写函数接口用于对flash内存进行编程和擦除操作;
协议数据处理模块,用于接收FOE协议数据,并将所述FOE协议数据通过所述FLASH读写函数接口写入所述FLASH内存;
驱动配置修改模块,用于获取待升级驱动器通讯配置XML文件,对所述待升级驱动器通讯配置XML文件进行修改,使所述待升级驱动器通讯配置XML文件含有FOE协议信息;
烧录文件生成模块,用于通过仿真器将引导程序和固件程序合并生成烧录文件;
固件升级模块,用于通过烧录工具将所述烧录文件在主芯片进行一次烧录过程,完成所述引导程序和所述固件程序下载,运行烧录后的所述固件程序。
6.根据权利要求5所述的基于EtherCAT通讯驱动器的固件升级装置,其特征在于,所述装置还包括:
地址分配模块,用于修改编译链接文件linker_script_IAP.ld,为所述引导程序和所述固件程序分配不同存储地址;
文件格式调整模块,用于将所述待升级驱动器固件编译成word格式含有Bit32CRC校验码.bin文件。
7.根据权利要求5或6所述的基于EtherCAT通讯驱动器的固件升级装置,其特征在于,所述驱动配置修改模块对所述待升级驱动器通讯配置XML文件进行修改为:所述驱动配置修改模块使用Twin CAT3添加单轴,获取所述待升级驱动器通讯配置XML文件,保存为格式.bin,再经J-flash转化成.c文件,将数据拷入固件工程eeprom.h,重新编译后生成含有所述待升级驱动器通讯配置XML信息的固件。
8.根据权利要求5或6所述的一种基于EtherCAT通讯驱动器的固件升级装置,其特征在于,所述固件升级模块通过烧录工具将所述烧录文件在主芯片进行一次烧录过程为:所述固件升级模块使用J-FLASH工具将所述烧录文件在主芯片进行一次烧录过程。
9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至4中任一项所述基于EtherCAT通讯驱动器的固件升级方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至4中任一项所述基于EtherCAT通讯驱动器的固件升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606748.0A CN114691178B (zh) | 2022-05-31 | 2022-05-31 | 一种基于EtherCAT通讯驱动器的固件升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606748.0A CN114691178B (zh) | 2022-05-31 | 2022-05-31 | 一种基于EtherCAT通讯驱动器的固件升级方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114691178A true CN114691178A (zh) | 2022-07-01 |
CN114691178B CN114691178B (zh) | 2022-09-06 |
Family
ID=82131092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210606748.0A Active CN114691178B (zh) | 2022-05-31 | 2022-05-31 | 一种基于EtherCAT通讯驱动器的固件升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114691178B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895612A (zh) * | 2022-07-11 | 2022-08-12 | 深圳市杰美康机电有限公司 | 一种用于dsp芯片的仿真系统及仿真控制方法 |
CN117149242A (zh) * | 2023-11-01 | 2023-12-01 | 深圳市杰美康机电有限公司 | 驱动器批量升级方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020073304A1 (en) * | 2000-12-07 | 2002-06-13 | Marsh James L. | System and method for updating firmware |
CN106059877A (zh) * | 2016-07-18 | 2016-10-26 | 中国电子信息产业集团有限公司第六研究所 | 一种基于SPARC架构CPU的EtherCAT主站模块 |
CN107317529A (zh) * | 2016-04-26 | 2017-11-03 | 上海安浦鸣志自动化设备有限公司 | 基于EtherCAT的全闭环步进电机伺服控制系统 |
CN109814900A (zh) * | 2018-12-29 | 2019-05-28 | 深圳市越疆科技有限公司 | 一种固件更新方法、装置及机器人关节的控制器 |
CN110620712A (zh) * | 2019-09-03 | 2019-12-27 | 武汉久同智能科技有限公司 | Window平台的实时EtherCAT主站实现方法 |
CN110658751A (zh) * | 2019-09-16 | 2020-01-07 | 华中科技大学 | 一种EtherCAT现场总线控制系统的实现方法 |
CN111198698A (zh) * | 2018-11-16 | 2020-05-26 | 上海安浦鸣志自动化设备有限公司 | 基于EtherCAT的多设备固件程序并行下载方法及系统 |
US20200167228A1 (en) * | 2018-11-27 | 2020-05-28 | Lsis Co., Ltd. | Method for recovering eeprom of slave device by plc communication module |
CN112363736A (zh) * | 2020-11-11 | 2021-02-12 | 京东方科技集团股份有限公司 | 一种产品序列号烧录的方法、装置及存储介质 |
CN112379901A (zh) * | 2020-11-04 | 2021-02-19 | 深圳市科信通信技术股份有限公司 | 单片机固件升级方法、装置、计算机设备及存储介质 |
CN113885899A (zh) * | 2021-10-25 | 2022-01-04 | 苏州浪潮智能科技有限公司 | 一种固态硬盘固件烧录方法、装置、设备和存储介质 |
-
2022
- 2022-05-31 CN CN202210606748.0A patent/CN114691178B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020073304A1 (en) * | 2000-12-07 | 2002-06-13 | Marsh James L. | System and method for updating firmware |
CN107317529A (zh) * | 2016-04-26 | 2017-11-03 | 上海安浦鸣志自动化设备有限公司 | 基于EtherCAT的全闭环步进电机伺服控制系统 |
CN106059877A (zh) * | 2016-07-18 | 2016-10-26 | 中国电子信息产业集团有限公司第六研究所 | 一种基于SPARC架构CPU的EtherCAT主站模块 |
CN111198698A (zh) * | 2018-11-16 | 2020-05-26 | 上海安浦鸣志自动化设备有限公司 | 基于EtherCAT的多设备固件程序并行下载方法及系统 |
US20200167228A1 (en) * | 2018-11-27 | 2020-05-28 | Lsis Co., Ltd. | Method for recovering eeprom of slave device by plc communication module |
CN109814900A (zh) * | 2018-12-29 | 2019-05-28 | 深圳市越疆科技有限公司 | 一种固件更新方法、装置及机器人关节的控制器 |
CN110620712A (zh) * | 2019-09-03 | 2019-12-27 | 武汉久同智能科技有限公司 | Window平台的实时EtherCAT主站实现方法 |
CN110658751A (zh) * | 2019-09-16 | 2020-01-07 | 华中科技大学 | 一种EtherCAT现场总线控制系统的实现方法 |
CN112379901A (zh) * | 2020-11-04 | 2021-02-19 | 深圳市科信通信技术股份有限公司 | 单片机固件升级方法、装置、计算机设备及存储介质 |
CN112363736A (zh) * | 2020-11-11 | 2021-02-12 | 京东方科技集团股份有限公司 | 一种产品序列号烧录的方法、装置及存储介质 |
CN113885899A (zh) * | 2021-10-25 | 2022-01-04 | 苏州浪潮智能科技有限公司 | 一种固态硬盘固件烧录方法、装置、设备和存储介质 |
Non-Patent Citations (6)
Title |
---|
ETHERCAT_I7: "EtherCAT FoE简介", 《CSDN:HTTPS://BLOG.CSDN.NET/ETHERCAT_I7/ARTICLE/DETAILS/81479640》 * |
NICOLAS: "File Transfer on EtherCAT - FoE, firmware update using XMC4800", 《INFINEON:HTTPS://COMMUNITY.INFINEON.COM/T5/XMC/FILE-TRANSFER-ON-ETHERCAT-FOE-FIRMWARE-UPDATE-USING-XMC4800/TD-P/310115》 * |
常玉冬等: "EtherCAT主站协议SoE的研究与实现", 《组合机床与自动化加工技术》 * |
康燕萍等: "基于STM32系列电子产品的IAP研究", 《现代电子技术》 * |
王科等: "驱动器集成多种工业实时总线的方法", 《工业控制计算机》 * |
马梦意等: "基于XMC4800的EtherCAT总线伺服控制系统设计", 《计算机测量与控制》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895612A (zh) * | 2022-07-11 | 2022-08-12 | 深圳市杰美康机电有限公司 | 一种用于dsp芯片的仿真系统及仿真控制方法 |
CN114895612B (zh) * | 2022-07-11 | 2022-09-27 | 深圳市杰美康机电有限公司 | 一种用于dsp芯片的仿真系统 |
CN117149242A (zh) * | 2023-11-01 | 2023-12-01 | 深圳市杰美康机电有限公司 | 驱动器批量升级方法和装置 |
CN117149242B (zh) * | 2023-11-01 | 2024-02-23 | 深圳市杰美康机电有限公司 | 驱动器批量升级方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114691178B (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114691178B (zh) | 一种基于EtherCAT通讯驱动器的固件升级方法及装置 | |
US6484309B2 (en) | Enabling software designed for one operating system to operate on another operating system | |
CN101763279B (zh) | 一种BootLoader架构设计方法 | |
US8028268B2 (en) | System and method for building software package for embedded system | |
EP1956482B1 (en) | Generating delta updates for a processing device | |
EP1031921A2 (en) | Installed-software development assistance system | |
CA2539433A1 (en) | Systems and methods for dynamically linking application software into a running operating system kernel | |
CN107463388A (zh) | 一种uefi无盘启动方法 | |
CN108762797A (zh) | 一种ssd固件在线更新方法、系统及ssd | |
WO2022227409A1 (zh) | 一种嵌入式终端远程软件更新方法 | |
CN110716721A (zh) | 兼容网口和串口的tms320c6748程序加载方法 | |
CN101872306A (zh) | 一种实现软件更新和软件备份的嵌入式系统及其实现方法 | |
US10452364B2 (en) | Method and system for preparing code to be executed by programmable control devices | |
US7047283B1 (en) | Apparatus and method of upgrading program of firmware board | |
CN117591170B (zh) | 一种龙芯PMON平台支持基于OSTree系统的方法及装置、存储介质 | |
CN109426511B (zh) | 软核更新方法和系统 | |
CN103339603A (zh) | 计算机重新编程方法、数据存储介质和机动车辆计算机 | |
CN114816491A (zh) | 用于多系统移动终端的系统升级方法、装置及终端 | |
CN113961260B (zh) | 系统控制软件的运行方法、系统、计算机设备及存储介质 | |
CN102298531A (zh) | 在嵌入式系统中对闪存文件系统进行升级的方法 | |
KR100478463B1 (ko) | 응용 프로그램의 동적링크 방법 | |
CN110058876B (zh) | 扩展wireshark软件兼容性的方法、装置、服务器及存储介质 | |
CN112269585A (zh) | 一种关节驱动器固件在线更新方法、装置及关节驱动器 | |
US20050210233A1 (en) | System and method for updating a basic Input/Output system program | |
JP4026383B2 (ja) | 情報処理システム、情報処理端末、外部記憶装置、情報処理端末制御用プログラム及び外部記憶装置制御用プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |