本帖最后由 lvben5d 于 2020-7-14 14:00 编辑
最近用GD32F130R8T6做了一个板卡,使用keil5.27 conplier verison编译器(**到3X年) 默认-o2编译优先级,编译出的代码,运行完全不正常,定时器时间完全不对, 仅仅修改编译优先 default 运行正常。 我原来以为**到期了,其实不是,初步分析原因是工程里面有的断点不存在但是 仿真结束的时候,说找不到环境变量。估计是因此引起的,同编译优先等级无关。 大家注意有时候工程的断点 你明明在C代码里【没看到】红色,但在汇编代码里 可能会有! 因此造成一些异常, 需要清掉断点所在! C语言跟汇编要一致,才应该是正常的位置。PS: 删除找不到位置的断点后(看汇编找到,C代码发现不了),退出仿真也不会提示环境变量出问题,编译优先等级设置-02 也没事。
|