打印

关于PICC编译的几个奇怪问题。。。

[复制链接]
2583|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hsw_21|  楼主 | 2009-12-8 11:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hsw_21 于 2009-12-8 11:57 编辑

MCU: PIC16F727
编译器: PICC 9.70 (评估版(一个月试用期))

调试通信过程中,编译出现下面这个奇怪现象:

  (1)在DEBUG模式下,编译(PRO mode)运行没有问题;

         到了 下载模式下 编译(STANDARD mode)运行(PRO mode 编译会频繁重启MCU,猜测优化过度,所以我改为了STANDARD mode编译),不频繁复位了,但是不能接收主机数据了,也不能发送数据,经检查测试,居然连收发中断也不能进去了。  【注:两种情况下编译都是成功的,并且没有警告】

大家来讨论讨论,Thanks!
沙发
yewuyi| | 2009-12-8 13:02 | 只看该作者
嘿嘿,尽量不要乱栽赃给编译器。。。

如果代码没问题,一般不存在优化过度的问题。

使用特权

评论回复
板凳
牛牛特工| | 2009-12-8 20:27 | 只看该作者
呵呵 出现过上面的问题  我的16F1937 在9.65下编译 有时不能进中断 寄存器无法赋值  而在9.65PL1 相同代码 就可以进入中断 设置相同,查看反汇编 及 ProgramMemmory 发现编译出来的内容完全不同
如果你用的是比较成熟 时间比较长的芯片 经典版本的编译器 估计应该不会出现这种问题
对于16位 或数组等的赋值  PICC常常将其优化为一个call XXX  貌似为了最大限度压缩相同的运算的代码
挺晕的

使用特权

评论回复
地板
backupyan| | 2009-12-21 19:38 | 只看该作者
优化过分了吧?哈哈!还是用8.05吧

使用特权

评论回复
5
hsw_21|  楼主 | 2009-12-21 19:49 | 只看该作者
问题还是没完全搞明白,但是用断点跟踪,程序的确跑飞了,汇编出来的代码也有一定的问题。

检查代码,并没有逻辑上的问题。

大家继续给点意见。

使用特权

评论回复
6
bobo1957| | 2010-2-5 23:27 | 只看该作者
PICC有个选项经常搞忘,就是有个 compile for ICD2 这个选项不选,出现很怪的问题,编译不会报错,但是执行就会有问题,而且问题是随机的。PICC编译器还是很不错的哈,一般编译是不会出问题的,但是PICC需要程序员做的底层工作更多

使用特权

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

本版积分规则

418

主题

2675

帖子

1

粉丝