硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3739|回复: 4
收起左侧

【求教】DSP sin函数执行失败

[复制链接]

31

主题

53

回帖

146

积分

初级会员

积分
146
发表于 2015-4-4 08:23:00 | 显示全部楼层 |阅读模式
我在移植dsp,发现下面这个现象,for循环无法继续执行,每次都是到这里卡住
我直接运行官方的例程倒是可以。这种情况应该如何调试?
我用debug模式单步调试也有问题,进入for循环后直接跑飞。

1.png


2.png


问题历程
V5-001a_GPIO实验_跑马灯.zip (4.62 MB, 下载次数: 72)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107695
QQ
发表于 2015-4-4 09:11:46 | 显示全部楼层
这种情况倒是第一次遇到,不行的话在你的板子上面试试我们的例程。
回复

使用道具 举报

31

主题

53

回帖

146

积分

初级会员

积分
146
 楼主| 发表于 2015-4-5 18:52:56 | 显示全部楼层
我试了一下,出现下面这种情况,
每次printf之间加个10ms以上的延时就好了。

是我板子问题,还是可能是咱们的串口驱动有bug?FIFO不够?

1.png
回复

使用道具 举报

31

主题

53

回帖

146

积分

初级会员

积分
146
 楼主| 发表于 2015-4-5 23:41:08 | 显示全部楼层
找到原因了,是因为uart用了fifo,fifo大小是1024字节。
不加延时,for循环执行到中间某个位置,fifo会被填满,貌似就卡在那里不动了,也不往下运行,因为从开发板现象看,没有执行下面while中的led闪烁。
但是为什么会死在那里还没有仔细看,我理解不应该是死在哪里,而应该继续往下运行,只是打印信息不完整。
改成不用fifo,就好了,但是会影响运行速度。或者将fifo改成足够大。

主程序:
3.png
使用fifo,两次打印之间不加延时,fifo满后,程序卡死:
1.png
不使用fifo,不加延时。成功。
2.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107695
QQ
发表于 2015-4-6 10:01:13 | 显示全部楼层

回 ggafish 的帖子

ggafish:找到原因了,是因为uart用了fifo,fifo大小是1024字节。
不加延时,for循环执行到中间某个位置,fifo会被填满,貌似就卡在那里不动了,也不往下运行,因为从开发板现象看,没有执行下面while中的led闪烁。
但是为什么会死在那里还没有仔细看,我理解不应该是死在哪里,而应该继续 .. (2015-04-05 23:41) 
[s:151][s:151][s:151]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-12 06:14 , Processed in 0.163877 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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