[原创]使用 NIOS 创建软核工程
本文主要介绍基于 Quartus + NIOS II 使用软核时如何创建软核工程并进行配置,最后可以生成 ELF 可下载文件,进行下载调试。
打开 NIOS II 软件
- 在开始菜单中选中 NIOS 程序,然后单击打开。
- 自定义配置好路径,在这里我配置为桌面上的 SW 文件夹。
创建 Hello 例程
- 点击
File->New->Nios II App.. and BSP from ..
创建一个新的工程。
-
选择 SOPC 文件路径,此文件位于 Quartus 工程中 MIOS IP 核文件夹下。
[4](https://airbird-1252162485.cos.ap-shanghai.myqcloud.com/20180606-nios-config-prj-properties .png)
-
输入工程文件名,本文中键入
BDM
为例。 -
注意不勾选
Use default location
选项,点击右侧...
按钮选择合适的路径,这样做的目的是将Quartus和NIOS的工程分开管理。 -
在下方选择
Hello World
默认工程后,点击Next
进入下一个页面。 -
保持默认信息即可,确认无误后点击
Finish
完成此部分操作。
- 完成后的界面可以看到左侧有了相关的信息,然后双击
hello_world.c
可以在中心区域看到代码部分。
补充完善代码
- 如果只运行 Hello 的 DEMO 程序,无其他代码,直接进入下一大步骤。
- 将代码以及头文件准备好,在此约定源文件置于 src 文件夹中,头文件置于 inc 文件夹中。
- 将两个文件夹拷贝到工程文件夹下,在本实例中为
BDM
文件夹。
- 在NIOS软件中左侧栏选择
Refresh
进行刷新。可以看到刚才拷贝的文件夹已经在列表中了。
- 在工程
BDM
上选中右键右键 -->> New -->> Source Folder
,分别添加名为inc
和src
的文件夹。
- 如果
src
中有程序包含main
函数,那么需要删去hello_world.c
文件。
配置 BSP Editor
- 在左边列表中选择bsp工程,然后
右键 -->> NIOS II -->> BSP Editor
,打开编辑框。
- 根须需要进行选择,从上向下第一个框中的
jtag
或none
表示是否启用 JTAG 模式,在调试时启用,运行Release
版本时选择none
。勾选enable_small_c_lib...
的选项,然后将exception_stack_size
设置为 10240。最后点击Generate
运行生成即可。
配置include路径
- 选择含有
main
函数的C文件打开,在本实例中是BDM.c
。 - 在菜单栏选择
Project->Properties
打开属性配置。
- 选择
C/C++ General->Paths and ...
,然后在右侧空白区添加工作区或文件系统。主要为两个 Workspace 和三个 inc 路径。
- 选择
Nios II App...->Nios II App... Paths
,在其中 include dir 区域添加三个inc
文件夹的路径。
- 添加完成后点击
OK
完成此部分配置。
编译工程
-
直接在菜单栏选择
Project -->> Build All
或者键盘Ctrl + B
编译全工程。 -
如果出错,可以将错误选中,然后右键将其手动删除,在左侧选中工程然后
右键 -->> Index -->> Rebuild
,再编译几次尝试。NIOS II 会有些小 BUG。如果是都按照上述操作处理了,是可以正常编译通过无 Error 的。
配置并下载
- 在工程上
右键 -->> Run As -->> Nios II Hardware
或者在快捷栏选择进入下载配置界面。
- 选择
Target Connection
子标签界面,然后如果有使用 USB-Blaster 连接到上电的电路板,点击Refresh Connection
刷新链接,然后勾选下方的两个Ignore
按钮,将会看到下方Run
按钮可以点击,最后点击执行即可。