MAX10调试NIOS笔记

之前没怎么用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中,此次不再赘述如何烧写。
  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Nios II是一个基于Intel FPGA的嵌入式处理器架构。在Eclipse中进行Nios II开发时,可以使用一些快捷键来提高效率。例如,引用中提到的Ctrl O可以查看一个类的纲要,列出其方法和成员变量。Ctrl T可以查看一个类的继承关系树,从顶部到底部显示。Alt + 左右方向键可以在代码中进行前进和后退,类似于浏览器的前进和后退按钮。Ctrl Alt H可以查看一个方法被哪些其他方法调用,产生一个调用关系树。Ctrl J可以进行正向增量查找,快速定位到某个单词。这些快捷键可以在Eclipse中提高Nios II开发的效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [NIOS II Eclipse出现fatal error - cygheap base mismatch detected](https://blog.csdn.net/ZLK1214/article/details/115017373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [NIOS II - Eclipse - Operation - 快捷键](https://blog.csdn.net/qq_25144391/article/details/89399519)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值