1.问题描述
有时候编译Nios II SBTE工程,就会出现莫名其妙的警告。例如下面的警告:
解决方法
方法1 重建工程法
此法较为愚笨,不推荐使用。
重新建立一个带BSP模板的Nios II SBTE Application Project;将源码拷贝至新的APP工程内;右键APP工程的Properties,将源码路径添加到APP路径中;重新编译,一般情况下即可OK。
说点题外话,Nios II这个Application Path的添加每次只能选一个文件夹,非常令人发指。拜托学学MDK。以前的Nios II IDE是基于cygwin虚拟机的,慢得要死;现在从良了,换eclipce+gcc了,拜托Altera公司能把Nios II EDS做得人性化点,不要总学得不伦不类。
方法2 修改Makefile法
此法甚好,强烈建议掌握并能举一反三
打开APP工程内的Makefile,寻找C_SRCS关键字,没有的话自己手动加入。
1
2
3
4
|
# Paths to C, C++, and assembly source files.
C_SRCS += src/debug/debug.c
CXX_SRCS :=
ASM_SRCS :=
|
注意到问题描述中是undefined reference to `main' ,那我们就手动把main.c的路径加进去。
1
2
3
4
5
|
# Paths to C, C++, and assembly source files.
C_SRCS += src/debug/debug.c
C_SRCS += src/main.c
CXX_SRCS :=
ASM_SRCS :=
|
Refresh一下APP工程,重新编译,警告将不复存在。
来自:http://www.cnblogs.com/yuphone/archive/2010/12/29/1920497.html
2.Quartus “Error: Project too complex: hierarchy path is too long ”解决办法
在我们使用sopc builder 建立nios系统的时候,Quartus (9.1)编译时,如果出现下面的错误:
错误可能是由于在建立nois最终系统时,有一些外设的名字有问题,比如,你添加了一个sdram,如果你的sdram的名字也是“sdram”的话,就会
出现这个问题;再如,你的一个pio的外设名字为led,而你Quartus工程的名字(顶层名字)也是led的话,也会出现这个问题。解决办法是,给你的外设都起一个非系统默认的名字。
来自:http://www.cnblogs.com/hclmcu/archive/2010/09/10/1823693.html
3.
The system console model is invalid.Cannot Launch
这是niosii 12中出现的问题解决办法 :
1.重新生成一遍nios的bsp。
2.查看sdram引脚配置,尤其是时钟引脚
3.查看系统时钟是否起作用。尤其注意pll的复位脚高低电平是否正确
在写应用 程序时,如果打不到某些自已加的头文件 ,可以以bsp所在目录为根路径,直接在include中指明相对路径
如/drivers/include/mypwm.h