VELT的全称是Visual EmbedLinuxTools,它是1个与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
在上1节里我们对很多细节没有太在乎,在这1节里我们重新整理1下全部工程。不看不知道,1看吓1跳,上1节犯了好几个毛病。
我们所用的CPU为STM32F101 RCT6,256K Flash,32K SRAM。
根据ST手册,它应当使用HD的初始化代码,而不是上1节使用的LD,因此将startup_stm32f10x_ld.s文件改成startup_stm32f10x_hd.s。
相应地将STM32F10X_LD这个宏改成STM32F10X_HD。
在system_stm32f10x.c这个文件中有1个CPU频率的定义:
这里默许选择的是72M,但CPU实际工作频率只能在36M,因此需要做修改。
接下来,我们还需要整理1下链接脚本。
在STM32库的Projects目录下,提供了很多的示例工程,直接取其中的某个链接脚本为模板,根据实际情况修改FLASH和RAM的定义:
主要就是_estack,FLASH LENGTH和RAM LENGTH这3个参数。
终究的工程就是这个模样的:
F7生成:
接下来试试在VS里调试:
首先配置好目标机的参数:
这里主要有3项:
目标连接类型必须选择GdbServer,目标机IP选择本机127.0.0.1,目标机端口选择3333,这个端口必须和OpenOcd的gdbserver端口相1致。
在main函数里设置断点,F5调试运行程序:
哈哈,弄定!
bye, JLINK~~~
bye, IAR~~~