国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺談STM32調試DEBUG相關知識

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-06 15:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

學習STM32開發,肯定少不了DEBUG調試這一步驟。那么,本文帶你了解一下這個調試相關的知識。

本文以STM32F1、Cortex-M3為例,其它系列芯片或內核,原理相同或類似。

1概況

在STM32中,有很多調試組件。使用它們可以執行各種調試功能,包括斷點、數據觀察點、 閃存地址重載以及各種跟蹤。

STM32F1使用Cortex-M3內核,該內核內含硬件調試模塊,支持復雜的調試操作。

硬件調試模塊允許內核在取指(指令斷點)或訪問數據(數據斷點)時停止。內核停止時,內核的內部狀態和系統的外部狀態都是可以查詢的。完成查詢后,內核和外設可以被復原,程序將繼續執行。

當STM32F10x微控制器連接到調試器并開始調試時,調試器將使用內核的硬件調試模塊進行調試操作。

2

調試框圖

STM32F1和Cortex-M3的調試框圖:

提示:Cortex-M3內核內含的硬件調試模塊是ARM CoreSight開發工具集的子集。

ARM Cortex-M3內核提供集成的片上調試功能。它由以下部分組成:

SWJ-DP:串行/JTAG調試端口

AHP-AP: AHB訪問端口

ITM:執行跟蹤單元

FPB:閃存指令斷點

DWT:數據觸發

TPUI:跟蹤單元接口(僅較大封裝的芯片支持)

ETM:嵌入式跟蹤微單元(在較大的封裝上才有支持此功能的引腳),專用于STM32F1的調試特性

靈活的調試引腳分配

MCU調試盒(支持低電源模式,控制外設時鐘等)

3

調試接口

STM32支持兩種調試接口:

串行接口

JTAG調試接口

STM32的5個普通I/O口可用作SWJ-DP(串行/JTAG調試)接口引腳:

4

SWJ調試端口(serial wire and JTAG)

STM32內核集成了串行/JTAG調試接口(SWJ-DP)。這是標準的ARM CoreSight調試接口,包括JTAG-DP接口(5個引腳)和SW-DP接口(2個引腳)。

1.JTAG調試接口(JTAG-DP)為AHP-AP模塊提供5針標準JTAG接口。

2. 串行調試接口(SW-DP)為AHP-AP模塊提供2針(時鐘+數據)接口。

在SWJ-DP接口中, SW-DP接口的2個引腳和JTAG接口的5個引腳中的一些是復用的。

SWJ調試端口:

上面的圖顯示異步跟蹤輸出腳(TRACESWO)和TDO是復用的。因此異步跟蹤功能只能在SWDP調試接口上實現,不能在JTAG-DP調試接口上實現。

JTAG-DP和SW-DP切換的機制

JTAG調試接口是默認的調試接口。如果調試器想要切換到SW-DP,必須在TMS/TCK上輸出一指定的JTAG序列(分別映射到SWDIO和SWCLK),該序列禁止JTAG-DP,并激活SW-DP。該方法可以只通過SWCLK和SWDIO兩個引腳來激活SW-DP接口。

指定的序列是:

1. 輸出超過50個TCK周期的TMS(SWDIO)= 1信號

2. 輸出16個TMS(SWDIO)信號 0111100111100111 (MSB)

3. 輸出超過50個TCK周期的TMS(SWDIO)= 1信號

5

JTAG腳上的內部上拉和下拉

保證JTAG的輸入引腳不是懸空的是非常必要的,因為他們直接連接到D觸發器控制著調試模式。必須特別注意SWCLK/TCK引腳,因為他們直接連接到一些D觸發器的時鐘端。

為了避免任何未受控制的I/O電平, STM32在JTAG輸入腳上嵌入了內部上拉和下拉。

JINTRST:內部上拉

JTDI:內部上拉

JTMS/SWDIO:內部上拉

TCK/SWCLK:內部下拉

一旦JTAG I/O被用戶代碼釋放, GPIO控制器再次取得控制。這些I/O口的狀態將恢復到復位時的狀態。

JNTRST:帶上拉的輸入

JTDI:帶上拉的輸入

JTMS/SWDIO:帶上拉的輸入

JICK/SWCLK:帶下拉的輸入

JTDO:浮動輸入

軟件可以把這些I/O口作為普通的I/O口使用。

6

利用串行接口并釋放不用的調試腳作為普通I/O口

為了利用串行調試接口來釋放一些普通I/O口,用戶軟件必須在復位后設置SWJ_CFG=010,從而釋放PA15, PB3和PB4用做普通I/O口。

在調試時,調試器進行以下操作:

在系統復位時,所有SWJ引腳被分配為專用引腳(JTAG-DP + SW-DP)。

在系統復位狀態下,調試器發送指定JTAG序列,從JTAG-DP切換到SW-DP。

仍然在系統復位狀態下,調試器在復位地址處設置斷點

釋放復位信號,內核停止在復位地址處。

從這里開始,所有的調試通信將使用SW-DP接口,其他JTAG引腳可以由用戶代碼改配為普通I/O口。


提示:這個地方就是需要大家配置相關的引腳。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    147

    文章

    18924

    瀏覽量

    398032
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373413
  • DEBUG
    +關注

    關注

    3

    文章

    95

    瀏覽量

    21379
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    告別USB線!無線ADB調試,附全志/瑞芯微實戰教程

    前言:作為嵌入式開發者,很多人習慣性使用ADB而不是調試debug串口。尤其是在使用buildroot或ubuntu這類非Android系統的嵌入式設備時,傳統的ADB調試依賴于通過USB線將設
    的頭像 發表于 01-23 08:32 ?5328次閱讀
    告別USB線!無線ADB<b class='flag-5'>調試</b>,附全志/瑞芯微實戰教程

    進迭時空 debug upstream | 取之于開源,貢獻于開源

    Debug相關軟件項目概覽RISC-V調試所涉及的核心開源軟件主要包括GDB和OpenOCD。GDB(GNUDebugger)是GNU項目下的功能強大的源碼級調
    的頭像 發表于 11-17 09:33 ?5451次閱讀
    進迭時空 <b class='flag-5'>debug</b> upstream | 取之于開源,貢獻于開源

    Nuclei Studio 編譯調試工程

    和bss段,以及總大小的十進制和十六進制數值。 GD-Link調試 在“Run-&gt;Debug Configurations”下可配置調試信息 1.雙擊GDB OpenOCD
    發表于 10-30 06:31

    基于FPGA平臺的蜂鳥E203 JTAG debug出錯問題的解決思路

    大概花了三天時間完成了蜂鳥E203 SOC在zynq7100 FPGA的移植工作,并完成了hello world程序的在線debug調試。 蜂鳥E203的移植在網上有大把的demo,其中bit文件
    發表于 10-28 07:38

    STM32H745XIH6不能進行雙核調試,CM4不能進行在線調試怎么解決?

    你好, 問題: STM32H745XIH6不能進行雙核調試,CM4不能進行在線調試軟件:KEIL 5.41調試器STLINK V3按照手冊文檔AN5286雙核
    發表于 06-09 06:58

    使用STM32CubeIDE對STM32H7進行開發和調試,CM4始終報\"Failed to read ROM table via AP 3\"錯誤怎么解決?

    我正在使用STM32CubeIDE對STM32H7系列雙核微控制器進行開發和調試,但遇到了一個頑固的問題,希望能得到社區的幫助和建議。 ### 問題描述 我根據應用手冊AN5361,使用內置示例
    發表于 05-14 06:20

    STM32H7雙核調試,CM7能成功調試但CM4始終報\"Failed to read ROM table via AP 3\"錯誤是怎么回事?

    我正在使用STM32CubeIDE對STM32H7系列雙核微控制器進行開發和調試,但遇到了一個頑固的問題,希望能得到社區的幫助和建議。 ### 問題描述 我根據應用手冊AN5361,使用內置示例
    發表于 04-27 06:40

    STM32H750VB sys為什么無法選擇debug模式?

    STM32H750VB sys無法選擇debug 模式, 哪位大佬可以解答一下,非常感謝
    發表于 03-19 18:32

    STM32調試神器STM32CubeMonitor介紹

    STM32CubeMonitor除了同樣可以提供變量監測的功能,還有非常豐富的組件可以搭建各種風格的圖形化界面,以及眾多免費的第三方組件可以進行功能擴展。此外,STM32CubeMonito還支持遠程監測功能。
    的頭像 發表于 03-17 10:45 ?1920次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>調試</b>神器<b class='flag-5'>STM32</b>CubeMonitor介紹

    如何通過J-Link實現STM32H5控制調試端口

    基于J-Link實現STM32H5安全編程介紹了在禁用TrustZone時,如何通過J-Link實現STM32H5控制調試端口的安全鎖定或回歸打開。
    的頭像 發表于 03-17 10:25 ?1399次閱讀
    如何通過J-Link實現<b class='flag-5'>STM32</b>H5控制<b class='flag-5'>調試</b>端口

    stm32f103c8t6編碼器模式在keil的debug調試時遇到的問題求解

    stm32f103c8t6編碼器模式在keil的debug調試時,手動把編碼器的計數器置為一個數500(比如計數器溢出值是4000),然后在在讓編碼器繼續開始輸出,此時計數器的計數變為原來正常的兩倍了,直到計數器溢出一次就變正常
    發表于 03-14 06:06

    debug選項卡中的trace enable選項是灰色的無法勾選,為什么?

    想用debug測程序運行的時間,但是這個trace enable選項是灰色的無法勾選,這是怎么回事,在網上也沒搜到相關的解決方法,請高手給指條明路,感謝! 采用的是CMSIS-DAP下載器,會不會是這個問題,因為我看一些網絡教程他們都用的是ST-link下載器來進行
    發表于 03-12 08:02

    使用stm32cubeide debug是可以運行的,但是就是不能跳轉,為什么?

    使用stm32cubeide debug是可以運行的,但是就是不能跳轉,很奇怪
    發表于 03-12 08:01

    請問STM32G473是否支持硬件AES?

    STM32G473參考手冊及數據手冊中含有硬件AES相關內容及寄存器相關描述。但STM32G473xx.h中并無AES相關寄存器,pack版
    發表于 03-12 06:38

    變頻器維修相關知識

    變頻器維修是一項涉及理論知識、實踐經驗與操作水平的工作,其維修過程需要遵循一定的步驟和方法。以下是一些關于變頻器維修的相關知識: 一、變頻器維修的基本步驟 1. 靜態測試: ●?整流電路測試
    的頭像 發表于 03-09 07:40 ?1555次閱讀
    變頻器維修<b class='flag-5'>相關</b><b class='flag-5'>知識</b>