AMD Vitis 调试时,BSP代码的某些行没有被执行,代码乱跳等问题。
问题
AMD Vitis 调试代码时,BSP代码的某些应该被执行的行,没有被执行,调试器显示代码乱跳等。
原因
为了提高运行速度,BSP编译时,默认使用了优化选项进行编译,导致调试器对应二进制代码、和C代码时出现问题,显示出错误的执行流程。
这只是显示问题,实际执行流程是没有问题的。
解决办法
将BSP中需要调试的代码,复制到应用程序的工程。选择相关文件,右键菜单中可以执行复制、黏贴。
应用程序的工程,默认是带调试信息编译的。链接时,会优先选择本工程的文件进行链接,因此使用了带调试信息的函数。
再执行调试,C代码执行流程就正常。
付汉杰 hankf@amd.com