ayb_ice 发表于 2023-3-9 15:54

STC USB LINK1D调试

这局部变量的值根本与实际不符,是什么原因,这调试器能干什么呢,其它程序情况也是如此

ayb_ice 发表于 2023-3-10 08:34

jiangjiang6590 发表于 2023-3-9 17:35
你这里定义的局部变量会被编译器优化掉,不分配地址
顶多只是用一个寄存器临时缓存一下
当寄存器的值发生变 ...

不要乱下定义好不好,我加了volatile了,看了反汇编了,有分配地址的,我这是故意写了个简单的测试程序,我发现其它正常程序也是这样的,但全局变量是正常的

coody 发表于 2023-3-10 11:04

楼主,现在STC主推的STC32就是用STC LINK-1D仿真调试的,我仿真过不少复杂的程序,都没有问题啊。

ayb_ice 发表于 2023-3-10 11:16

coody 发表于 2023-3-10 11:04
楼主,现在STC主推的STC32就是用STC LINK-1D仿真调试的,我仿真过不少复杂的程序,都没有问题啊。 ...

程序运行是对的,能仿真,只是局部变量的值完全不对,仿真的作用大大降低了

henangongda123 发表于 2023-3-10 12:46

STC向来的态度就是:我们的芯片没有任何问题,有问题是你不会用,你能力不行,用不好!

ayb_ice 发表于 2023-3-10 16:32

结贴,STC32G局部变量目前就是这样的,还在完善中

大秦正声 发表于 2023-3-11 21:22

stc32g12串口烧录可以,就是不能串口仿真,不方便。

大秦正声 发表于 2023-3-11 21:23

程序代码多了,只有仿真才能找到问题。

大秦正声 发表于 2023-3-11 21:24

arm就是工具非常强大成熟。

大秦正声 发表于 2023-3-11 21:26

c8051f难得的开发工具强悍。

大秦正声 发表于 2023-3-11 21:26

c8051f难得的开发工具强悍。

xzy568 发表于 2023-3-15 13:20

ayb_ice 发表于 2023-3-10 16:32
结贴,STC32G局部变量目前就是这样的,还在完善中

改成static不就行了,调试完再去掉

ayb_ice 发表于 2023-3-15 13:32

xzy568 发表于 2023-3-15 13:20
改成static不就行了,调试完再去掉

一样不行

xzy568 发表于 2023-3-15 17:25

ayb_ice 发表于 2023-3-15 13:32
一样不行

那就只能先传给全局变量,等调试完,再删掉了
看标准吧,跟写软串口把数据传出来比,已经方便很多了

ayb_ice 发表于 2023-3-16 08:32

本帖最后由 ayb_ice 于 2023-3-17 09:12 编辑

xzy568 发表于 2023-3-15 17:25
那就只能先传给全局变量,等调试完,再删掉了
看标准吧,跟写软串口把数据传出来比,已经方便很多了 ...
只能这么干了
页: [1]
查看完整版本: STC USB LINK1D调试