新闻中心

EEPW首页>EDA/PCB>设计应用> FPGA程序远程在线更新设计

FPGA程序远程在线更新设计

作者: 时间:2013-02-18 来源:网络 收藏

4 合并文件

Nios II的启动要经历两个过程:

器件本身的配置过程。如果内部逻辑中使用了Nios II,则配置完成的中包含有Nios II软核CPU。

② Nios II本身的应用过程。一旦配置成功后,Nios II就被逻辑中的复位电路复位,从reset地址开始执行代码。

Nios II IDE将FPGA的配置文件(.sof文件)和应用(.elf文件)转成flash格式文件,转换后的flash格式文件是一种SRecord格式数据,包含如下区域:

[6]。各字段的意思分别如下:表示记录的类型;表示数据的长度;

表示数据写入的起始地址,该字段的长度取决于的取值;表示存储的数据;表示校验位。

配置文件和应用可能有多个段,每个段前面都插有一个“程序记录”。一个“程序记录”由2个32位的数据构成,一个是32位的整数,另一个是32位的地址,分别表示程序段本身的长度和程序段的运行时地址。其存储布局如图3所示。

图3 Flash文件存储布局

为了在更新程序时把FPGA配置文件和Nios II应用程序一起更新,把FPGA配置文件和Nios II应用程序合并成一个文件,并且把合并后的Flash格式的文件转换成不需要地址解码就能直接执行的二进制BIN文件。具体处理流程如图4所示。

图4 合并程序文件流程

在合并程序的过程中,去掉了flash文件中的长度、目的地址等用于解析程序的信息,并且把程序映像由字符格式转换为二进制格式。合并后的BIN文件包含FPGA配置文件和Nios II应用程序,并且Nios II应用程序紧挨在FPGA配置文件的后面,其存储布局如图5所示。

程序文件第n个程序段映像

Len1~Len1+L2程序文件第1个程序段映像

配置文件第n个程序段映像

0~L1配置文件第1个程序段映像

图5 BIN文件存储布局



关键词:FPGA程序远程

评论


相关推荐

技术专区

关闭