您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF53x技术支持专区 -> [求助]BF533语句不执行的问题
本帖共有353个阅读者
发表帖子 发表投票 回复主题
[求助]BF533语句不执行的问题
spepc(论坛新手)
spepc
头衔:社区公民
帮派:无帮无派
帖数:1
金钱:112
积分:2
注册时间:2017/7/25
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助]BF533语句不执行的问题
一个图像采集分析程序,自己设计的板子。程序调试和写入Flash都可执行,但不太正常。反复查找,发现某些语句没有执行。编译后的汇编有对应的部分,并没有被优化掉,单步跟踪的时候能够正确执行,全速跑则会跳过这些语句,加“ssync()”语句能够改善,但不能完全避免。这些语句有些是赋值语句,例如两条语句紧接:
*pSIC_IMASK = 0x00000100;  //打开DMA0中断屏蔽
*pSIC_IMASK |= 0x00010000; //TIMER0
第一条大部分情况不执行,只执行第2条。如果中间插一条“ssync()”,情况有所改善。后来干脆合并成:
*pSIC_IMASK = 0x00010100; //打开DMA0, TIMER0中断屏蔽

有些则是状态判断语句(if语句),如:
        if(time_05s_flag && img_ys_f==0){....}
单步调试没问题,全速则好像跳过去了,目还没找到解决问题的办法。请求高人帮助,谢了。



「该帖子被 spepc 在 2017-07-26 15:42:41 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2017/7/26 15:05:07
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
你在这些配置函数前面加上关闭优化的指令,看看会不会改善。if语句那个,你第一个加上完整条件 ==1,再用括号把两个条件分开试试
另外有的寄存器不能回读,所以不能用与或方式赋值,你注意下这个

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2017/7/29 21:16:03
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154309 Call, 1 Queries, Processed in 0.015625 second(s),