Nios II 程序固化(如何下载elf文件)

时间:2023-01-08 00:14:26

Nios II 程序固化(如何下载elf文件)

2018年10月15日 21:37:32 瓜儿不甜 阅读数:723
 
 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/snaking616/article/details/83064887

在调试Nios程序阶段,通常需要先将配置文件(*.sof)通过 JTAG 下载刡到FPGA 中,接着在Nios II IDE窗口中,右击工程名,选择Debug as -> Nios II hardware 来实现内核软件的调试,调试中的代码在开发板再次上电后会丢失,如何固化Nios程序呢,详细步骤如下:

1. 下载配置文件(*.sof)

首先,需要将 usb blaster 与开发板连接,我们先将其与开发板的 JTAG 模式接口相连。然后我们打开 NIOS IDE 软件(假设我们已经将工程编译好了),打开后,点击下图所示红圈处
Nios II 程序固化(如何下载elf文件)

点击后,如下图所示,然后点击下图红圈处(Add File)

Nios II 程序固化(如何下载elf文件)

点击后,如下图所示,选择 led.sof

Nios II 程序固化(如何下载elf文件)

选择后,如下图所示,然后点击 Start

Nios II 程序固化(如何下载elf文件)

点击后,成功了如下图所示

Nios II 程序固化(如何下载elf文件)

2. 下载内核软件程序(*.elf)

接下来开始下载程序到 EPCSx 中,我们必须将配置信息和 NIOS 程序同时下载到配置芯片中,点击下图所示红圈处

Nios II 程序固化(如何下载elf文件)

点击后,如下图所示,其中需要将红圈 1、 2、 4 选中,红圈 3 不用选。

选中红圈1 是将 NIOS 软件程序写到 FLASH 中,而到底是写到哪里,是由前面我们讲过的 CPU中 Reset Vector 的 memory 决定。也就是说,我们之前选择了 epcs,那么我们就是将代码下载到EPCSX 中了。

选中红圈 2 是将 FPGA 的配置文件下载到FLASH 中,而这里到底下载到哪是由红圈 5 处决定的,我们在这里还是选择 epcs,就是将配置文件下载到 EPCSX 中。其实 EPCSX 实质就是一种串行的 FLASH。

红圈 3 是将文件下载到 flash 中,比如说字库文件啊,波形文件啊等等,将这些文件直接存储到FLASH 中,只需要读取就可以了。不过这个选项跟我们下载配置文件和 NIOS程序时没有关系的,所以返里不选择它。

圈4勾选的是Validata Nios II system ID before software download,即在下载软件程序之前要确认系统的ID号,这样每次在QuartusII中修改“硬件”(即.sof文件)或在Nios II IDE中修改“软件”(即.elf文件)后能报警提示,确保硬件与软件最新版本同步。

Nios II 程序固化(如何下载elf文件)

上面选择好以后,点击 Apply,然后点击 Program Flash,就可以开始烧写 FLASH了,至此,如何将 FPGA 配置文件和 NIOS 的程序下载到 EPCSx(x 为 1,4,16…)里面的过程就说完了。

3. 参考:

(1)NIOSII那些事儿 REV7.0_完整版-CSDN下载

https://download.csdn.net/download/snaking616/10719292

(2)Altera FPGA带NiosII内核程序的JTAG下载方法总结_百度文库

https://wenku.baidu.com/view/5fd49863f18583d048645950.html

转载:https://blog.csdn.net/snaking616/article/details/83064887

Nios II 程序固化(如何下载elf文件)的更多相关文章

  1. 解决NIOS II工程移动在磁盘上位置后project无法编译问题

    说明:本文档于2017年3月4日由小梅哥更新部分内容,主要是增加了讲解以Quartus II13.0为代表的经典版本和以15.1为代表的更新版本之间,解决问题的一些小的差异. 如果用户只是想快速解决问 ...

  2. 【小梅哥SOPC学习笔记】NIOS II工程目录改变时project无法编译问题

    解决NIOS II工程移动在磁盘上位置后project无法编译问题 说明:本文档于2017年3月4日由小梅哥更新部分内容,主要是增加了讲解以Quartus II13.0为代表的经典版本和以15.1为代 ...

  3. Nios II的Boot过程分析

    目录 1       概述....................................................................... 1 2       几种常见的 ...

  4. 关于Nios II的启动分析(转载)

    原文地址:http://hi.baidu.com/goatdai/item/cc33671545d89243e75e06ad 常用到的存储器包括SDRMA.SRAM.FLASH.Onchip_memo ...

  5. Nios II 系统时钟timestamp的应用

    在用Nios II做外设时序驱动的时候,经常会用延时函数.有时会常使用某个FPGA芯片和时钟,比如笔者一直使用的芯片是cyclone系列 EP2C35F484C8N,PLL输入SOPC时钟是50M.因 ...

  6. Linux之ELF文件初探

    对比windowsPE文件与概述 在windows中可执行文件是pe文件格式,Linux中可执行文件是ELF文件,其文件格式是ELF文件格式,在Linux下的ELF文件除了可执行文件(Excutabl ...

  7. 扒一扒ELF文件

    ELF文件(Executable Linkable Format)是一种文件存储格式.Linux下的目标文件和可执行文件都按照该格式进行存储,有必要做个总结. 目录 1. 链接举例 2. ELF文件类 ...

  8. NIOS II 软件程序固化的相关知识

    片上RAM和ROM的SOPC系统1.生成hex文件2.将hex文件添加到quartus工程中(添加qip文件)3.对工程进行全编译4.下载sof就可以看到程序运行5.将sof转换为jic文件,烧写到E ...

  9. sof文件和NIOS II的软件(elf)合并为jic文件以使用Quartus Programmer烧写

    将Altera FPGA的sof文件和NIOS II的elf固件合并为一个jic文件以使用Quartus Programmer烧写   我们在学习和调试NIOS II工程的时候,一般都是先使用Quar ...

随机推荐

  1. Azure SQL Database (22) 迁移部分数据到Azure Stretch Database

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

  2. 在asp&period;net利用jquery&period;MultiFile实现多文件上传(转载)

    转载地址:http://www.cnblogs.com/scy251147/archive/2010/09/30/1839313.html 官网链接:http://www.fyneworks.com/ ...

  3. JS判断浏览器类型及版本

    浏览器 ie firefox opera safari chrome 分类: 一路辛酸---JavaScript 你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, S ...

  4. 【Lucene】近实时搜索

    近实时搜索:可以使用一个打开的IndexWriter快速搜索索引的变更内容,而不必首先关闭writer,或者向该writer提交:这是2.9版本之后推出的新功能. 代码示例(本例参考<Lucen ...

  5. leetcode — two-sum

    package org.lep.leetcode.twosum; import java.util.Arrays; import java.util.HashMap; import java.util ...

  6. &lt&semi;&percnt;&commat;include&gt&semi;和&lt&semi;jsp&colon;include&gt&semi;有什么不同呢

    <%@include>jsp指令先包含再处理,<jsp:include>jsp动作先处理再包含 1.执行时间上:< %@ include file=”relativeUR ...

  7. 14-补充内容:MySQl创建用户和授权

    [转]14-补充内容:MySQl创建用户和授权 权限管理 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操 ...

  8. MongoDB 进程控制系列二:结束进程

    1:如果某个进程产生了异常,可以考虑将其kill掉 db.killOp(10417) db.killOp(10417/*opid*/) 等同于: db.$cmd.sys.killop.findOne( ...

  9. (转)JAVA常见面试题之Forward和Redirect的区别

    阅读目录 一:间接请求转发(Redirect) 二:直接请求转发(Forward) 用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相 ...

  10. 《JAVA与模式》之简单工厂与工厂方法

    一.简单工厂 1.1 使用场景 1.工厂类负责创建的对象比较少: 2.客户只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心: 3.由于简单工厂很容易违反高内聚责任分配原则,因此一般只在很简单的情 ...