VELT的全稱(chēng)是Visual EmbedLinuxTools,它是1個(gè)與visual gdb類(lèi)似的visual studio插件,用以輔助完成Linux開(kāi)發(fā)。利用這個(gè)插件,將可以在visual studio的IDE中進(jìn)行Linux利用程序的開(kāi)發(fā)(包括編譯和調(diào)試),也能夠進(jìn)行uboot和linux內(nèi)核的編譯,并根據(jù)編譯時(shí)的毛病信息正肯定位到源碼。目前的版本是0.2.7,支持vs2012/vs2013/vs2015。
下載地址:http://download.csdn.net/user/lights_joy
Velt討論QQ群:375515651
在上1節(jié)里我們對(duì)很多細(xì)節(jié)沒(méi)有太在乎,在這1節(jié)里我們重新整理1下全部工程。不看不知道,1看嚇1跳,上1節(jié)犯了好幾個(gè)毛病。
我們所用的CPU為STM32F101 RCT6,256K Flash,32K SRAM。
根據(jù)ST手冊(cè),它應(yīng)當(dāng)使用HD的初始化代碼,而不是上1節(jié)使用的LD,因此將startup_stm32f10x_ld.s文件改成startup_stm32f10x_hd.s。
相應(yīng)地將STM32F10X_LD這個(gè)宏改成STM32F10X_HD。
在system_stm32f10x.c這個(gè)文件中有1個(gè)CPU頻率的定義:
這里默許選擇的是72M,但CPU實(shí)際工作頻率只能在36M,因此需要做修改。
接下來(lái),我們還需要整理1下鏈接腳本。
在STM32庫(kù)的Projects目錄下,提供了很多的示例工程,直接取其中的某個(gè)鏈接腳本為模板,根據(jù)實(shí)際情況修改FLASH和RAM的定義:
主要就是_estack,FLASH LENGTH和RAM LENGTH這3個(gè)參數(shù)。
終究的工程就是這個(gè)模樣的:
F7生成:
接下來(lái)試試在VS里調(diào)試:
首先配置好目標(biāo)機(jī)的參數(shù):
這里主要有3項(xiàng):
目標(biāo)連接類(lèi)型必須選擇GdbServer,目標(biāo)機(jī)IP選擇本機(jī)127.0.0.1,目標(biāo)機(jī)端口選擇3333,這個(gè)端口必須和OpenOcd的gdbserver端口相1致。
在main函數(shù)里設(shè)置斷點(diǎn),F5調(diào)試運(yùn)行程序:
哈哈,弄定!
bye, JLINK~~~
bye, IAR~~~