关于nios II 11.0的学习心得 自学的费劲 希望大虾指教
自学nios II 11.0 比较费劲 遇到问题在网上搜索都没有几篇文章 只好自己摸索最近发现在编译时出现函数未定义的错误 折腾了一天半终于知道初步的解决方法了 具体原因还是不知道 我把过程贴出来 希望有高人能解释一下
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655660YSHST4.jpg
(原文件名:1.jpg)
拿一个简单的例子来说
出现不能编译函数,不是头文件读取有错误
我摸索试验了好久,终于发现,是编译后如果移动了包含本身的函数的.c文件,而无法读取
就拿黑金开发板的lcd的例子来说
首先建立一个hello world为模板的工程
文件结构如图
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655661TS0HB6.jpg
(原文件名:2.jpg)
将hello_lcd.c改名为 main.c
编译后 文件结构
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655662CXDBBT.jpg
(原文件名:3.jpg)
现在我直接将需要的c文件和h文件都添加到主文件夹目录下,编译没问题
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655663H94NPM.jpg
(原文件名:4.jpg)
文件内容就是lcd例程中的代码
只是将../inc/sopc.h 改为了 sopc.h
将../inc/lcd.h 改为了lcd.h
编译通过 没有问题
如果我将两个.h文件挪个位置,因为我看到模板中把头文件都放在了xxx/drivers/inc/文件中
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655664IDCZ6B.jpg
(原文件名:5.jpg)
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655665DDF16T.jpg
(原文件名:6.jpg)
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655666SUI8RI.jpg
(原文件名:7.jpg)
这样编译都是没有问题的
经过观察发现主文件夹下有这个东西
包含了下面xxx/bsp/drivers/inc
所以我在main中直接#include “lcd.h”也是可以的,不用再次找路径
我想应该是这个原因吧
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655675HXZIN3.jpg
(原文件名:8.jpg)
但是接下来问题出现了
我吧lcd.c文件如果挪个地方呢? 因为我看到对应的c文件都放在了这个里面,我把lcd.c也放进来后,再次编译,问题出现
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655669MPRMMP.jpg
(原文件名:9.jpg)
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655670FPKJAT.jpg
(原文件名:10.jpg)
再次挪回去后编译,问题依然存在,奇怪了,只是文件的移动,而且出问题之后移动到了原来的地方,再次编译却依然出问题
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655672G25IZO.jpg
(原文件名:11.jpg)
执行clean命令,再次编译,依然错误
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655673YZO2IE.jpg
(原文件名:12.jpg)
但是当我删除lcd.c后,编译,再次新建一个lcd.c,编译,问题便没有了
删除后必须编译,再次添加再编译问题才能解决,删除后如果不编译就添加了。C文件 问题依然存在
根据发现的这个特点,我试验了别的文件夹,都不能放进。C文件
只能放在main所在的那个主文件夹 hello_lcd 而不能放在 hello_lcd_bsp里面的任何一个文件夹
在hello_lcd中建立任意文件夹,将。C文件放进去也可以编译通过
编译的这个问题折腾了我一天半时间,不知道将.c文件移动后,再移动回去编译不通过算不算bug,还是我的文件本身就放的有问题,希望高手予以指正
不知道坛子里有多少用nios 11.0的 希望我们可以一起讨论一下
最后我想弱弱的问个问题 : 怎么在11.0中将程序直接下载到芯片里 我试了好几次都没有成功 具体怎么弄希望能有人帮我一下 http://www.cnblogs.com/yuphone/category/276816.html
NII SBTE和MDK的文件路径设置类似,熟悉了就很少错误喽。俺的水博跟你参考。
还有一点需要告诉你。11.0的JTAG驱动有问题。
http://www.cnblogs.com/yuphone/archive/2011/06/25/2090456.html 回复【1楼】yuphone.COM 缺氧®
-----------------------------------------------------------------------
jtag我试了可以的 但是怎么下载代码到芯片呢? 你们搭工程从来不设置头文件搜索路径的? 我也正在学习呢 我的也是11.0版的,nios死活也不能将程序下载到芯片去,但是直接用VHDL写的程序又能下载进去,快要崩溃,现在正在寻找9.0版的软件,无奈9.0的软件怎么也装不上 关注 我也遇到了 这个问题,也知道要设置路劲,但是就是没有找到在哪里设置。悲催 M.lee 发表于 2012-9-5 21:42 static/image/common/back.gif
我也遇到了 这个问题,也知道要设置路劲,但是就是没有找到在哪里设置。悲催 ...
2楼的博客有一篇说明
见:http://www.cnblogs.com/yuphone/archive/2010/12/18/1909822.html huatong 发表于 2012-9-5 23:16 static/image/common/back.gif
2楼的博客有一篇说明
见:http://www.cnblogs.com/yuphone/archive/2010/12/18/1909822.html
嗯 谢谢你,,问题已经解决了。 无数次的失败教训,让我不得不用9.0,发现至今是为止最好用的{:cry:}
页:
[1]