CN109426511A - 软核更新方法和系统 - Google Patents

软核更新方法和系统 Download PDF

Info

Publication number
CN109426511A
CN109426511A CN201710713730.XA CN201710713730A CN109426511A CN 109426511 A CN109426511 A CN 109426511A CN 201710713730 A CN201710713730 A CN 201710713730A CN 109426511 A CN109426511 A CN 109426511A
Authority
CN
China
Prior art keywords
program
file
soft core
format
programmable logic
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
Application number
CN201710713730.XA
Other languages
English (en)
Other versions
CN109426511B (zh
Inventor
吕京梅
梁伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Novastar Electronic Technology Co Ltd
Original Assignee
Xian Novastar Electronic Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Novastar Electronic Technology Co Ltd filed Critical Xian Novastar Electronic Technology Co Ltd
Priority to CN201710713730.XA priority Critical patent/CN109426511B/zh
Publication of CN109426511A publication Critical patent/CN109426511A/zh
Application granted granted Critical
Publication of CN109426511B publication Critical patent/CN109426511B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种软核更新方法及系统,其利用第一程序文件对可编程逻辑器件进行配置并在配置完成后向可编程逻辑器件发送第二程序文件并利用可编程逻辑器件中的寄存器传输级代码将所述第二程序文件存储至可编程逻辑器件的外部存储器,之后将程序运行的入口地址跳转到外部存储器中的目标地址,以运行所述第二程序文件对应的软核代码。因此,本发明实施例可以节省成本和/或节省内部RAM的使用。

Description

软核更新方法和系统
技术领域
本发明涉及软件更新技术领域,尤其涉及一种软核更新方法以及一种软核更新系统。
背景技术
LED显示屏控制卡一般采用FPGA进行图像和通讯处理。在与外围通讯处理器例如ARM通讯中为了解析协议一般采用软核进行处理。软核更新方式一般采用JTAG口和AS(Active Serial,主动串行)方式,JTAG只适合调试阶段,不适合产品阶段。AS方式适合产品阶段,但要增加一片EEPROM存储器挂接至FPGA来专门存放FPGA的配置程序和软核程序,这也就增加了成本。而且当软核应用程序在外部存储器例如DDR3中运行的应用场合,利用软核程序中的Boot程序将EEPROM存储器中的软核应用程序文件转写到外部存储器,这样就增加了内部RAM的使用个数,当内部RAM非常紧张时这种方式是不可取的。
发明内容
因此,本发明的实施例提供一种软核更新方法以及一种软核更新系统,以实现降低成本和/或节省内部RAM资源的技术效果。
一方面,提供了一种软核更新方法,包括:将第一程序文件从第一存储器读出并加载至可编程逻辑器件;在将所述第一程序文件从所述第一存储器读出并加载至可编程逻辑器件后,与所述可编程逻辑器件进行握手通信,并在握手通信成功后将第二程序文件从所述第一存储器读出并发送给所述可编程逻辑器件;所述可编程逻辑器件的寄存器传输级代码将所述第二程序文件存储至第二存储器;以及在所述可编程逻辑器件的寄存器传输级(RTL)代码将所述第二程序文件存储至第二存储器后,所述可编程逻辑器件将程序运行的入口地址跳转到所述第二存储器中的目标地址,运行所述第二程序文件对应的软核代码。
在本发明的一个实施例中,所述第一程序文件包含所述可编程逻辑器件的配置程序和软核引导程序,所述第二程序文件包含所述可编程逻辑器件的软核应用程序。
在本发明的一个实施例中,在将所述第一程序文件从所述第一存储器读出并加载至所述可编程逻辑器件后,所述可编程逻辑器件根据所述配置程序进行配置、并在配置完成后运行所述软核引导程序。
在本发明的一个实施例中,所述方法还包括:获取初始配置程序和软核程序,其中所述软核程序包含ELF格式的软核引导程序和ELF格式的软核应用程序;根据所述初始配置程序和所述ELF格式的软核引导程序生成BIT格式的所述第一程序文件;根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件;以及将BIT格式的所述第一程序文件和BIN格式的所述第二程序文件从上位机发送至微处理器,以供所述微处理器接收所述第一程序文件和所述第二程序文件并存储至所述第一存储器,其中所述微处理器连接所述第一存储器和所述可编程逻辑器件。
在本发明的一个实施例中,所述根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件包括:将所述ELF格式的软核应用程序转换成SREC格式文件;对所述SREC文件进行局部内容修改,以设置软核应用程序在所述第二存储器中的基地址,得到修改后SREC格式文件;以及将所述修改后SREC格式文件转换成BIN格式文件,得到转换后BIN格式文件。
在本发明的一个实施例中,所述根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件还包括:对所述转换后BIN格式文件进行局部内容修改,以设置复位和中断执行代码,得到BIN格式的所述第二程序文件。
在本发明的一个实施例中,所述第一程序文件为BIT格式文件且所述配置程序和所述软核引导程序位于同一个BIT格式文件中,所述第二程序文件为BIN格式文件。
再一方面,提供了一种软核更新系统,包括:微处理器、第一存储器、可编程逻辑器件和第二存储器,所述微处理器连接所述第一存储器和所述可编程逻辑器件,所述第二存储器连接所述可编程逻辑器件;所述微处理器用于将第一程序文件从所述第一存储器读出并加载至所述可编程逻辑器件,在将所述第一程序文件从所述第一存储器读出并加载至所述可编程逻辑器件后与所述可编程逻辑器件进行握手通信,并在握手通信成功后将第二程序文件从所述第一存储器读出并发送给所述可编程逻辑器件;所述可编程逻辑器件用于利用寄存器传输级代码将所述第二程序文件存储至第二存储器,以及在将所述第二程序文件存储至第二存储器后将程序运行的入口地址跳转到所述第二存储器中的目标地址,运行所述第二程序文件对应的软核代码。
在本发明的一个实施例中,所述第一程序文件包含所述可编程逻辑器件的配置程序和软核引导程序,所述第二程序文件包含所述可编程逻辑器件的软核应用程序。
在本发明的一个实施例中,所述可编程逻辑器件还用于根据所述配置程序进行配置、并在配置完成后运行所述软核引导程序。
在本发明的一个实施例中,所述系统还包括:上位机,所述上位机通过通信接口连接所述微处理器;所述上位机用于:获取初始配置程序和软核程序,其中所述软核程序包含ELF格式的软核引导程序和ELF格式的软核应用程序;根据所述初始配置程序和所述ELF格式的软核引导程序生成BIT格式的所述第一程序文件;以及根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件。
在本发明的一个实施例中,所述上位机根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件包括:将所述ELF格式的软核应用程序转换成SREC格式文件;对所述SREC文件进行局部内容修改,以设置软核应用程序在所述第二存储器中的基地址,得到修改后SREC格式文件;以及将所述修改后SREC格式文件转换成BIN格式文件,得到转换后BIN格式文件。
在本发明的一个实施例中,所述上位机根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件还包括:对所述转换后BIN格式文件进行局部内容修改,以设置复位和中断执行代码,得到BIN格式的所述第二程序文件。
在本发明的一个实施例中,所述第一程序文件为BIT格式文件且所述配置程序和所述软核引导程序位于同一个BIT格式文件中,所述第二程序文件为BIN格式文件。
上述技术方案的一个技术方案具有如下优点或有益效果:通过连接至微处理器的第一存储器来存储程序文件,其可以节省一片挂接至FPGA的存储器,以节省成本;此外利用RTL代码进行程序文件写入至可编程逻辑器件的外部存储器(第二存储器),可以节省内部RAM的使用。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中提出的一种软核更新方法的流程示意图;
图2为本发明实施例中提出的一种软核更新系统的架构示意图;
图3为本发明实施例中ELF格式文件转SREC格式文件的界面图片;
图4A和图4B为本发明实施例中将SREC格式文件转换为BIN格式文件前对SREC格式文件进行局部内容修改的界面图片;
图5A为本发明实施例中SREC格式文件中的复位及中断执行代码的界面图片;
图5B为本发明实施例中已设置好复位及中断程序代码的BIN格式文件的局部内容界面图片。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,其为本发明实施例提供的一种软核更新方法的流程示意图。本实施例的软核更新方法主要包括以下步骤:
S11:将第一程序文件从第一存储器读出并加载至可编程逻辑器件;
S12:与可编程逻辑器件进行握手通信,并在握手通信成功后将第二程序文件从第一存储器读出并发送给可编程逻辑器件;
S13:可编程逻辑器件的寄存器传输级代码将第二程序文件存储至第二存储器;以及
S14:可编程逻辑器件将程序运行的入口地址跳转到第二存储器中的目标地址,运行第二程序文件对应的软核代码。
更具体地,在前述软核更新方法中,第一程序文件优选为包含可编程逻辑器件的配置程序和软核引导程序(或称软核Boot程序),第二程序文件优选为包含可编程逻辑器件的软核应用程序;可编程逻辑器件被加载第一程序文件后,根据所述配置程序进行配置、并在配置完成后运行软核引导程序。更进一步地,第一程序文件优选为BIT格式文件且所述配置程序和所述软核引导程序位于同一个BIT格式文件中;第二程序文件优选为BIN格式文件,以便于发送至可编程逻辑器件中。
另外,在其他实施例中,本发明的软核更新方法在步骤S11之前还可以包括以下步骤:(a)获取初始配置程序和软核程序,其中所述软核程序包含ELF格式的软核引导程序和ELF格式的软核应用程序;(b)根据所述初始配置程序和所述ELF格式的软核引导程序生成BIT格式的第一程序文件;(c)根据所述ELF格式的软核应用程序生成BIN格式的第二程序文件;以及(d)将BIT格式的第一程序文件和BIN格式的第二程序文件从上位机发送出去。甚至,步骤(d)还可以细化为包括子步骤:(d1)将所述ELF格式的软核应用程序转换成SREC格式文件;(d2)对所述SREC文件进行局部内容修改,以设置软核应用程序在第二存储器中的基地址,得到修改后SREC格式文件;(d3)将所述修改后SREC格式文件转换成BIN格式文件,得到转换后BIN格式文件。子步骤(d3)得到的BIN格式文件可以直接作为前述第二程序文件,如果需要将Reset(复位)及Interrupt(中断)程序也写入第二存储器,则应进一步设置子步骤(d4):对所述转换后BIN格式文件进行局部内容修改,以设置复位和中断执行代码,得到BIN格式的第二程序文件作为前述第二程序文件。
为便于更清楚的理解本发明前述实施例的软核更新方法,下面列举出具体例子并结合图2所示的软核更新系统对各个前述步骤进行详细说明。
如图2所示,上位机例如PC机通过通信接口将BIT格式的第一程序文件和BIN格式的第二程序文件发送给微处理器,由微处理器将接收到的第一程序文件和第二程序文件存储到第一存储器中。此处的通信接口例如是网口、USB口或UART口,通信接口的使用可以实现软核的在线更新;再者,微处理器例如是MCU、ARM或其他CPU,第一存储器典型地为非易失性存储器例如EEPROM,第一程序文件例如包含可编程逻辑器件例如FPGA的配置程序和软核引导程序且配置程序和软核引导程序优选为位于同一个BIT格式文件中,第二程序文件例如包含可编程逻辑器件例如FPGA的软核应用程序。本实施例是利用连接微处理器的第一存储器来存储第一及第二程序文件,因而无需像现有技术为FPGA专门挂接一片EEPROM存储器,从而可以节省一片存储器以降低成本。
第一程序文件和第二程序文件接收完毕之后,微处理器首先将BIT格式的第一程序文件从第一存储器中读出来,通过可编程逻辑器件例如FPGA加载线将第一程序文件加载至FPGA中,由FPGA根据第一程序文件中的配置程序进行自身配置并在配置完成后在内部RAM中运行第一程序文件中的软核引导程序,此处软核引导程序的功能是等待FPGA的RTL(Register Transfer Level,寄存器传输级)代码将BIN格式的第二程序文件写入第二存储器,而第二存储器例如是SDRAM、DDR2或DDR3等易失性存储器。本实施例中,由于是利用RTL代码来实现第二程序文件写入第二存储器,其相对于现有技术AS更新方式下利用Boot程序将EEPROM中的软核应用程序文件转写至DDR3需要消耗内部RAM的情形而言,可以节省内部RAM的使用。
之后,微处理器与FPGA进行握手通信例如通过串口与FPGA进行握手通信,握手通信成功之后再将BIN格式的第二程序文件从第一存储器中读出来发送给FPGA,再由FPGA的RTL代码将BIN格式的第二程序文件存储至第二存储器中,在第二程序文件写入第二存储器之后,FPGA从软核引导程序跳转到第二存储器运行第二程序文件对应的软核代码,也即将程序运行的入口地址跳转到第二存储器中的目标地址(对应第二程序文件在第二存储器中的基地址),以运行所述第二程序文件对应的软核代码,达成软核在线更新之目的。
承上述,可编程逻辑器件例如FPGA的软核程序包括两个程序:软核应用程序(或称软核应用区程序)及软核Boot程序。软核应用区程序是正常运行的程序,在第二存储器例如DDR3中运行;软核Boot程序在内部RAM中运行,功能是等待可编程逻辑器件例如FPGA的RTL代码将BIN格式文件写入DDR3之后,跳转到DDR3运行。再者,软核应用区程序分为Reset及Interrupt程序和实际运行程序,这两段程序在DDR3中不同位置。首先软核Boot程序先将Reset及Interrupt程序入口地址向量从DDR3中读出来写入内部地址0,再将程序运行的入口地址跳转到DDR3地址中。
软核程序(包括软核Boot程序和软核应用程序)在内部RAM还是外部存储器运行,可以通过软件进行设置,以Xilinx FPGA为例,设置方法可以为打开SDK(SoftwareDevelopment Kit,软件开发工具包),选择软核程序所在目录,打开工程,右击工程,选择Generate Linker Script,出现对话框,再选择在内部RAM还是外部运行。
此外,软核程序生成的可执行文件为ELF格式文件,本实施例中的软核程序包含两个ELF文件,分别是dprx.elf和boot.elf。boot.elf文件嵌入到硬件工程中,和硬件工程一起生成一个.bit文件,以得到前述包含配置程序和软核引导程序的第一程序文件;dprx.elf要想下载到可编程逻辑器件例如FPGA中,要转换成.bin文件才可以。仍以XilinxFPGA为例,转换步骤如下:
(1)打开由Xilinx Tools工具下launch shell,找到dprx.elf文件所在的目录,之后输入命令“mb-objcopy-O srec dprx.elf dprx.srec”并回车,此时已成功转换为dprx.srec文件,如图3所示;
(2)把dprx.srec复制一份,用编辑工具UltraEdit把dprx.srec打开,把第2/3/4/5行(如图4A所示)删除,并把最后一行S70500000000FA(如图4B所示)改为S70590000000FA,其中90000000是软核应用程序运行的基地址,如果软核应用程序运行的基地址是80000000,那么S70500000000FA需改为S70580000000FA。之后用SrecToBin.exe把修改后SREC格式文件dprx.srec转换为BIN格式文件dprx.bin;
(3)用编辑工具UltraEdit将复制的dprx.srec和转换后的BIN格式文件dprx.bin打开,把SREC格式dprx.srec文件中对应复位(Reset)和中断(Interrupt)执行代码的第1/2/3/4行拷贝出来并将这些行中的内容“S30D”及每行最后1个字节“F2”、“24”、“3B”及“3F”(如图5A所示)删除;其中00000000后的数据“009000B0000008B8”插入BIN格式文件dprx.bin的00000000h位置,00000008后的数据“049000B06C5608B8”插入dprx.bin文件的00000008h位置,00000010后的数据“029000B0A00508B8”插入dprx.bin文件的00000010h位置,00000020后的数据“029000B08C0508B8”插入dprx.bin文件的00000020h位置,无效数据的位置填写00,00000030h插入00,写完之后如图5B所示,此时dprx.bin文件就是要写入第二存储器例如DDR3的第二程序文件。
值得一提的是,软核应用程序没有用到Interrupt程序时,则不需要将Reset及Interrupt程序写入第二存储器例如DDR3中,相应地只需要将实际运行程序写入DDR3中即可,而无需进行前述步骤(3)来设置dprx.bin文件中的复位及中断程序代码,那么软核Boot程序在第二程序文件写入第二存储器例如DDR3之后直接跳转到DDR3运行即可。
综上所述,本发明前述实施例提出的可编程逻辑器件例如FPGA的软核更新方法及系统,通过连接至微处理器的第一存储器来存储程序文件,其可以节省一片挂接至FPGA的存储器,以节省成本;此外利用RTL代码进行程序文件写入至可编程逻辑器件的外部存储器,可以节省内部RAM的使用;另外,使用USB、UART或者网口等通信接口可以实现软核程序的在线更新。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多路单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多路网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (14)

1.一种软核更新方法,其特征在于,包括:
将第一程序文件从第一存储器读出并加载至可编程逻辑器件;
与所述可编程逻辑器件进行握手通信,并在握手通信成功后将第二程序文件从所述第一存储器读出并发送给所述可编程逻辑器件;
所述可编程逻辑器件的寄存器传输级代码将所述第二程序文件存储至第二存储器;
所述可编程逻辑器件将程序运行的入口地址跳转到所述第二存储器中的目标地址,运行所述第二程序文件对应的软核代码。
2.如权利要求1所述的方法,其特征在于,所述第一程序文件包含所述可编程逻辑器件的配置程序和软核引导程序,所述第二程序文件包含所述可编程逻辑器件的软核应用程序。
3.如权利要求2所述的方法,其特征在于,在将所述第一程序文件从所述第一存储器读出并加载至所述可编程逻辑器件后,所述可编程逻辑器件根据所述配置程序进行配置、并在配置完成后运行所述软核引导程序。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
获取初始配置程序和软核程序,其中所述软核程序包含ELF格式的软核引导程序和ELF格式的软核应用程序;
根据所述初始配置程序和所述ELF格式的软核引导程序生成BIT格式的所述第一程序文件;
根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件;
将BIT格式的所述第一程序文件和BIN格式的所述第二程序文件从上位机发送至微处理器,以供所述微处理器接收所述第一程序文件和所述第二程序文件并存储至所述第一存储器,其中所述微处理器连接所述第一存储器和所述可编程逻辑器件。
5.如权利要求4所述的方法,其特征在于,所述根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件包括:
将所述ELF格式的软核应用程序转换成SREC格式文件;
对所述SREC文件进行局部内容修改,以设置软核应用程序在所述第二存储器中的基地址,得到修改后SREC格式文件;
将所述修改后SREC格式文件转换成BIN格式文件,得到转换后BIN格式文件。
6.如权利要求5所述的方法,其特征在于,所述根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件还包括:
对所述转换后BIN格式文件进行局部内容修改,以设置复位和中断执行代码,得到BIN格式的所述第二程序文件。
7.如权利要求2所述的方法,其特征在于,所述第一程序文件为BIT格式文件且所述配置程序和所述软核引导程序位于同一个BIT格式文件中,所述第二程序文件为BIN格式文件。
8.一种软核更新系统,其特征在于,包括:微处理器、第一存储器、可编程逻辑器件和第二存储器,所述微处理器连接所述第一存储器和所述可编程逻辑器件,所述第二存储器连接所述可编程逻辑器件;
所述微处理器用于将第一程序文件从所述第一存储器读出并加载至所述可编程逻辑器件,与所述可编程逻辑器件进行握手通信,并在握手通信成功后将第二程序文件从所述第一存储器读出并发送给所述可编程逻辑器件;
所述可编程逻辑器件用于利用寄存器传输级代码将所述第二程序文件存储至第二存储器,以及将程序运行的入口地址跳转到所述第二存储器中的目标地址,运行所述第二程序文件对应的软核代码。
9.如权利要求8所述的系统,其特征在于,所述第一程序文件包含所述可编程逻辑器件的配置程序和软核引导程序,所述第二程序文件包含所述可编程逻辑器件的软核应用程序。
10.如权利要求9所述的系统,其特征在于,所述可编程逻辑器件还用于根据所述配置程序进行配置、并在配置完成后运行所述软核引导程序。
11.如权利要求9所述的系统,其特征在于,所述系统还包括:上位机,所述上位机通过通信接口连接所述微处理器;所述上位机用于:
获取初始配置程序和软核程序,其中所述软核程序包含ELF格式的软核引导程序和ELF格式的软核应用程序;
根据所述初始配置程序和所述ELF格式的软核引导程序生成BIT格式的所述第一程序文件;
根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件。
12.如权利要求11所述的系统,其特征在于,所述上位机根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件包括:
将所述ELF格式的软核应用程序转换成SREC格式文件;
对所述SREC文件进行局部内容修改,以设置软核应用程序在所述第二存储器中的基地址,得到修改后SREC格式文件;
将所述修改后SREC格式文件转换成BIN格式文件,得到转换后BIN格式文件。
13.如权利要求12所述的系统,其特征在于,所述上位机根据所述ELF格式的软核应用程序生成BIN格式的所述第二程序文件还包括:
对所述转换后BIN格式文件进行局部内容修改,以设置复位和中断执行代码,得到BIN格式的所述第二程序文件。
14.如权利要求9所述的系统,其特征在于,所述第一程序文件为BIT格式文件且所述配置程序和所述软核引导程序位于同一个BIT格式文件中,所述第二程序文件为BIN格式文件。
CN201710713730.XA 2017-08-18 2017-08-18 软核更新方法和系统 Active CN109426511B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710713730.XA CN109426511B (zh) 2017-08-18 2017-08-18 软核更新方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710713730.XA CN109426511B (zh) 2017-08-18 2017-08-18 软核更新方法和系统

Publications (2)

Publication Number Publication Date
CN109426511A true CN109426511A (zh) 2019-03-05
CN109426511B CN109426511B (zh) 2022-03-22

Family

ID=65497574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710713730.XA Active CN109426511B (zh) 2017-08-18 2017-08-18 软核更新方法和系统

Country Status (1)

Country Link
CN (1) CN109426511B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445540A (zh) * 2020-11-10 2021-03-05 惠州市创荣发智能科技有限公司 程序运行方法、系统、终端及存储介质
CN112905217A (zh) * 2021-05-07 2021-06-04 鹏城实验室 嵌入式程序的程序更新方法、终端、系统及存储介质
CN113590227A (zh) * 2021-08-02 2021-11-02 中国大恒(集团)有限公司北京图像视觉技术分公司 一种嵌入式系统下的二进制烧写格式的加载方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131648A (zh) * 2006-08-25 2008-02-27 深圳迈瑞生物医疗电子股份有限公司 Usb接口控制面板在线更新方法
CN101431441A (zh) * 2008-12-12 2009-05-13 北京邮电大学 一种内部植入cpu的fpga系统在线升级的方法
CN103902305A (zh) * 2012-12-26 2014-07-02 中国航空工业集团公司第六三一研究所 基于ti dsp的软件远程加载与固化方法
US20140214356A1 (en) * 2013-01-31 2014-07-31 General Electric Company Method and system for use in dynamically configuring data acquisition systems
CN104572229A (zh) * 2015-02-12 2015-04-29 西安诺瓦电子科技有限公司 嵌入式系统的固件升级方法以及固件升级装置
CN105224359A (zh) * 2015-09-07 2016-01-06 西安诺瓦电子科技有限公司 程序加载方法
CN105808292A (zh) * 2016-03-07 2016-07-27 西安诺瓦电子科技有限公司 嵌入式终端设备的固件升级方法
CN106293807A (zh) * 2016-07-26 2017-01-04 中国航空工业集团公司西安飞行自动控制研究所 一种基于DSP的Flash芯片引导加载方法
WO2017041567A1 (zh) * 2015-09-07 2017-03-16 武汉精测电子技术股份有限公司 基于软核处理器的fpga多镜像升级加载方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131648A (zh) * 2006-08-25 2008-02-27 深圳迈瑞生物医疗电子股份有限公司 Usb接口控制面板在线更新方法
CN101431441A (zh) * 2008-12-12 2009-05-13 北京邮电大学 一种内部植入cpu的fpga系统在线升级的方法
CN103902305A (zh) * 2012-12-26 2014-07-02 中国航空工业集团公司第六三一研究所 基于ti dsp的软件远程加载与固化方法
US20140214356A1 (en) * 2013-01-31 2014-07-31 General Electric Company Method and system for use in dynamically configuring data acquisition systems
CN104572229A (zh) * 2015-02-12 2015-04-29 西安诺瓦电子科技有限公司 嵌入式系统的固件升级方法以及固件升级装置
CN105224359A (zh) * 2015-09-07 2016-01-06 西安诺瓦电子科技有限公司 程序加载方法
WO2017041567A1 (zh) * 2015-09-07 2017-03-16 武汉精测电子技术股份有限公司 基于软核处理器的fpga多镜像升级加载方法及装置
CN105808292A (zh) * 2016-03-07 2016-07-27 西安诺瓦电子科技有限公司 嵌入式终端设备的固件升级方法
CN106293807A (zh) * 2016-07-26 2017-01-04 中国航空工业集团公司西安飞行自动控制研究所 一种基于DSP的Flash芯片引导加载方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
--: "一种远程在线更新FPGA程序的方法", 《HTTPS://TECH.HQEW.COM/NEWS_1059522》 *
WEIXIN_34198762: "【小梅哥FPGA进阶教程】MC8051软核在FPGA上的使用", 《HTTPS://BLOG.CSDN.NET/WEIXIN_34198762/ARTICLE/DETAILS/93383622》 *
冯亚楠: "基于SOPC的嵌入式系统架构及应用验证", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
张龙滨: "基于NIOS_与IP软核技术的SOPC系统设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445540A (zh) * 2020-11-10 2021-03-05 惠州市创荣发智能科技有限公司 程序运行方法、系统、终端及存储介质
CN112905217A (zh) * 2021-05-07 2021-06-04 鹏城实验室 嵌入式程序的程序更新方法、终端、系统及存储介质
CN112905217B (zh) * 2021-05-07 2021-08-20 鹏城实验室 嵌入式程序的程序更新方法、终端、系统及存储介质
CN113590227A (zh) * 2021-08-02 2021-11-02 中国大恒(集团)有限公司北京图像视觉技术分公司 一种嵌入式系统下的二进制烧写格式的加载方法及系统
CN113590227B (zh) * 2021-08-02 2023-11-28 中国大恒(集团)有限公司北京图像视觉技术分公司 一种嵌入式系统下的二进制烧写格式的加载方法及系统

Also Published As

Publication number Publication date
CN109426511B (zh) 2022-03-22

Similar Documents

Publication Publication Date Title
CN102012831B (zh) 基于Linux平台的OTA升级方法
CN103942065B (zh) 用于更新固件兼容性数据的方法和系统
CN107704285B (zh) 现场可编程门阵列多版本配置芯片、系统和方法
CN106030526B (zh) 装置、更新器、控制装置的方法、及控制更新器的方法
CN110515641A (zh) 服务器固件的更新方法、装置及系统
US10929149B2 (en) Method and system for updating firmware
CN102650947A (zh) 一种Android手持设备连续增量的空中升级方法
CN103189851A (zh) 用于将网络驱动程序注入目标映像的设备和方法
CN108037938B (zh) 一种eMMC的开卡方法
CN109726163A (zh) 一种基于spi的通信系统、方法、设备和储存介质
CN106843918A (zh) 对包括arm芯片、dsp芯片和fpga芯片的嵌入式系统进行程序更新的方法
CN109669729A (zh) 一种处理器的启动引导方法
CN103198042A (zh) Pci航空串行总线板卡及实现动态加载数据处理方法
CN109189434A (zh) 一种电能表的在线升级方法
CN109426511A (zh) 软核更新方法和系统
CN110851163B (zh) 一种基于can通信的兼容多设备平台的软件更新方法
JP2018514867A (ja) Dspエンジンおよび改良されたコンテキストスイッチ能力を有する中央処理ユニット
CN104077204A (zh) 可重构的8位rsic单片机仿真器
US20040049617A1 (en) Method of firmware update by USB interface
CN104657164A (zh) 软件升级处理方法和装置
CN110286852A (zh) 双控构架分布式存储系统、数据读取方法、装置和存储介质
CN109213510A (zh) 一种用于嵌入式设备的应用程序升级方法及存储介质
CN104035757A (zh) 基于MIPS处理器的u-boot移植的实现方法
CN104428751A (zh) 程序数据的更新方法及设备
CN112148337A (zh) 一种固件升级方法及装置

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 710075 DEF101, Zero One Square, Xi'an Software Park, No. 72 Zhangbajie Science and Technology Second Road, Xi'an High-tech Zone, Shaanxi Province

Applicant after: XI'AN NOVASTAR TECH Co.,Ltd.

Address before: 710075 Qinfengge D District 401, Xi'an Software Park, 68 Science and Technology Second Road, Xi'an High-tech Zone, Shaanxi Province

Applicant before: Xi'an NovaStar Tech Co.,Ltd.

GR01 Patent grant
GR01 Patent grant