关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法
关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法
近期在评估使用NIOS II处理器进行项目的开发,我使用的软件是Quartus II 13.0的版本,一路下来,在Qsys系统中搭建NIOS II片上系统,在Quartus II中建立工程文件等等过程,没有太多的问题,这里暂且不表。只是在NIOS II Software build tools for Eclipse中进行软件开发时,一个非常让人不解的问题就是:我在工程向导中创建一个Hello World的模版工程,然后编译下载运行都没问题。然后关闭NIOS II Software build tools for Eclipse软件,再次打开时,结果就冒出一大堆错误,错误描述如下:
在alt_sys_init.c这个文件中,报错"Symbol 'NULL' could not be resolved",此报错主要集中在分配设备存储(Allocate the device storage)这一部分,例如,我的系统中报错如下所示:

提示我NULL未定义。可是NULL明明是在stddef.h这样一个标准头文件中明确定义了的,怎么还会发生这种情况呢?
另外,由于本系统中使用到了UART IP,所以系统在自动生成时也提供了对应的驱动,打开一个驱动程序"altera_avalon_uart_write.c",发现同样有报错的地方,这里主要提示:"Symbol 'O_NONBLOCK' could not be resolved",其它文件中也有类似的提示,这就让人很是纳闷了。O_NONBLOCK这个宏定义明明是在<sys/_default_fcntl.h>这个文件中定义了的,为什么总是说找不到呢?
参考网上的方法,说是需要手动添加包头文件包含路径,怀着试一试的心态,我打开了bsp工程的选项对话框(选中XXX_bsp工程,单击右键,选中properties),在打开的对话框中,切换到C/C++ general选项下的paths and Symbols选项栏,选择GUN C,在里面添加了三个路径
/hello_bsp/HAL/inc/os
/hello_bsp/HAL/inc/priv
/hello_bsp/HAL/inc/sys
如下图所示:

添加完成之后点击Apply,此时会弹出如下对话框:

点击YES即可,然后点击OK关闭设置窗口。
此时对XXX_bsp工程执行Clean操作,然后build。待build完成之后,再次打开前面提到的报错的若干文件,发现没有了报错信息,关闭NIOS II Software build tools for Eclipse软件,然后再打开,都没有再出现这种报错信息,因此问题成功解决。
反思这个问题出现的原因,应该是Altera在升级该开发环境时,对HAL/inc文件夹下原本的文件进行了重新分组,建立了三个新的文件夹os、priv、sys,将以前的文件分别存在了这三个文件夹下,而在开发环境中并未对此进行设置说明,导致出错。这里仅个人猜测,与quartus ii 9.0软件自带的nios ii ide一经对比即可知晓,小梅哥电脑上硬盘空间告急,就不去装9.0来进行对比了,希望各位熟悉9.0的筒子帮我验证一下,有不同意见的请一定记得告诉我哦。
关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法的更多相关文章
- 初次使用Quartus II 13.0的疑惑及解决方法
初次接触Quartus II 13.0,遇到了很多的问题,把问题总结如下: 1.Quartus II 13.0的安装及破解 下载地址:http://t.cn/Rh2TFcz,密码是:g3gc (参考贴 ...
- Quartus II 13.0 sp1的官方下载页面
今天为了下个ModelSim跑到网上去找下载资源,清一色的百度网盘,下载速度60k/s,简直有病,于是跑到Intel官网上把连接挖出来了,供各位直接下载 实测使用IDM多线程下载速度可以轻松上到数MB ...
- 【Android】13.0 UI开发(四)——列表控件RecyclerView的横向布局排列实现
1.0 新建项目,由于ListView的局限性,RecyclerView是一种很好取代ListView的控件,可以灵活实现多种布局. 2.0 新建项目RecyclerviewTest,目录如下: 3. ...
- 〖Linux〗Qt5.2.0+gsoap开发Android的NDK程序遇到错误的解决
1. error: cannot convert ‘int*’ to ‘hostent**’ for argument ‘5’ to.. 原因分析: 缺少的宏定义,导致使用了错误的函数原型. 被调用 ...
- mono 3.4.0 make install的时候出现"找不到 Microsoft.Portable.Common.targets 文件”的错误提示解决方法
如果在这时就进行配置安装Mono的话,会在make阶段得到一个“找不到 Microsoft.Portable.Common.targets 文件”的错误提示, 所以需要先进行如下处理: #> c ...
- 开发win8 metro monogame,显示pubcenter广告时会使游戏卡住的问题的解决方法。
开发win8 metro游戏,使用monogame,并且还加上pubcenter广告,但是在x64的机子上遇到了问题,广告一出,游戏卡死.经过一系列的判断,发现monogame一直在update和dr ...
- vue2.0动态绑定图片src属性值初始化时报错
在vue2.0中,经常会使用类似这样的语法 v-bind:src = " imgUrl "(缩写 :src = " imgUrl "),看一个案例 <te ...
- Jmeter4.0分布式测试时启动Jmeter.server时报错
最近又开始研究Jmeter,将新版本4.0下载下来体验,准备远程分布式测试,又出现一些问题,废话不多说,直入主题把! Windows 系统启动Jmeter 4.0的JmeterServer.ba ...
- android4.0以上访问网络不能在主线程中进行以及在线程中操作UI的解决方法
MONO 调用一个线程操作UI 然后报Only the original thread that created a view hierarchy can touch its views.错误 goo ...
随机推荐
- winston 日志管理4
配置File Transport winston.add(winston.transports.File, options) The File transport should really be t ...
- mysql 操作日期函数【增加,减少时间】
详情链接:http://www.runoob.com/sql/func-date-add.html 定义和用法 DATE_ADD() 函数向日期添加指定的时间间隔. DATE_ADD(date,INT ...
- 5、JavaScript进阶篇②——函数、事件、内置对象
一.函数 1. 什么是函数 函数的作用,可以写一次代码,然后反复地重用这个代码. 如:我们要完成多组数和的功能. var sum; sum = 3+2; alert(sum); sum=7+8 ; a ...
- RTOS
1. http://www.nuttx.org/ 2. http://www.rt-thread.org/page/73.html
- ASP.NET MVC Filter
http://stackoverflow.com/questions/6940371/asp-net-mvc-request-filters http://afana.me/post/aspnet-m ...
- pptp记录用户登陆日志
pptp vpn记录用户登录和流量信息(转) 这个问题困扰了我很久,终于在pppd的man文档里,发现了踪迹.在man中的SCRIPTS下有一系列的参数,其中PEERNAME就是登陆的用户名,并且在/ ...
- Ajax.ActionLink()方法的使用
第一句话都会这么去写:程序猿就是苦逼,除了开发还要会写博文!哎,今天就和大家一起讨论下Ajax的辅助方法ActionLink的使用,如果有讲的不好的地方或错的地方,请大家务必扔板砖,要投准哦,砸死我算 ...
- Rman备份的保留策略(retention policy)
什么是备份的保留策略(retention policy) 保留策略就是指某份备份是否要保留以及保留多久.可以使用configure retention policy命令来创建一个一致的.自动的备份保留 ...
- ios 获取崩溃日志
虽然有了try catch异常捕获,但是还是存在崩溃异常无法捕获到的.我可以通过下面的方式来获取崩溃日志: - (BOOL)application:(UIApplication *)applicati ...
- Linux内核源码分析方法
一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都 ...