0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Zephyr筆記:在STM32F429上運(yùn)行HelloWorld

嵌入式那些事 ? 來(lái)源:嵌入式那些事 ? 2023-04-06 11:42 ? 次閱讀

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

編譯成功的輸出信息如下:

62dd597a-d054-11ed-bfe3-dac502259ad0.png

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)試助手中打印出信息,如下圖所示:

6303caa6-d054-11ed-bfe3-dac502259ad0.png

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)題的。

631e8cf6-d054-11ed-bfe3-dac502259ad0.png

接下來(lái)的一篇文章,會(huì)講述如何使用Eclipse來(lái)調(diào)試Zephyr,雖然也是使用的GDB,但是調(diào)試更加的方便,能夠手動(dòng)添加斷點(diǎn),添加觀察的變量,隨意切換文件,總之下面一篇文章很OK,敬請(qǐng)關(guān)注。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32F429怎樣去運(yùn)行HelloWorld

    STM32F429IGT6(野火STM32F429挑戰(zhàn)者 V2開(kāi)發(fā)板)開(kāi)發(fā)環(huán)境:Windows 7 64位這里選擇的是Zephyr當(dāng)前最新的Release版本2
    發(fā)表于 08-10 06:40

    STM32F429使用外擴(kuò)SDRAM運(yùn)行程序的方法

    STM32F429使用外擴(kuò)SDRAM運(yùn)行程序的方法
    發(fā)表于 11-25 14:48 ?0次下載

    STM32F429中文手冊(cè)

    STM32F429中文手冊(cè)
    發(fā)表于 03-10 17:38 ?723次下載

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第13章 STM32F429啟動(dòng)過(guò)程詳解

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第13章 STM32F429啟動(dòng)過(guò)程詳解
    發(fā)表于 11-23 18:06 ?39次下載
    【<b class='flag-5'>STM32F429</b>開(kāi)發(fā)板用戶手冊(cè)】第13章     <b class='flag-5'>STM32F429</b>啟動(dòng)過(guò)程詳解

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第21章 STM32F429的NVIC中斷分組和配置(重要)

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第21章 STM32F429的NVIC中斷分組和配置(重要)
    發(fā)表于 12-04 13:36 ?17次下載
    【<b class='flag-5'>STM32F429</b>開(kāi)發(fā)板用戶手冊(cè)】第21章 <b class='flag-5'>STM32F429</b>的NVIC中斷分組和配置(重要)

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第1章 初學(xué)STM32F429的準(zhǔn)備工作

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第1章 初學(xué)STM32F429的準(zhǔn)備工作
    發(fā)表于 12-04 13:51 ?20次下載
    【<b class='flag-5'>STM32F429</b>開(kāi)發(fā)板用戶手冊(cè)】第1章 初學(xué)<b class='flag-5'>STM32F429</b>的準(zhǔn)備工作

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第8章 STM32F429的終極調(diào)試組件Event Recorder

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第8章 STM32F429的終極調(diào)試組件Event Recorder
    發(fā)表于 12-04 14:06 ?17次下載
    【<b class='flag-5'>STM32F429</b>開(kāi)發(fā)板用戶手冊(cè)】第8章 <b class='flag-5'>STM32F429</b>的終極調(diào)試組件Event Recorder

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第19章 STM32F429的GPIO應(yīng)用之按鍵FIFO

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第19章 STM32F429的GPIO應(yīng)用之按鍵FIFO
    發(fā)表于 12-05 15:21 ?14次下載
    【<b class='flag-5'>STM32F429</b>開(kāi)發(fā)板用戶手冊(cè)】第19章 <b class='flag-5'>STM32F429</b>的GPIO應(yīng)用之按鍵FIFO

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第14章 STM32F429的電源,復(fù)位和時(shí)鐘系統(tǒng)

    STM32F429開(kāi)發(fā)板用戶手冊(cè)】第14章 STM32F429的電源,復(fù)位和時(shí)鐘系統(tǒng)
    發(fā)表于 12-08 15:51 ?13次下載
    【<b class='flag-5'>STM32F429</b>開(kāi)發(fā)板用戶手冊(cè)】第14章 <b class='flag-5'>STM32F429</b>的電源,復(fù)位和時(shí)鐘系統(tǒng)

    STM32f429外部中斷配置解析基于HAL庫(kù)

    STM32f429外部中斷配置解析基于HAL庫(kù)
    發(fā)表于 12-16 16:58 ?9次下載
    <b class='flag-5'>STM32f429</b>外部中斷配置解析基于HAL庫(kù)

    調(diào)試 STM32F429 + USB3300

    調(diào)試 STM32F429 + USB3300調(diào)試 STM32F429 + USB3300 工作HS模式調(diào)試 STM32F429 + USB3300 工作
    發(fā)表于 12-28 19:44 ?123次下載
    調(diào)試 <b class='flag-5'>STM32F429</b> + USB3300

    STM32F429參考手冊(cè)中文版

    STM32F429參考手冊(cè)中文版
    發(fā)表于 01-26 13:48 ?4次下載

    AN4658_從STM32F429、439系列到STM32F446系列的應(yīng)用移植

    AN4658_從STM32F429、439系列到STM32F446系列的應(yīng)用移植
    發(fā)表于 11-21 08:11 ?0次下載
    AN4658_從<b class='flag-5'>STM32F429</b>、439系列到<b class='flag-5'>STM32F</b>446系列的應(yīng)用移植

    ES0206_STM32F427/437 和 STM32F429/439 線路限制

    ES0206_STM32F427/437 和 STM32F429/439 線路限制
    發(fā)表于 11-24 08:27 ?0次下載
    ES0206_<b class='flag-5'>STM32F</b>427/437 和 <b class='flag-5'>STM32F429</b>/439 線路限制

    STM32F427/437和STM32F429/439線路限制

    STM32F427/437和STM32F429/439線路限制
    發(fā)表于 11-24 08:27 ?27次下載
    <b class='flag-5'>STM32F</b>427/437和<b class='flag-5'>STM32F429</b>/439線路限制