2014-11-24 18:02:02 u011762993 阅读数 1972


        今天不小心把Project Explore界面窗口关掉了,后来想使用BSP Editor,通过菜单栏进入BSP Editor一片空白,无法正常加载。然后就郁闷了,最后好不容易找到了,以此作为教训和备注!找回方法如下:

点击菜单栏“Window”->Show View->选择Others...-> 再选择Project Explore即可:

如果Project Explore是浮动的,那么再对左下角 Project Explore这个图标单击右键,去掉Fast View 那个小勾就OK了 ,找了好半天!就是浪费时间……

2014-06-12 10:57:49 Qrchan 阅读数 2112
1、Nios II IDE即Nios II Integrated Development Environment(Nios II 集成开发环境),Altera网站是这样介绍的:
http://www.altera.com.cn/products/software/products/nios2/emb-nios2_ide.html

Nios II集成开发环境(IDE)是Nios II系列嵌入式处理器的基本软件开发工具。所有软件开发任务都可以Nios II IDE下完成,包括编辑、编译和调试程序。Nios II IDE提供了一 个统一的开发平台,用于所有Nios II处理器系统。仅仅通过一台PC机、一片Altera的FPGA以及一根JTAG下载电缆,软件开发人员就能够往Nios II 处理器系统写入程序以及 和Nios II处理器系统进行通讯。Nios II IDE为软件开发提供四个主要的功能:

  • 工程管理器
  • 编辑器和编译器
  • 调试器
  • 闪存编程器

Nios II IDE基于开放式的、可扩展Eclipse IDE project工程以及Eclipse C/C++ 开发工具(CDT)工程。


2、Nios II SBT for Eclipse即Nios II Software Build Tools for Eclipse(为Eclipse提供的Nios II软件构建工具)。Altera网站是这样介绍的:
http://www.altera.com.cn/devices/processor/nios2/tools/ide/ni2-ide.html

为Eclipse提供的Nios® II 软件构建工具(SBT)是Nios II 软件开发任务的一个集成开发环境,包括程序编辑、构建和调试。为Eclipse提供的Nios II 软件构建工具是Nios II IDE的下一代工具。Nios II IDE会作为老版工具(Legacy Tool)继续发售。Nios II SBT关键特性:

  • 新工程向导和软件模板
  • C和C++编译器(GNU)
  • 源代码浏览器、编辑器和调试器
  • 基于Eclipse工程的工具
  • 软件构建工具

3、版本说明 :Nios II IDE是传统的(Legacy)Nios II软件开发工具,Nios II SBT for Eclipse是Quartus II 7.0版本以后新推出的、功能更强的Nios II软件开发工具(这有点类 似Nios II的硬 件开发工具SOPC Builder和Qsys,后者是10.0版本才推出的)。两者都属于 Nios II EDS(Embedded Design Suite)。 但从10.0版本开始,Nios II EDS推 荐使用Nios II SBT for Eclipse,因此安装Nios II EDS后只带有Nios II SBT for Eclipse,Nios II IDE必须单独下载安装。


4、Nios II硬件开发如果是使用SOPC Builder7.0以前版本生成的,其软件开发只能使用NiosII IDE,如要使用Nios II SBT for Eclipse,其硬件必须使用高版本SOPC Builder或 Qsys(10.0版本开始才有)升级后才可以,即工程中必须要有硬件信息文件*.sopcinfo。


5、Nios II IDE中新建软件工程使用“File –> New -> Nios II C/C++ application”,工程存放目录一般为“../software”,使用SOPC Builder生成的*.ptf硬件信息,工程生 成后会在此目录下生成2个目录:1个是“**”,1个是“**_syslib”(其中“**”是工程名,下同);Nios II SBT for Eclipse则使用“File -> New -> NIOS application and BSP from template” ,工程存放目录一般为“../workspace”,使用SOPC Builder或Qsys生成的*. sopcinfo硬件信息,工程生成后会在此目录下生成2个目 录:1个是“**”,1个是“**_bsp”。


6、Nios II EDS中有个工具“nios2-convert-ide2sbt”可以将Nios II IDE工程转换为Nios II SBT for Eclipse工程,具体转换方法可参见“Porting Nios II IDE Projects to the Software Build Tools inAppendix A. Using the Nios II Integrated Development Environment in the Nios II Software Developer’s Handbook.”。


7、使用Quartus II时,有时候出于备份的考虑,或者从网上下载别人的硬件工程, 硬件工程目录会改变,使用Import导入Nios II工程后会导致找不到Quartus II工程中与硬件信 息相关的文件*.ptf 或 *.sopcinfo,从而不能进行下一步软件开发。

一种比较繁琐的方法是新建一个Nios II工程,然后将原始的Nios II工程源文件添加到这个新工程中。

另一比较简易的方法是修改工程中配置文件与硬件相关的内容即可,Nios II IDE工程要修改的文件是system.ptf,找到包含“*.ptf”(一般是nios_system.ptf)的行,将 其存放目录改为Quartus II工程当前目录即可;Nios II SBT for Eclipse工程则修改settings.bsp,找到包含硬件信息(*.sopcinfo)的行,修改目录即可。



2008-04-08 15:47:00 wangjun_pfc 阅读数 1911
        Nios II集成开发环境(IDE)是Nios II系列嵌入式处理器的基本软件开发工具。所有软件开发任务都可以Nios II IDE下完成,包括编辑、编译和调试程序。Nios II IDE提供了一个统一的开发平台,用于所有Nios II处理器系统。仅仅通过一台PC机、一片Altera的FPGA以及一根JTAG下载电缆,软件开发人员就能够往Nios II 处理器系统写入程序以及和Nios II处理器系统进行通讯。

Nios II IDE基于开放式的、可扩展Eclipse IDE project工程以及Eclipse C/C++ 开发工具(CDT)工程。

Nios II IDE为软件开发提供四个主要的功能:
(1)工程管理器
Nios II IDE提供多个工程管理任务,加快嵌入式应用程序的开发进度。
新工程向导 ——Nios II IDE推出了一个新工程向导,用于自动建立C/C++应用程序工程和系统库工程。采用新工程向导,能够轻松地在Nios II IDE中创建新工程。
软件工程模板——除了工程创建向导,Nios II IDE还以工程模板的形式提供了软件代码实例,帮助软件工程师尽可能快速地推出可运行的系统。

(2)编辑器和编译器
Altera Nios II IDE提供了一个全功能的源代码编辑器和C/C++编译器
文本编辑器——Nios II IDE文本编辑器是一个成熟的全功能源文件编辑器。这些功能包括:语法高亮显示 - C/C++、代码辅助/代码协助完成、全面的搜索工具、文件管理、广泛的在线帮助主题和教程、引入辅助、快速定位自动纠错、内置调试功能。
C/C++编译器——Nios II IDE为GCC编译器提供了一个图形化用户界面,Nios II IDE编译环境使设计Altera的Nios II处理器软件更容易,它提供了一个易用的按钮式流程,同时允许开发人员手工设置高级编译选项。
Nios II IDE编译环境自动地生成一个基于用户特定系统配置(SOPC Builder生成的PTF文件)的makefile。Nios II IDE中编译/链接设置的任何改变都会自动映射到这个自动生成的makefile中。这些设置可包括生成存储器初始化文件(MIF)的选项、闪存内容、仿真器初始化文件(DAT/HEX)以及profile总结文件的相关选项。

(3)调试器
Nios II IDE包含一个强大的、在GNU调试器基础之上的软件调试器-GDB。该调试器提供了许多基本调试功能,以及一些在低成本处理器开发套件中不会经常用到的高级调试功能。
基本调试功能——Nios II IDE调试器包含如下的基本调试功能:运行控制、调用堆栈查看、软件断点、反汇编代码查看、调试信息查看、指令集仿真器。
高级调试 ——除了上述基本调试功能之外,Nios II IDE调试器还支持以下高级调试功能:硬件断点调试ROM或闪存中的代码、数据触发、指令跟踪。

(4)闪存编程器
使用Nios II处理器的设计都在单板上采用了闪存,可以用来存储FPGA配置数据和/或Nios II编程数据。Nios II IDE提供了一个方便的闪存编程方法。任何连接到FPGA的兼容通用闪存接口(CFI)的闪存器件都可以通过Nios II IDE闪存编程器来烧结。除CFI闪存之外,Nios II IDE闪存编程器能够对连接到FPGA的任何Altera串行配置器件进行编程。
 
2017-01-05 11:22:24 shimmy_lee 阅读数 1119

1.hello world 试验后做led实验,在QSYS内修改了nios 内核,进入软件环境nios ii SBT Eclipse,bulid project时三个报错,其中一个是Description Resource Path Location Type make: *** [public.mk] Error 1 hello_...,网上说右键bsp文件夹,nios> generating bsp可以解决。仅执行这个操作,还会留下一个,应先将bsp文件夹(或者两个文件夹都)右键clean project,然后nios> generating bsp,然后再build project,就没有报错了,编译成功。

2.qsys 内搭建片上系统时,nios的instruction master一般情况下只要连接到内存类组件(on-chip ram ,ddr ,flash等)的slave端口。其他的slave端口只需连接nios的data master即可。

3.qsys改动,重新generate后,对应的软件工程eclipse里,最好对软件文件夹和对应的bsp文件夹clean project,然后对bsp重新generate bsp,然后再build all(ctrl +b).

4.eclipse中,f5 step into,程序一步一步运行,会进入子函数内部。f6 step over,程序一行一行运行。f7运行完子函数,跳回到调用他的上一级函数。

5.主程序c文件中,编译时报错symbol xx could not be resolved.原因是该头文件未被更新。可选中软件工程及其bsp文件夹,右键->index->fresh all files更新所有文件,报错一般会消除。

6.在nios->bsp editor->linker script中,若有堆栈安排在ddr中,则应对ddr做offset,避开堆栈的地址空间,否则对ddr的读写操作可能干涉堆栈,造成程序运行异常,跑飞。

7.debug或run as nios hardware时,报错 system id hash 或者timestamp不一致,可能的原因有以下几个:1.文件或者工作空间(workspace)打开不对,导致文件不匹配。2.时钟或者复位信号有问题(时钟未lock或者reset一直处于复位状态)3.quartus工程内,unsigned pin未设置输入三态。4无外部复位引脚接入(该条存疑)

8.自定义IP核封装后(比如工程名叫test_prj),可以在其test_prj_hw.tcl中快速修改封装。引用他人的IP也可用此方法:将IP的.v(加密或者不加密均可)文件或者网表文件和xx_hw.tcl加到自己的工程中,和.sopcinfo文件同级,该路径是IP文件夹的默认路径。(若放在其他路径下,可在qsys,tool->option,add ip repo...将别人IP的路径添加进来)

9.如何调用他人网表形式的IP核?自己如何产生网表文件?project -> export design partition,选中top.v模块,生成网表qxp文件。在引用他人封装的IP时,需将该IP的.qxp文件.top.v文件,hw_tcl文件一起加入工程(注意修改hw.tcl文件中top.v的路径)。打开qsys后,可自动发现该IP。在全编译之前,需要将nios内核文件夹下synthesis->submodule文件夹下雨qxp对应的top.v文件,否则可能会报错。

10.在封装IP时,add file 步骤中,建议只添加一个IP 的top.v文件。

11.qsys中,CPU主端口读写ddr从端口,一般情况下,这两个IP核工作的时钟域不同(ddr usr clock250MHz甚至更高,nios是跑不了这么高的),连接这两个主从端口时,建议手动添加跨时钟域桥接组件,可提高系统的时序表现。(不手动添加,工具本身也会自动添加的,但是参数都是默认的,不一定最优)

12.时钟引脚的电平设置不对,可能导致pll无法锁定。

13.on-chip ram初始化文件hex,不必重新编译整个工程,那样耗时太长。可以将需要初始化的hex文件加入工程中,processing->uodate memory initialization file,quartus会识别hex文件,然后点击左侧task工具框内的assembler,重新生成sof文件等,hex文件就被编译进sof内,上电后,onchip ram就会被初始化,可能是某个boot loader软件程序等,即可在ram上自动运行该程序。

 

没有更多推荐了,返回首页