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

2024-01-14 20:38
文章标签 程序 ii 下载 elf 固化 nios

本文主要是介绍Nios II 程序固化(如何下载elf文件),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

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

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

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

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

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

        点击后,如下图所示,其中需要将红圈 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文件)后能报警提示,确保硬件与软件最新版本同步。

上面选择好以后,点击 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

 

这篇关于Nios II 程序固化(如何下载elf文件)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/606437

相关文章

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互