MAX10调试NIOS笔记

2023-10-30

之前没怎么用ALTERA的器件,最近用MAX10做嵌入式NIOS,MAX10是ALTERA推出的低价FPGA,且内置FLASH,比较适合成本敏感,且要求功能又复杂的应用。

1、生成SOF文件和elf文件。

我用的是Quartus Prime 17.1,在Quartus软件中启动Platform designer软件,搭建NIOS系统。系统主要有时钟、NIOS CPU、RAM、FLASH等外设。


搭建完成之后,点击System菜单,分配地址和中断号。之后点击Generate菜单,生成HDL文件。


将生成的xx_bb.v和xx_inst.v的部分代码复制到你自己设计的例化CPU的HDL代码中,然后在Quartus左侧的文件列表中添加synthesis目录下的xxx.qip文件。此处xxx是你自己命名保持的platform工程名。


然后综合、分配管脚和编译。

完成之后,打开NIOS软件。


设置工作目录。


选择新建NIOS 应用和BSP,选择生成的xx.sopcinfo文件。

由于我的程序是运行在ram中,所以选择hello_world_small应用,点击finish完成应用程序创建。

用USB连接MAX10到电脑,并点击programmer,选择JTAG方式下载Quartus生成的.sof文件。


下载完成后,修改hello_world_small.c代码,并编译。如果增加或者删除C文件,需要右键工程,清一下工程。


选择,Run->Run Configurations ,在Nios II Hardware下添加一个new ***并自己起个名字,在Project的name下选择eclipse的工程名,同时会出现相关.elf文件的位置,再选择Target Connection,正常这里已经连接上了。

选择RUN,就可以在串口看到打印信息了。

2、NIOS中FLASH相关配置

我用的方式是程序从FLASH启动,在RAM运行,所以在NIOS配置了FLASH和RAM。配置界面如下。

NIOS配置


RAM配置


FLASH配置,我是程序和数据放在一起不压缩烧写,如果有其它要求,需要改变这里的配置。


需要注意的是NIOS的data master要连接到FLASH的CSR上面。



3、将HDL代码和软件C代码合并并烧写

3.1  生成C代码的HEX文件

首先需要更改C代码编译的Linker选项。


右键单击,选择NIOS II->BSP Editor,把几个linker全部打上勾。


右键应用工程,选择Make Targets生成目标文件,选择Build。选择 mem_init_generate。

在对应目录下就会生成onchip_flash_0.hex文件。


3.2 合并SOF文件和HEX文件

打开Quartus软件,找到文件转换器(Convert  Programming Files)


打开文件转换器,选择internal Configuration


然后再选择左侧的Options/Boot Info,

把Configure  device from  CFM0  only前面打上对勾,

UFM  source选择Load momory file,然后再指定上一章节中生成的hex文件,点OK关闭此页面。


在Input files to convert里面添加SOF文件。


在File Name栏中指定输出的文件位置,并设置输出文件名称。


在最下方点Generate生成POF文件。


最后将POF文件烧写到MAX10中,此次不再赘述如何烧写。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MAX10调试NIOS笔记 的相关文章

  • 从ReentrantLock的角度来看AQS原理

    ReentrantLock ReentrantLock作为java api层面的加锁方式 其性能比synchronized更好 synchronized进行优化后性能差不太多 灵活性更强 ReentrantLock synchronized
  • MySql 学习(4)Linux MySql 开启远程服务

    1 MySql设授权远程访问 1 使用mysql u root p登录mysql 2 使用mysql数据库 真正的数据库 而非数据库软件 将所有数据库的所有表 的所有权限 all privileges 授予通过任何ip 访问的root用户
  • quartusII创建第一个VHDL程序

    选择file new project wizard 点击next 这一步忽略 输入项目的名称 自己写就可以 随便什么 不要有空格 默认选择空文件 next 如果需要增加写好的文件 自己选择 不需要就忽略 直接next 选择硬件器件型号 打包
  • 错误信息:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。

    错误信息 未在本地计算机上注册 microsoft ACE oledb 12 0 提供程序 解决办法 去下载 然后安装就行了 本错误是由于你使用了ACCESS2007版本建立的数据库 但服务器中没有相配合使用的程序 所以出错 未在本地计算机
  • HG海光X86

    1 X86模式 只有Intel和AMD可以持续演进 架构授权体系封闭 仅限于Intel和AMD交叉授权 其他厂家无法拿到完整授权 2 HG授权来自AMD 属于IP授权且盒子公司被AMD控股 核心技术受控在AMD IP授权只能用 不能改 无法
  • 临界区(锁)windows/linux通用

    lock h pragma once ifdef WIN32 include
  • react umi dva 使用 useSelector,useDispatch

    react umi dva 使用 useSelector useDispatch 需要保证 是在hooks 里面引入使用 且 是hooks 方式 调用 组件
  • 微信赌场——H5棋牌游戏渗透之旅

    i春秋作家 F0rmat 0x01 前言 本来不想发的 涉及太多利益了 这些棋牌游戏的源码最高能卖到几万 开发起来不比一个商场程序难 最近又太忙了 没时间去做代码审计的文章了 但一不小心又抢了个运气王 0x02 开始 一天做这行的朋友来找我
  • 全书简介和作者寄语

    聪明办法学Python 大家好 我是小雨姑娘 双非本科自学数据挖掘 曾两次获得数据挖掘比赛冠军 被选入2020数据挖掘竞赛十大开源贡献者 人工智能开源组织Datawhale成员 现于北美攻读计算机博士学位 创作本教程的初心是提供一个更快捷有
  • sqli-labs靶场第十八关

    十八关有点特殊 后台对输入的账号和密码都调用了函数进行过滤了 所以要转换注入方式 尝试去请求头里面修改信息 可以尝试cookie注入 user agent注入 refer字段注入 最终在user agent字段发现注入点 因为输入单引号或双
  • Python经典热力学数值分析

    气体动力学理论 理想气体定律的推导 Python 数值探索 以下Python代码块比较平均值 x langle x rangle x 和均方根 x
  • 推荐一款word转pdf超好用的包:aspose-words(解决中文乱码)

    aspose words 是一款超好用的转换工具 转换效果很好 且实现超级简单 首先通过pom xml 引入
  • vue-自定义指令

    自定义指令 一 定义语法 1 局部指令 new Vue new Vue directives 指令名 配置对象 或 directives 指令名 回调函数 2 全局指令 Vue directive 指令名 配置对象 或 Vue direct
  • 树莓派ARM64系统中如何设置opencv-python读取高清摄像头画面

    问题 树莓派4B 8G 2021 10 30 raspios bullseye arm64 img Linux raspberrypi 5 10 63 v8 1459 SMP PREEMPT Wed Oct 6 16 42 49 BST 2
  • 如何实现跨项目共享token

    项目场景 由于旧项目的改版变动比较大 需要新开一个项目 就需要用两个项目共享token 一 由于域名是相同的 先获取host内容 二 编写cookie 保存和获取的方法 const Cookie set name value days va
  • vim/gvim插件-verilog autodef-自动生成

    使用gvim插件效果如下 使用效果如下 总结 优点 1 这个使用效果是比emacs的auto reg和auto wire是方便且全面的 auto wire只能定义output的类型生成 2 这个插件还有AutoInstPortReAlign
  • springcache中常用的注解

    Cacheable注解 标记在 个 法上 也可以标记在 个类上缓存标注对象的返回结果 标注在 法上缓存该 法的返回值 标注在类上缓存该类所有的 法返回值 一般标注在方法上 Cacheable value product key root m
  • 高德地图AMap——setCenter与infoWindow冲突导致不能够正确的设置中心点

    前提概要 Amap添加了marker marker上有弹窗infoWindow 点击marker要求地图设置中心点为marker位置 问题 使用map setCenter 之后地图中心点并没有设置正确 原因 infoWindow默认属性au
  • Linux下安装Vue2+VueRouter2+webpack 构建项目实战

    第一步 首先 需要安装vue cil 命令如下 sudo npm install g vue cli 这个命令只需要运行一次就可以了 安装上之后 以后就不用安装了 下面 我们来用vue cil构建一个项目 首先 我们在终端中把当前目录定位到

随机推荐

  • 《王道》数据结构之查找(七)

    数据结构入门之查找 七 概述 常见术语 查找算法的评价指标 一 顺序查找 1 1 算法思想 1 2 算法实现与效率分析 1 3 算法优化的情况 1 3 1 若表中元素有序 1 3 2 若表中元素被查概率不等 二 折半查找 2 1 算法思想
  • PostgreSQL 源代码安装

    创建用户组与必需的包 groupadd postgres useradd g postgres postgres wget https ftp postgresql org pub source v13 7 postgresql 13 7
  • 解决:Elasticsearch7 按时间排序查询返回sort值为负数

    背景 最近项目中需要使用到 Elasticsearch7 用于存储数据 返回数据时默认按照数据写入时间进行排序 遇到问题 在进行排序时 查询语句返回的sort值一直为负数 返回结果也是乱的 不是按照时间排序之后的 具体截图如下 解决方法 查
  • 11张手绘图:搞定分布式系统容错架构

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 目录 TB级数据放在一台机器上 难啊 到底啥是分布式存储 那啥又是分布式存储系统呢 天哪 某台机器宕机了咋办 Master节点如何感知到数据副本消失 如何复制副本保持
  • 蓝桥杯参赛须知

    又到了一年一届的蓝桥杯比赛报名的时间 很荣幸受老师邀请于昨天早上通过腾讯会议线上给大数据专业的学弟学妹们分享蓝桥杯参赛心得 想必也会有更多初次参加蓝桥杯的同学们在寻找相关的信息 记录生活的同时我想把这份文章分享给大家 如果有这方面的疑问 欢
  • SQLServer查看及设置最大连接数(转)

    转自 https blog csdn net duanbeibei article details 86573840 很多时候自己本地开发会遇到 打开几个连接正常访问 之后就报错误 这时候需要调整sqlserver 最大连接数 1 查询最大
  • targetSdkVersion 23升级到 27所遇到的问题记录

    由于XXX原因 把APP的 targetSdkVersion升级到了27 首先第一个问题 app下载文件 自动升级 使用okhttp下载文件就抛了异常 也不知道什么原因 咱也不敢问 因此 百度 Google 查到需要添加这一句代码 OkHt
  • mcq 队列_MCQ

    mcq 队列 1 Which possible Attacks in Quantum Cryptography can take place 1 量子密码术中可能发生哪些攻击 Possible Attacks in Quantum Cryp
  • org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component c...

    解决这个报错的解决办法 org springframework beans factory BeanDefinitionStoreException Failed to read candidate component class file
  • 【Python】拯救你奇丑无比的代码的神器

    Python编程语言需要遵循PEP8规范 但是初学者往往记不住这个规范 代码写得比较丑 本文推荐几个神器来拯救奇丑无边的 python代码 一 Jupyter notebook 篇 Jupyter notebook的代码要想写得规范 推荐用
  • 【毕业设计】Stm32单片机的音乐播放器设计 - 物联网 嵌入式

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 5 部分核心代码 6 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉
  • oracle 创建表性别字段取'男'或者'女',默认为'男'

    创建表时候就定义性别字段 DEFAULT 男 定义默认为 男 CHECK约束只能从 男 女 中选择 CREATE TABLE pp ID int NAME varchar 40 SEX varchar 2 DEFAULT 男 CHECK S
  • elementUI的el-select 默认值显示value不显示label问题

    el select 默认值显示value不显示label问题 在做编辑页面时 需要取到列表项数据回显默认值 在做select回显的时候遇到了这个问题 明明拿到的值和value中的值一样 但是就是不转换成label 这种情况一般出现在valu
  • 前端link标签引入css教程

    前端link标签引入css教程 首先我们在桌面新建一个文件 我们在这个文件里分别新建个存放HTML的文件夹以及css层叠样式表格的文件夹 然后我们打开dw 在文件选项找到新建 我们新建一个HTML的的文件 然后我们将它保存在桌面刚新建存放H
  • CenOS7 缺少 br_netfilter 模块解决办法

    环境 cat etc redhat release CentOS Linux release 7 4 1708 Core 在 etc sysctl conf中添加 net bridge bridge nf call ip6tables 1
  • C++练习

    include
  • 区块链平台介绍之Blockstream

    Blockstream是业内第一家旨在扩大比特币协议层功能的公司 也就是侧链 sidechain 的扩展机制 公司的重点是允许各种创新在一个开放 可互操作的平台上发生 Blockstream两轮融资共计拿到了7600万美元 迄今为止 该公司
  • labelImg的安装及其使用注意事项

    一 安装labelImg 在低版本python的安装方法 1 新建及激活进去虚拟环境 conda create name labelImg python 3 9 conda activate labelImg 注释 新建的虚拟环境的pyth
  • 夜神模拟器adb调试频繁断开解决办法

    下载了夜神发现adb调试老是自动断开 一看是跟Android sdk的adb版本不一致导致的 只需要将你sdk路径下的adb复制到夜神安装路径替换相应的adb即可 先看看之前adb在哪 adb version Android Debug B
  • MAX10调试NIOS笔记

    之前没怎么用ALTERA的器件 最近用MAX10做嵌入式NIOS MAX10是ALTERA推出的低价FPGA 且内置FLASH 比较适合成本敏感 且要求功能又复杂的应用 1 生成SOF文件和elf文件 我用的是Quartus Prime 1