[此贴子已经被作者于2008-5-23 0:11:42编辑过]
烦请版主大人指点一下拉,遇到这个问题真是郁闷死了。难道必须要把使用串口输出的程序存到flash中才行吗????
楼主,如果你把标准输入输出口设置为uart的话,那肯定会占用你的com端口。比较好的做法就是用jtag_uart作为标注输入输出端口,这样可以利用编程控制uart和PC的串口通信。
至于你说的你的系统构建有jtag_uart,但是IDE里面没有这个选项,楼主仔细查一下,一般来说不会出现这样的问题。
“至于你说的你的系统构建有jtag_uart,但是IDE里面没有这个选项,楼主仔细查一下,一般来说不会出现这样的问题。”
版主说的对,我在sopc中将jtag_uart与cpu的data master相连了,编译后在IDE中终于有了JTAG_UART选项。
"比较好的做法就是用jtag_uart作为标注输入输出端口,这样可以利用编程控制uart和PC的串口通信。"
版主的意思是说,用jtag_uart来辅助调试pc与uart的通信了?比如把发往uart的信息同时也发往jtag_uart喽?有道理,但最后验证pc的com端是否能收到数据时就只能把程序烧到flash中运行了吧??
[em04][em04]1、jtag_uart是配合console窗口来辅助调试的,在系统属性中把输入输出流重定向到uart目的是为了能让printf等函数能直接使用,如果改为jtag_uart,则printf等函数显示的内容会在console中显示。在调试的时候可以定向到jtag_uart,调试成功之后重定向为uart就可以直接使用了。
2、要把发往uart信息同时发给jtag_uart,要使用指针,因为在系统属性中重定向对象只能选一个。
3、不是必要的,如果选择的调试等级支持running on Hardware,不烧入flash也是可行的
有不对之处请各位指正
[em01][em01][em01]2.版主是指用FILE *fp
fp=fopen("dev/uart")这个命令吧?
3.如果只是running on hardware的话,用串口助手接收时肯定会报com1被占用的!!(我遇到过这种情况)而且现在最担心的是就算把程序烧到flash来运行,在用串口助手接收时还会报com1占用,那样的话把数据通过uart口输出还有什么意义。。。。
肯请版主指点
[em08]我有一个解决方法,也是朋友介绍的。
步骤:
一:在你库属性设置输入输出为UART
二:你先运行NIOS程序
三:打三任务管理器,关掉SH—TERMIANL 不知道打错了没,反正就是NIOS那个终端进程。
四:打开串口调试工具,进行你的实验。
如有不明白,欢迎交流!!
[此贴子已经被作者于2008-5-31 21:40:45编辑过]
感谢楼上的方法,终于能看到信息了,裸奔中。。。。
[em51]今天又遇到了一个奇怪的问题,在自己的nios核里运行helloworld的示例工程时,以uart作为标准的输入输出时,却在niosIDE的console中看到了helloworld,然后,按照版主的方法,在串口助手中也看到了helloworld(我用了while循环不断输出hello),为什么在console中能看到向uart输出的信息呢????
p.s.我重新编译了另外几个niosII的核,结果都不能在console中看到向uart的输出信息,同时用版主的方法也无法在串口助手中看到向uart输出的信息,真是怪了。。。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |