Quartus 调试中的Nios 程序

FPGA的程序通常包含硬件和软件两部分。正常情况下调试需要分别进行下载,过程繁琐。

为了将Nios II的软件程序包含到.sof文件中方便调试,可以在SOPC Builder中的RAM初始化为Nios 中的应用程序,在早先的版本中onchip_mem.hex都是自动生成的,并且每次编译Nios 程序的时候都会自动更新。但是最近Nios II EDS 12.0中,此初始化文件需要手工更新,方法如下:

project--->make target--->build--->build.

其间容易出现的错误:

Title

Error: mem_init.mk:220 *** multiple target patterns. Stop.

Description

You may see this error on Nios® II SBT for Eclipse by "make" tool with mem_init.mk when turning on "Enable non-default initialization file" and setting characters in "User created initialization file" column including colon ':' character, such as "D:\altera\myboot", on On-Chip Memory's Component Editor in SOPC Builder or Qsys.

To prevent this error, the file name must not include colon ':' character in "User created initialization file" column,  for example, by managing the initialization file ("my_init_file_name.hex") at Quartus® II project directory and filling just "my_init_file_name" in the column.

升级到13.0之后的mem_init文件又发生了变化,altera产品思路着实让人捉摸不透。

RAM初始化文件的产生过程

I follow the steps to create memory initialization files in the Nios II Software Developer's Handbook.
1. Right-click the application project.
2. Point to Make targets and click Build to open the Make Targets dialog box.
3. Select mem_init_generate.
4. Click Build.
5. Add the .qip (meminit.qip) file to the Quartus II project.

需要注意的一点是,如果添加了Uart Jtag可能导致Nios被挂起,导致初始化中出现问题,详细参照:

http://www.alteraforum.com/forum/archive/index.php/t-43194.html

原文地址:https://www.cnblogs.com/zhongzhe/p/3147538.html