VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发。利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译,并根据编译时的错误信息正确定位到源码。目前的版本是0.2.7,支持vs2012/vs2013/vs2015。
下载地址:http://download.csdn.net/user/lights_joy
Velt讨论QQ群:375515651
上一节我们使用VELT生成了App1.elf,但还不能直接使用,因为还缺少启动部分的代码。这一部分的代码我们可以使用ST的开发库,STM32_USB-FS-Device_Lib_V4.0.0,将其解压后放在App1的目录下。
实际上我们目前仅仅需要这个库中的两个文件:
STM32_USB-FS-Device_Lib_V4.0.0\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\gcc_ride7\startup_stm32f10x_ld.s
和
STM32_USB-FS-Device_Lib_V4.0.0\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\system_stm32f10x.c
将这两个文件加到App1工程中:
在工程属性中加上ST库的包含路径:
根据我们的CPU类型加上一个宏定义:
需要注意的是,对于.s文件,不能定义,也不需要定义这个宏,否则将导致汇编的命令行错误。因此在startup_stm32f10x_ld.s的文件属性中去掉这个宏。
F7生成项目,一切正常:
接下来手工使用arm-none-eabi-gdb加载这个程序调试一把:
哈,太顺利了!
很正常地在main函数中中断下来。
看来应该可以开始在vs下进行程序调试了!!