我一直在为STM32F105开发一个项目(在C中),使用带有CDT插件的Eclipse IDE . 我正在使用gcc-arm工具链,OpenOCD(gdb)进行调试,以及ST-Link / V2 JTAG设备 .
我一直在我的目标板上调试,没问题 .
现在,我终于希望代码能够自行运行,而且我不知道如何在Eclipse中运行它!我确信它很简单,但我找不到它 .
如何构建代码并对目标进行编程以使其“正常”运行?
将OpenOCD配置为外部工具并使用或多或少的参数:
-f interface/... -f target/... -c "init; reset init; flash write_image erase <your_hex_file.hex>; reset run; shutdown;"
您当然应该将此命令调整到您的项目:输入正确的接口和目标配置并设置正确的hex文件名(您也可以使用.bin或.elf,但.hex通常是最方便的) .
在"Working Directory"文本框中输入你的项目目录 - 使用"Browse Workspace"来做那个,你应该有这样的: ${workspace_loc:/<name_of_your_project>}
${workspace_loc:/<name_of_your_project>}
正如@ChrisStratton所建议的那样,我的一个项目只是断开调试器并重置目标 . 另一个没有,无论我使用IDE还是ST-LINK工具 . 附加调试器时它工作正常 .
事实证明,非工作程序使用半主机 . 当我通过删除以下编译器符号禁用半主机时,项目开始运行就好了 .
2 回答
将OpenOCD配置为外部工具并使用或多或少的参数:
-f interface/... -f target/... -c "init; reset init; flash write_image erase <your_hex_file.hex>; reset run; shutdown;"
您当然应该将此命令调整到您的项目:输入正确的接口和目标配置并设置正确的hex文件名(您也可以使用.bin或.elf,但.hex通常是最方便的) .
在"Working Directory"文本框中输入你的项目目录 - 使用"Browse Workspace"来做那个,你应该有这样的:
${workspace_loc:/<name_of_your_project>}
正如@ChrisStratton所建议的那样,我的一个项目只是断开调试器并重置目标 . 另一个没有,无论我使用IDE还是ST-LINK工具 . 附加调试器时它工作正常 .
事实证明,非工作程序使用半主机 . 当我通过删除以下编译器符号禁用半主机时,项目开始运行就好了 .