相同的代码经Keil重新编译出现不同的运行结果

2019-12-12 18:16发布

完全相同的代码,经 Keil重新编译后,会出现不同的运行结果,表现为USB端口无数据输出。MCU型号是STM32F103,USB枚举为虚拟串口。调试过程中出现USB端口能接收数据,但是无法发送数据。(用Bus Hound抓包)
使用Keil V5.17版本时,删除output文件夹中的所有文件后,重新编译,可解除此异常(USB端口可输出数据)。
用管理员身份打开软件时,第一次编译正常(USB端口可输出数据),此后编译异常(USB端口无法输出数据)。
此现象在Keil V5.15及V5.17中均存在。软件使用的破解工具为V5的破解工具。
不知道大家有没有碰到过这种问题。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
pspice
1楼-- · 2019-12-13 07:51
在 xx.s文件里把堆(heap)改大点试试,默认应该是0x200,改为0x400或0x800
yiminglei_2
2楼-- · 2019-12-13 09:15
用文件对比器对比两个bin文件,确定两次生成的文件是不是不一样
huangqi412
3楼-- · 2019-12-13 13:10
cocom 发表于 2019-3-16 17:28
许多异常最后证明大多是自己的问题。

同意。。。。。
dtlz
4楼-- · 2019-12-13 15:14
 精彩回答 2  元偷偷看……
miscell
5楼-- · 2019-12-13 16:43
可能是内存字节没对齐
guanglv2008
6楼-- · 2019-12-13 21:47
同意5楼   换个优化等级试试吧

一周热门 更多>