61#

[官方动态] 【RM2020 圆桌】第七期 嵌入式调试技巧分享

[复制链接]
正式队员黄瓜皇
2020-4-10 20:29:19 只看该作者
局部变量得在函数里打断点,才能看到
62#

[官方动态] 【RM2020 圆桌】第七期 嵌入式调试技巧分享

[复制链接]
管理员RoboMaster赛务
 楼主| 2020-4-10 20:29:40 只看该作者
好的,问题通通收到,嘉宾正在火速敲击键盘中,请耐心等待。有其它问题可以先提出~
63#

[官方动态] 【RM2020 圆桌】第七期 嵌入式调试技巧分享

[复制链接]
正式队员启林
2020-4-10 20:30:25 只看该作者
局部变量,如果想看到连续变化的情况呢?
64#

[官方动态] 【RM2020 圆桌】第七期 嵌入式调试技巧分享

[复制链接]
梯队队员Elecheart
2020-4-10 20:30:27 只看该作者
1.(Ozone调试)Keil编译出的axf也可以吗?
可以的,其他编译器生成的固件只要携带有符合DWARF标准的调试信息,就可以使用Ozone进行调试
65#

[官方动态] 【RM2020 圆桌】第七期 嵌入式调试技巧分享

[复制链接]
梯队队员Elecheart
2020-4-10 20:35:34 只看该作者
2.在变量的内存地址处定义访问写断点,具体操作步骤是啥呢,有例子吗?

在Keil的调试界面下按住Ctrl + B打开断点窗口,在Expression中输入想要设置的全局变量或者地址,在Access中选中Write,点击Define就定义好了哦。局部变量因为是在栈上,地址不固定,所以是不可以的。关于Keil断点的更多信息,我建议大家阅读uVision User Guide手册中的Debugging -> Debug WIndwos and Dialogs -> Breakpoints Windows章节。手册在选项栏中的Help可以找到。
66#

[官方动态] 【RM2020 圆桌】第七期 嵌入式调试技巧分享

[复制链接]
正式队员启林
2020-4-10 20:37:25 只看该作者
好的 谢谢啦
67#

[官方动态] 【RM2020 圆桌】第七期 嵌入式调试技巧分享

[复制链接]
管理员RoboMaster赛务
 楼主| 2020-4-10 20:37:51 只看该作者
大家不要害羞,有任何问题都欢迎提问哦
68#

[官方动态] 【RM2020 圆桌】第七期 嵌入式调试技巧分享

[复制链接]
梯队队员Elecheart
2020-4-10 20:38:54 只看该作者
3.请问一下,关于局部变量无法仿真,有什么解决方法吗?如果想通过watch窗口观看的局部变量的值的话?
因为局部变量是存放在栈上的,所以局部变量的存放的地址位置每次重新进入函数是都不固定。推荐一个小技巧,定义一个全局变量,在退出函数时将局部变量复制到全局变量上,就可以间接观察了。
69#

[官方动态] 【RM2020 圆桌】第七期 嵌入式调试技巧分享

[复制链接]
梯队队员Egoistic_Flower
2020-4-10 20:39:49 只看该作者
像can spi iic总线 等通信出现问题时如何排查问题比较快
70#

[官方动态] 【RM2020 圆桌】第七期 嵌入式调试技巧分享

[复制链接]
梯队队员Elecheart
2020-4-10 20:41:33 只看该作者
4.局部变量,如果想看到连续变化的情况呢?
和之前那位同学问的一样,将局部变量在函数内复制到全局变量中。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表