打印

大家都遇到或者知道哪些程序容易出错或忽视的问题

[复制链接]
1307|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xlsbz|  楼主 | 2011-4-3 17:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我说两个

第一个 是任务与中断的数据破坏(互斥数据

第2个是 我的板子有个单片机  还有另外一个处理器

在单片机写个函数(带有临时参数),用这个函数取另一个处理器内存的值。结果取的不正确。想了半天,甚至都怀疑编译器出问题 或者人品问题。

于是开始降低编译器优先级,从8级别降到7 然后6 然后5 直到降到1 才发现程序好用了。 那肯定是2级别或者以上的优化 是啥呢?data 覆盖 ,于是

最终发现是临时变量的问题    这个临时变量到了另一个处理器里面 就被释放了,尽管在单片机函数里面还没被释放。 所以搞个全局变量就好了。

相关帖子

沙发
NE5532| | 2011-4-3 19:59 | 只看该作者
一般都是低级错误,高级错误一般都是芯片BUG或者编译器BUG才犯得出来的,个人能犯的错误一般都是应为没有遵守原则,比如中断和前台见相互干扰是没有遵守临界资源保护的原则,有的变量自己上电忘给初始值,有的函数不能重入的在中断里重入了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

1614

帖子

4

粉丝