完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在尝试调试一些可用的 C++ 示例(如 BulkLpAutoCpp)后,我发现任何基于 C++ 的项目在 openocd 下都无法正常调试,反而会停止。 C 项目调试得很好,而且我已经确定我的调试器配置与文档中的完全相同。
因此,我想请教如何在 FX3 SuperSpeed explorer 等电路板上使用 openOCD 调试我的 C++ 项目? 回到纯 C 项目并不是一个真正的选择,而且仅通过 uart 进行调试是不够的(尤其是在出现问题后检查寄存器值)。 |
|
相关推荐
1个回答
|
|
要在FX3 SuperSpeed Explorer等电路板上使用openOCD调试C++项目,请按照以下步骤操作:
1. 安装必要的软件和驱动程序: - 安装Cypress FX3 SDK和示例项目。 - 安装LLVM工具链,包括LLVM-GCC、LLVM-GDB等。 - 安装openOCD。 2. 配置openOCD: - 打开openOCD的配置文件(通常是openocd.cfg),确保包含以下内容: ``` source [find interface/ftdi/cyfxusb.cfg] source [find target/fx3.cfg] ``` - 根据需要配置其他参数,如时钟频率、电压等。 3. 编译C++项目: - 使用LLVM-GCC编译器编译C++项目。例如: ``` clang++ -O0 -g -I /path/to/Cypress/FX3SDK/ -I /path/to/Cypress/FX3SDK/include -L /path/to/Cypress/FX3SDK/lib -lfx3 main.cpp -o main ``` - 确保生成的二进制文件具有调试信息。 4. 启动openOCD: - 在命令行中运行openOCD,并指定配置文件。例如: ``` openocd -f openocd.cfg ``` - 等待openOCD连接到FX3设备。 5. 启动LLVM-GDB: - 在另一个命令行窗口中运行LLVM-GDB,并加载编译后的二进制文件。例如: ``` gdb ./main ``` - 在GDB中,连接到openOCD服务器: ``` target extended-remote localhost:3333 ``` - 加载调试信息: ``` add-symbol-file ./main 0x0 ``` 6. 设置断点并开始调试: - 在GDB中,设置断点并开始执行程序: ``` break main continue ``` - 程序将在断点处暂停,您可以检查寄存器值、单步执行等。 7. 调试完成后,关闭GDB和openOCD。 通过以上步骤,您应该能够在FX3 SuperSpeed Explorer等电路板上使用openOCD调试C++项目。如果遇到问题,请检查硬件连接、驱动程序安装和软件配置是否正确。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教个XMC1404调试串口接收时为什么一直无法接收数据的问题
362 浏览 0 评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6268 浏览 2 评论
4106 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3632 浏览 9 评论
1231 浏览 8 评论
458浏览 2评论
270浏览 2评论
376浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6279浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
456浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 20:32 , Processed in 0.573930 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号