小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

利用STM32 ST-LINK Utility查看內(nèi)核運行狀態(tài),助你判斷程序是否跑飛

 西北望msm66g9f 2019-12-11

本文圍繞STM32 ST-LINK Utility講幾點主要功能及相關拓展知識:

1.STM32編程下載;

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

3.Option Bytes選項字配置;

1STM32編程下載

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

這里主要想提示一下初學者hex帶有地址,而bin文件不帶地址,下載時需要填寫起始地址

下面看兩張在STM32 ST-LINK Utility中下載選擇文件的圖大家就明白了。

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

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

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

1.關于bin、hex和axf文件格式的描述

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

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

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

1.STM32 ST-LINK Utility模式說明

即設置中三種模式選擇:

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

大概意思是:

Normal:常規(guī)模式

連接目標(芯片)之后,芯片復位,然后暫停(halted)。

Connect Under Reset:連接復位模式

主要用于JTAG/SWD引腳被禁用的時候。

Hot Plug:熱插拔模式

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

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

硬件連接好:Target -> MCU Core

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

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

因為這里可以查看MCU內(nèi)核的運行狀態(tài),簡單的說就可以查看PC跑到哪兒去了(你應用程序跑如果超過相應區(qū)域,說明跑飛了)。

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

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

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

3Option Bytes選項字配置

對Option Bytes操作常用的一個就是對Flash加密(讀/寫保護)。當然,讀寫保護可以通過程序代碼實現(xiàn),也可以通過這里說的選項字設置來實現(xiàn)

拿F401舉例:Target ->Option Bytes

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

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

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多