AMD Vitis 调试时,BSP代码的某些行没有被执行,代码乱跳等问题。

问题

AMD Vitis 调试代码时,BSP代码的某些应该被执行的行,没有被执行,调试器显示代码乱跳等。

原因

为了提高运行速度,BSP编译时,默认使用了优化选项进行编译,导致调试器对应二进制代码、和C代码时出现问题,显示出错误的执行流程。

这只是显示问题,实际执行流程是没有问题的。

解决办法

将BSP中需要调试的代码,复制到应用程序的工程。选择相关文件,右键菜单中可以执行复制、黏贴。

应用程序的工程,默认是带调试信息编译的。链接时,会优先选择本工程的文件进行链接,因此使用了带调试信息的函数。

再执行调试,C代码执行流程就正常。

posted @ 2023-05-24 18:08  HankFu  阅读(151)  评论(0编辑  收藏  举报