搜索
bottom↓
回复: 15

关于nios中printf的问题

[复制链接]

出0入0汤圆

发表于 2010-10-14 16:38:57 | 显示全部楼层 |阅读模式
最近在调程序才发现:在nios中,有printf的程序,在线调试没有什么问题,但是下到flash里面,程序跑了一段时间就死掉了!
一直想不通这一问题!
不解!!有哪个大虾曾经碰到这一问题的,或者知道原因的,请求解答一下,在下不胜感激!!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2010-10-14 16:42:37 | 显示全部楼层
网上一搜,
发现也有人出现类似的问题,
但是没有提到是什么问题

出0入0汤圆

发表于 2010-10-14 21:35:57 | 显示全部楼层
nios却实有很多不同寻常之处,有很多都和相像的不一样,比如usleep()的延时就很没规则。
不过你下载到板子里面去了就没必要用printf啊

出0入0汤圆

发表于 2010-10-14 22:36:40 | 显示全部楼层
回复【楼主位】jiangjx  
最近在调程序才发现:在nios中,有printf的程序,在线调试没有什么问题,但是下到flash里面,程序跑了一段时间就死掉了!
一直想不通这一问题!
不解!!有哪个大虾曾经碰到这一问题的,或者知道原因的,请求解答一下,在下不胜感激!!

-----------------------------------------------------------------------

肯定的啊, jtag_uart有buffer的, 你不插着调试器, jtag_uart输出到buffer满掉后cpu就halt住了。

出0入0汤圆

发表于 2010-10-14 22:41:20 | 显示全部楼层
回复【2楼】yangshuhe33  
nios却实有很多不同寻常之处,有很多都和相像的不一样,比如usleep()的延时就很没规则。
不过你下载到板子里面去了就没必要用printf啊
-----------------------------------------------------------------------

usleep() 没有规律? 啥意思
我知道如果你的cpu选择最小的那个的话, usleep()会变得不太准, 但是其它两个都是可以的。
而且精确定时, 应用软核的timer或者自己用HDL写一个模块

出0入0汤圆

发表于 2010-10-14 22:52:31 | 显示全部楼层
回复【3楼】marco.ma  
-----------------------------------------------------------------------
肯定的啊, jtag_uart有buffer的, 你不插着调试器, jtag_uart输出到buffer满掉后cpu就halt住了。

这个解释到位。

出0入0汤圆

 楼主| 发表于 2010-10-14 22:53:44 | 显示全部楼层
回复【3楼】marco.ma
-----------------------------------------------------------------------

我是插着调试器的啊

出0入0汤圆

 楼主| 发表于 2010-10-14 22:54:42 | 显示全部楼层
回复【2楼】yangshuhe33
nios却实有很多不同寻常之处,有很多都和相像的不一样,比如usleep()的延时就很没规则。
不过你下载到板子里面去了就没必要用printf啊
-----------------------------------------------------------------------

是的,我只是想搞清楚是什么问题导致的

出0入0汤圆

发表于 2010-10-14 22:55:21 | 显示全部楼层
回复【4楼】marco.ma
-----------------------------------------------------------------------

http://www.vvcha.cn/c.aspx?id=194837

出0入0汤圆

 楼主| 发表于 2010-10-14 22:55:53 | 显示全部楼层
回复【5楼】yuphone .COM 缺氧®
回复【3楼】marco.ma   
-----------------------------------------------------------------------
肯定的啊, jtag_uart有buffer的, 你不插着调试器, jtag_uart输出到buffer满掉后cpu就halt住了。
这个解释到位。

-----------------------------------------------------------------------

我绝对是插着调试器的

出0入0汤圆

发表于 2010-10-15 09:11:35 | 显示全部楼层
回复【9楼】jiangjx  
回复【5楼】yuphone .com 缺氧®
回复【3楼】marco.ma   
-----------------------------------------------------------------------
肯定的啊, jtag_uart有buffer的, 你不插着调试器, jtag_uart输出到buffer满掉后cpu就halt住了。
这个解释到位。
-----------------------------------------------------------------------
我绝对是插着调试器的
-----------------------------------------------------------------------

你插着jtag, 同时有看到调试信息不断打印出来吗? 还是仅仅物理上插着而已?

出0入0汤圆

 楼主| 发表于 2010-10-15 16:11:14 | 显示全部楼层
回复【10楼】marco.ma
-----------------------------------------------------------------------

没看到有打印出来数据 ,我是插着调试器的
请问你说的插着调试器 是什么意思呢?

出0入0汤圆

发表于 2010-10-15 16:26:33 | 显示全部楼层
回复【8楼】yangshuhe33  
-----------------------------------------------------------------------

这个网站真是的,淡淡(韩彬)写的东西,他转载过去也不注明出处。

出0入0汤圆

发表于 2010-10-15 16:48:53 | 显示全部楼层
将输出映射到UART上面就好了
JTAG_UART是阻塞式输出,他只是将数据输出到buffer中,等待你上位机读取,当你的buffer满了之后就会停止cpu。所以在调试模式下面可以正常运行,因为nios2IDE会读取buffer里面的值。
UART是不管你有没有接受,都会一直发送数据的。不会阻塞CPU。
当你下载到flash里面运行需要改为UART输出信息。

出0入0汤圆

发表于 2010-10-15 20:18:19 | 显示全部楼层
回复【11楼】jiangjx  
回复【10楼】marco.ma
-----------------------------------------------------------------------
没看到有打印出来数据 ,我是插着调试器的
请问你说的插着调试器 是什么意思呢?
-----------------------------------------------------------------------

当然是说要用nios2-terminal 不停读取jtag-uart的输出才可以。 如果只是物理上插着jtag, 没有用jtag程序看结果, 效果一样。

楼上说的对, 你可以将标准输出设备改成uart, 或者null, 就没有这问题了。

出0入0汤圆

 楼主| 发表于 2010-10-18 10:02:58 | 显示全部楼层
回复【14楼】marco.ma
-----------------------------------------------------------------------

原来如此,
要用nios2-terminal 不停读取jtag-uart的输出 该如何来操作呢?
哪里有说明文档呢?  
怎么在网上都没看到有类似的解析说明?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 17:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表