Zephyr版本號:2.2.0
開發板:STM32F429IGT6(野火STM32F429挑戰者 V2開發板)
開發環境:Windows 7 64位
這里選擇的是Zephyr當前最新的Release版本2.2.0進行說明的。
1、修改代碼
前面文章的操作,雖然在Windows下能夠成功的編譯STM32F429的工程,但是卻不能在野火挑戰者V2開發板上運行,因為Zephyr代碼中的STM32F429硬件和野火的外圍硬件不一樣(其實CPU也有一些差異)。主要體現在外部晶振,時鐘的配置以及MPU上面(野火挑戰者V2開發板使用的CPU是STM32F429IGT6,不帶MPU功能)。
進入到 boards/arm/stm32f429i_disc1 文件夾中,然后修改文件 stm32f429i_disc1_defconfig,需要修改的內容如下:
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 文件的末尾,添加如下的內容(該內容的含義是編譯出的代碼不進行優化,這樣便于調試):
CONFIG_NO_OPTIMIZATIONS=y
修改文件 board.cmake,需要修改的內容如下:
board_runner_args(jlink"--device=STM32F429IG""--speed=4000")
2、編譯HelloWorld應用
確定命令提示符的路徑在Zephyr2.2.0源代碼目錄中,執行下述命令:
westbuild-pauto-bstm32f429i_disc1samples/hello_world
編譯成功的輸出信息如下:
3、下載程序到開發板
確保Windows中安裝了JLink驅動,并且將JLink驅動的路徑(JLink.exe所在的路徑)添加到系統環境變量的Path中。我這里安裝的是Jlink V6.48a,其路徑為:C:Program Files (x86)SEGGERJLink_V648a。
如果沒有將JLink驅動的路徑添加到環境變量中,下載程序時會出現類似的錯誤:FATAL ERROR: required program JLink.exe not found; install it or add its location to PATH。
將開發板上電,連接好JLink調試器,連接好串口線并且打開串口調試助手,然后執行下述命令將程序燒寫到開發板中:
westflash--runnerjlink
程序下載成功之后,會在串口調試助手中打印出信息,如下圖所示:
4、使用GDB調試程序
程序下載成功之后,執行命令:west debug --runner jlink(該命令會自動打開JLink GDB Server,不需要提前手動打開JLink GDB Server),可以使用GDB調試Zephyr,先前的鏡像不能成功打印信息,我也是通過這個命令來調試Zephyr,最終定位時鐘參數問題的。
接下來的一篇文章,會講述如何使用Eclipse來調試Zephyr,雖然也是使用的GDB,但是調試更加的方便,能夠手動添加斷點,添加觀察的變量,隨意切換文件,總之下面一篇文章很OK,敬請關注。
-
cpu
+關注
關注
68文章
11033瀏覽量
215995 -
WINDOWS
+關注
關注
4文章
3608瀏覽量
90932 -
編譯
+關注
關注
0文章
676瀏覽量
33746 -
STM32F429
+關注
關注
0文章
40瀏覽量
11217 -
Zephyr
+關注
關注
0文章
35瀏覽量
6232
原文標題:4、使用GDB調試程序
文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
在STM32F429上怎樣去運行HelloWorld
【STM32F429開發板用戶手冊】第13章 STM32F429啟動過程詳解

【STM32F429開發板用戶手冊】第21章 STM32F429的NVIC中斷分組和配置(重要)

【STM32F429開發板用戶手冊】第1章 初學STM32F429的準備工作

【STM32F429開發板用戶手冊】第8章 STM32F429的終極調試組件Event Recorder

【STM32F429開發板用戶手冊】第19章 STM32F429的GPIO應用之按鍵FIFO

【STM32F429開發板用戶手冊】第14章 STM32F429的電源,復位和時鐘系統

調試 STM32F429 + USB3300

AN4658_從STM32F429、439系列到STM32F446系列的應用移植

ES0206_STM32F427/437 和 STM32F429/439 線路限制

評論