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

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

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

關(guān)于STM32 ST-LINK Utility查看內(nèi)核運(yùn)行狀態(tài),助你判斷程序是否跑飛

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-03-12 09:58 ? 次閱讀

本文圍繞STM32 ST-LINK Utility講幾點(diǎn)主要功能及相關(guān)拓展知識(shí):

1.STM32編程下載;

2.利用該編程工具查看內(nèi)核運(yùn)行狀態(tài);

3.Option Bytes選項(xiàng)字配置;

1STM32編程下載

STM32 ST-LINK Utility一個(gè)最重要的功能就是對(duì)STM32進(jìn)行編程。支持常見的hex、bin文件,還有早期摩托羅拉定義的srec和s19格式的文件(說(shuō)實(shí)話,我都不了解這兩種格式的文件)。

這里主要想提示一下初學(xué)者:hex帶有地址,而bin文件不帶地址,下載時(shí)需要填寫起始地址。

下面看兩張?jiān)赟TM32 ST-LINK Utility中下載選擇文件的圖大家就明白了。

1.選擇hex下載,地址不可修改(灰色)

2.選擇bin下載,需要填寫起始地址

關(guān)于hex和bin的內(nèi)容請(qǐng)參看我的另兩篇文章:

1.關(guān)于bin、hex和axf文件格式的描述

2.MDK-ARM如何生產(chǎn)Bin文件

2利用該編程工具查看內(nèi)核運(yùn)行狀態(tài)

之本節(jié)內(nèi)容主要想講述一下:利用STM32 ST-LINK Utility工具中Hot Plug熱插拔模式,查看內(nèi)核運(yùn)行狀態(tài)。

1.STM32 ST-LINK Utility模式說(shuō)明

即設(shè)置中三種模式選擇:

主要有三種,在這個(gè)工具的用戶手冊(cè)中可以看到:

大概意思是:

Normal:常規(guī)模式

連接目標(biāo)(芯片)之后,芯片復(fù)位,然后暫停(halted)。

Connect Under Reset:連接復(fù)位模式

主要用于JTAG/SWD引腳被禁用的時(shí)候。

Hot Plug:熱插拔模式

連接目標(biāo)芯片,不復(fù)位/重置芯片,則此時(shí)可以查看芯片狀態(tài)。

2.查看內(nèi)核運(yùn)行狀態(tài)

硬件連接好:Target -> MCU Core

為什么講這一條內(nèi)容呢?

相信大家都遇到或聽到過(guò)程序跑飛這種情況,當(dāng)你的程序跑飛,這里講的內(nèi)容可能幫助你判斷程序是不是處于跑飛狀態(tài)。

因?yàn)檫@里可以查看MCU內(nèi)核的運(yùn)行狀態(tài),簡(jiǎn)單的說(shuō)就可以查看PC跑到哪兒去了(你應(yīng)用程序跑如果超過(guò)相應(yīng)區(qū)域,說(shuō)明跑飛了)。

舉個(gè)例:你應(yīng)用程序存儲(chǔ)在0x08010000 ---0x08020000這個(gè)范圍內(nèi),正常運(yùn)行應(yīng)用程序應(yīng)該在這個(gè)范圍內(nèi),但是你發(fā)現(xiàn)PC的值為0x08025000(不在范圍內(nèi)),那就說(shuō)明跑飛了。

這里可以執(zhí)行的操作有:運(yùn)行、暫停、系統(tǒng)復(fù)位、內(nèi)核復(fù)位、單步運(yùn)行、讀內(nèi)核寄存器。類似于IDE中的在線調(diào)試(IDE在線調(diào)試需要有源代碼,而這里不需要源代碼,可直接查看PC執(zhí)行到的地址)。

提示:PC:Program Counter即程序計(jì)數(shù)器寄存器,指向當(dāng)前執(zhí)行程序的地址,如果修改它的值,就能改變程序的執(zhí)行流。(具體可以參看Cortex-M3內(nèi)核寄存器所在章節(jié))

3Option Bytes選項(xiàng)字配置

對(duì)Option Bytes操作常用的一個(gè)就是對(duì)Flash加密(讀/寫保護(hù))。當(dāng)然,讀寫保護(hù)可以通過(guò)程序代碼實(shí)現(xiàn),也可以通過(guò)這里說(shuō)的選項(xiàng)字設(shè)置來(lái)實(shí)現(xiàn)。

拿F401舉例:Target ->Option Bytes

STM32 ST-LINK Utility工具還有些特殊功能,可能我們不常用,比如:command line interface命令行接口、external loader developing加載外部程序等,感興趣的朋友可以參看用戶手冊(cè)研究一下。

好了,本文就分享以上幾點(diǎn)內(nèi)容,希望對(duì)你們有所幫助。

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

    關(guān)注

    2290

    文章

    11018

    瀏覽量

    362725
  • HEX
    HEX
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    17076
  • ST-link II
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    5883
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    請(qǐng)問STM32U5不支持ST-LINK v2怎么辦?

    STM32U5不支持ST-LINK v2怎么辦?
    發(fā)表于 06-09 07:59

    keil在debug時(shí)出現(xiàn)Cannot access Memory*** error 122: AGDI: memory read failed (0xF81AF008)的原因?怎么解決?

    使用的開發(fā)板是ST官方的板子NUCLEO-G474RE,程序能用ST-Link燒錄進(jìn)去,但是沒有現(xiàn)象(用的STM32CubeMx配置的初始化)。debug后發(fā)現(xiàn)
    發(fā)表于 04-23 08:13

    st link驅(qū)動(dòng)教程

    st link驅(qū)動(dòng),正確驅(qū)動(dòng)后,紅燈常亮,否則紅燈閃爍
    發(fā)表于 04-09 16:00 ?0次下載

    ST-LINKSTM32CubeProgrammer中無(wú)法連接到器件怎么解決?

    ST-LINKSTM32CubeProgrammer中無(wú)法連接到器件,對(duì)比發(fā)現(xiàn)serial number有些差別,這個(gè)ST-LINK的序列號(hào)比較奇怪,有哪位高手可以修改這個(gè)序列號(hào)么
    發(fā)表于 03-14 14:38

    怎樣才能使用NUCLEO-H563ZI 識(shí)別出ST-LINK ?

    NUCLEO-H563ZI開發(fā)板在接上USB后,ST-LINK 在設(shè)備管理器里面沒有顯示,需要對(duì)STLKRST,就是跳線JP3 后拔掉,這是可以識(shí)別ST-LINK,然而,用MDK 時(shí),提示
    發(fā)表于 03-14 13:59

    使用STM32 ST-LINK Utility和j-flash無(wú)法擦除怎么解決?

    在keil燒錄程序中直接報(bào)錯(cuò) 使用工具擦除報(bào) 使用STM32 ST-LINK Utility 和j-flash也無(wú)法擦除這個(gè)要怎么解決
    發(fā)表于 03-12 07:07

    ST-Link讀取原設(shè)備程序,再寫入到新板子里面去,運(yùn)行指示燈不閃爍是什么原因?

    我用ST-Link讀取原設(shè)備程序,再寫入到新板子里面去,寫入成功了,但是運(yùn)行指示燈不閃爍。不工作。是什么原因?有解決辦法嗎?
    發(fā)表于 03-12 07:03

    使用STM32F407ZGT6芯片做小車主控時(shí),總是在運(yùn)行時(shí)芯片突然被鎖,無(wú)法下載程序怎么解決?

    在使用STM32F407ZGT6芯片做小車主控時(shí),總是在運(yùn)行時(shí)芯片突然被鎖,無(wú)法下載程序。 使用STM32 ST-LINK
    發(fā)表于 03-11 06:20

    STM32使用STLINK燒錄問題上電順序的疑問求解

    上電,打開STM32 ST-LINK Utility軟件連接,會(huì)偶發(fā)連接不上目標(biāo)板的問題。3.3V優(yōu)先無(wú)此問題,想問是否跟時(shí)序有關(guān),但是手冊(cè)中沒有找到過(guò)相關(guān)資料
    發(fā)表于 03-10 08:01

    STM32WB55RG使用USB ST-LINK連接電腦顯示未知USB設(shè)備,更新驅(qū)動(dòng)后也沒有變化,是什么原因?

    STM32WB55RG使用USB ST-LINK連接電腦顯示未知USB設(shè)備,更新驅(qū)動(dòng)后也沒有變化,這大概是哪里的問題?
    發(fā)表于 03-07 07:13

    KMPHM振動(dòng)在線監(jiān)測(cè)系統(tǒng)智能評(píng)估設(shè)備運(yùn)行狀態(tài)

    KMPHM振動(dòng)在線監(jiān)測(cè)系統(tǒng)智能評(píng)估設(shè)備運(yùn)行狀態(tài)!
    的頭像 發(fā)表于 10-10 10:23 ?496次閱讀
    KMPHM振動(dòng)在線監(jiān)測(cè)系統(tǒng)智能評(píng)估設(shè)備<b class='flag-5'>運(yùn)行狀態(tài)</b>!

    stm32下載完成,但沒執(zhí)行,為什么

    1. 硬件連接問題 檢查USB線和接口 :確保使用的USB線和接口沒有損壞。 檢查電源 :確保STM32板子正確供電。 檢查下載線 :使用ST-Link或其他兼容的下載線,并確保它們連接正確。 2.
    的頭像 發(fā)表于 09-02 09:25 ?3820次閱讀

    stm32程序燒錄的幾種方法?

    微控制器通常具備JTAG接口,可以通過(guò)JTAG燒錄器進(jìn)行程序燒錄。 1.1 硬件準(zhǔn)備 STM32開發(fā)板 JTAG燒錄器(如ST-LINK、J-Link等) USB線 1.2 軟件準(zhǔn)備
    的頭像 發(fā)表于 08-22 09:35 ?9432次閱讀

    嵌入式開發(fā) Win11安裝ST-Link 提示 設(shè)備描述符請(qǐng)求失敗 怎么處理?

    請(qǐng)問各位前輩,嵌入式開發(fā) Win11安裝ST-Link 提示 設(shè)備描述符請(qǐng)求失敗 怎么處理? 我安裝的ST-link版本是STSW_LINK009_V1.02和STSW_LINK009
    發(fā)表于 07-23 13:53

    嵌入式設(shè)備在遠(yuǎn)端運(yùn)行,會(huì)有偶發(fā)性代碼的情況,無(wú)法到現(xiàn)場(chǎng)調(diào)試的情況下如何檢查出問題?

    、請(qǐng)問當(dāng)前“現(xiàn)狀”下,新增日志上報(bào)功能是否可以找到的原因; 2、請(qǐng)問是否有更好的建議辦法在當(dāng)前“現(xiàn)狀”下找到偶發(fā)性
    發(fā)表于 07-22 15:05

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品