Zephyr版本號(hào):2.2.0
開(kāi)發(fā)板:STM32F429IGT6(野火STM32F429挑戰(zhàn)者 V2開(kāi)發(fā)板)
開(kāi)發(fā)環(huán)境:Windows 7 64位
這里選擇的是Zephyr當(dāng)前最新的Release版本2.2.0進(jìn)行說(shuō)明的。
1、修改代碼
前面文章的操作,雖然在Windows下能夠成功的編譯STM32F429的工程,但是卻不能在野火挑戰(zhàn)者V2開(kāi)發(fā)板上運(yùn)行,因?yàn)閆ephyr代碼中的STM32F429硬件和野火的外圍硬件不一樣(其實(shí)CPU也有一些差異)。主要體現(xiàn)在外部晶振,時(shí)鐘的配置以及MPU上面(野火挑戰(zhàn)者V2開(kāi)發(fā)板使用的CPU是STM32F429IGT6,不帶MPU功能)。
進(jìn)入到 boards/arm/stm32f429i_disc1 文件夾中,然后修改文件 stm32f429i_disc1_defconfig,需要修改的內(nèi)容如下:
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=180000000 CONFIG_ARM_MPU=n CONFIG_CLOCK_STM32_HSE_CLOCK=25000000 CONFIG_CLOCK_STM32_PLL_M_DIVISOR=25 CONFIG_CLOCK_STM32_PLL_N_MULTIPLIER=360
在 stm32f429i_disc1_defconfig 文件的末尾,添加如下的內(nèi)容(該內(nèi)容的含義是編譯出的代碼不進(jìn)行優(yōu)化,這樣便于調(diào)試):
CONFIG_NO_OPTIMIZATIONS=y
修改文件 board.cmake,需要修改的內(nèi)容如下:
board_runner_args(jlink"--device=STM32F429IG""--speed=4000")
2、編譯HelloWorld應(yīng)用
確定命令提示符的路徑在Zephyr2.2.0源代碼目錄中,執(zhí)行下述命令:
westbuild-pauto-bstm32f429i_disc1samples/hello_world
編譯成功的輸出信息如下:
3、下載程序到開(kāi)發(fā)板
確保Windows中安裝了JLink驅(qū)動(dòng),并且將JLink驅(qū)動(dòng)的路徑(JLink.exe所在的路徑)添加到系統(tǒng)環(huán)境變量的Path中。我這里安裝的是Jlink V6.48a,其路徑為:C:Program Files (x86)SEGGERJLink_V648a。
如果沒(méi)有將JLink驅(qū)動(dòng)的路徑添加到環(huán)境變量中,下載程序時(shí)會(huì)出現(xiàn)類(lèi)似的錯(cuò)誤:FATAL ERROR: required program JLink.exe not found; install it or add its location to PATH。
將開(kāi)發(fā)板上電,連接好JLink調(diào)試器,連接好串口線并且打開(kāi)串口調(diào)試助手,然后執(zhí)行下述命令將程序燒寫(xiě)到開(kāi)發(fā)板中:
westflash--runnerjlink
程序下載成功之后,會(huì)在串口調(diào)試助手中打印出信息,如下圖所示:
4、使用GDB調(diào)試程序
程序下載成功之后,執(zhí)行命令:west debug --runner jlink(該命令會(huì)自動(dòng)打開(kāi)JLink GDB Server,不需要提前手動(dòng)打開(kāi)JLink GDB Server),可以使用GDB調(diào)試Zephyr,先前的鏡像不能成功打印信息,我也是通過(guò)這個(gè)命令來(lái)調(diào)試Zephyr,最終定位時(shí)鐘參數(shù)問(wèn)題的。
接下來(lái)的一篇文章,會(huì)講述如何使用Eclipse來(lái)調(diào)試Zephyr,雖然也是使用的GDB,但是調(diào)試更加的方便,能夠手動(dòng)添加斷點(diǎn),添加觀察的變量,隨意切換文件,總之下面一篇文章很OK,敬請(qǐng)關(guān)注。
-
cpu
+關(guān)注
關(guān)注
68文章
10804瀏覽量
210824 -
WINDOWS
+關(guān)注
關(guān)注
3文章
3521瀏覽量
88316 -
編譯
+關(guān)注
關(guān)注
0文章
648瀏覽量
32774 -
STM32F429
+關(guān)注
關(guān)注
0文章
40瀏覽量
10616 -
Zephyr
+關(guān)注
關(guān)注
0文章
17瀏覽量
5948
原文標(biāo)題:4、使用GDB調(diào)試程序
文章出處:【微信號(hào):嵌入式那些事,微信公眾號(hào):嵌入式那些事】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論