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

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

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

MAX10调试NIOS笔记

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

MAX10调试NIOS笔记

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

MAX10调试NIOS笔记

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

完成之后,打开NIOS软件。

MAX10调试NIOS笔记

设置工作目录。

MAX10调试NIOS笔记

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

MAX10调试NIOS笔记

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

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

MAX10调试NIOS笔记

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

MAX10调试NIOS笔记

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

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

2、NIOS中FLASH相关配置

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

NIOS配置

MAX10调试NIOS笔记

RAM配置

MAX10调试NIOS笔记

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

MAX10调试NIOS笔记

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

MAX10调试NIOS笔记


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

3.1  生成C代码的HEX文件

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

MAX10调试NIOS笔记

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

MAX10调试NIOS笔记

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

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

MAX10调试NIOS笔记

3.2 合并SOF文件和HEX文件

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

MAX10调试NIOS笔记

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

MAX10调试NIOS笔记

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

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

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

MAX10调试NIOS笔记

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

MAX10调试NIOS笔记

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

MAX10调试NIOS笔记

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

MAX10调试NIOS笔记

最后将POF文件烧写到MAX10中,此次不再赘述如何烧写。

相关文章:

  • 2021-10-31
  • 2021-10-01
  • 2021-07-24
  • 2021-11-06
  • 2021-09-27
  • 2021-03-27
  • 2021-09-20
  • 2021-04-17
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2021-11-27
  • 2021-05-04
  • 2021-08-23
相关资源
相似解决方案