chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

STM32硬件錯(cuò)誤的調(diào)試技巧

小麥大叔 ? 來(lái)源:小麥大叔 ? 作者:小麥大叔 ? 2022-07-21 14:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在用Keil對(duì)STM32的程序進(jìn)行仿真時(shí)程序有時(shí)會(huì)跑飛,停止仿真程序會(huì)停在HardFault_Handler函數(shù)里的死循環(huán)while(1)中。

這說(shuō)明STM32出現(xiàn)了硬件錯(cuò)誤。

4651ec2c-08a8-11ed-ba43-dac502259ad0.png

硬件錯(cuò)誤中斷

STM32出現(xiàn)硬件錯(cuò)誤可能有以下原因:

數(shù)組越界操作;

內(nèi)存溢出,訪問(wèn)越界;

堆棧溢出,程序跑飛;

中斷處理錯(cuò)誤;

遇到這種情況,可以通過(guò)以下2種方式來(lái)定位到出錯(cuò)代碼段。

方法1:

在硬件中斷函數(shù)HardFault_Handler里的while(1)處打調(diào)試斷點(diǎn),程序執(zhí)行到斷點(diǎn)處時(shí)點(diǎn)擊STOP停止仿真。

466c27d6-08a8-11ed-ba43-dac502259ad0.png

示例

1.2 在Keil菜單欄點(diǎn)擊View——Registers Window,在寄存器查看窗口查找R14(LR)的值。

如果R14(LR) = 0xFFFFFFE9,繼續(xù)查看MSP(主堆棧指針)的值;如果R14(LR) = 0xFFFFFFFD,繼續(xù)查看PSP(進(jìn)程棧指針)的值;

我的程序R14(LR) = 0xFFFFFFF9,接下來(lái)以此為例。

467999d4-08a8-11ed-ba43-dac502259ad0.png

寄存器信息

1.3 在Keil菜單欄點(diǎn)擊“View”——“Memory Windows”——“Memory1”;

在“Address”地址欄中輸入MSP的值:0x20001288,然后在對(duì)應(yīng)的行里找到地址。

地址一般以0x08開(kāi)頭的32位數(shù)。本例中,地址為0x08003CB9。

4691ad3a-08a8-11ed-ba43-dac502259ad0.png

內(nèi)存信息

1.4 在Keil菜單欄點(diǎn)擊View——Disassembly Window,在Disassembly窗口中右擊,在下拉菜單中選擇Show Disassemblyat Address...。

在彈出框Show Code atAdress的地址框中輸入地址0x08003CB9進(jìn)行搜索,然后就會(huì)找到相對(duì)應(yīng)的代碼。這里的代碼就是進(jìn)入循環(huán)中斷之前的情況。

仔細(xì)查看附近區(qū)域的相關(guān)代碼來(lái)排查錯(cuò)誤具體原因。

46b206c0-08a8-11ed-ba43-dac502259ad0.jpg

方法2:

2.1在硬件中斷函數(shù)HardFault_Handler里的while(1)處打調(diào)試斷點(diǎn),程序執(zhí)行到斷點(diǎn)處時(shí)點(diǎn)擊“STOP”停止仿真。

46d05efe-08a8-11ed-ba43-dac502259ad0.jpg

CallStack

2.2 在Keil菜單欄點(diǎn)擊View——Call Stack Window彈出Call Stack + Locals對(duì)話框。

然后在對(duì)話框中右鍵選擇Show Caller Code,就會(huì)跳轉(zhuǎn)到出錯(cuò)之前的函數(shù)處,仔細(xì)查看這部分函數(shù)被調(diào)用或者數(shù)組內(nèi)存使用情況。

審核編輯 :李倩

聲明:本文內(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)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2305

    文章

    11118

    瀏覽量

    370889
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3554

    瀏覽量

    68714
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4405

    瀏覽量

    66791

原文標(biāo)題:簡(jiǎn)單實(shí)用!STM32硬件錯(cuò)誤的調(diào)試技巧

文章出處:【微信號(hào):knifewheat,微信公眾號(hào):小麥大叔】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    AMD Vivado ChipScope助力硬件調(diào)試

    許多硬件問(wèn)題只有在整個(gè)集成系統(tǒng)實(shí)時(shí)運(yùn)行的過(guò)程中才會(huì)顯現(xiàn)出來(lái)。AMD Vivado ChipScope 提供了一套完整的調(diào)試流程,可在系統(tǒng)運(yùn)行期間最大限度提升對(duì)可編程邏輯的觀測(cè)能力,助力設(shè)計(jì)調(diào)試。
    的頭像 發(fā)表于 09-05 17:08 ?873次閱讀

    Modus工具箱調(diào)試錯(cuò)誤怎么解決?

    我下載了 Modus Toolbox 3.1.0 并成功添加了 CYBT0243053 的模板應(yīng)用程序。 但我在調(diào)試模板代碼時(shí)遇到了錯(cuò)誤。 我正在使用 USB 串口線進(jìn)行調(diào)試。 我該如何進(jìn)行調(diào)
    發(fā)表于 07-01 06:53

    使用STM32CubeIDE調(diào)試STM32MP157D的M4內(nèi)核時(shí)報(bào)了下圖這個(gè)錯(cuò)誤,怎么解決?

    我使用STM32CubeIDE調(diào)試STM32MP157D的M4內(nèi)核時(shí)報(bào)了下圖這個(gè)錯(cuò)誤: 經(jīng)過(guò)我的排除后發(fā)現(xiàn),應(yīng)該是STM32CubeIDE
    發(fā)表于 06-18 06:57

    硬件調(diào)試:JLink 驅(qū)動(dòng)配置與調(diào)試技巧

    摘要: 本文深入探討了 JLink 調(diào)試器在嵌入式系統(tǒng)硬件調(diào)試中的應(yīng)用,詳細(xì)闡述了 JLink 驅(qū)動(dòng)配置的方法以及硬件調(diào)試技巧。本文以國(guó)科安
    的頭像 發(fā)表于 06-12 23:20 ?1251次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>調(diào)試</b>:JLink 驅(qū)動(dòng)配置與<b class='flag-5'>調(diào)試</b>技巧

    使用STM32CubeIDE對(duì)STM32H7進(jìn)行開(kāi)發(fā)和調(diào)試,CM4始終報(bào)\"Failed to read ROM table via AP 3\"錯(cuò)誤怎么解決?

    通過(guò)AP 3訪問(wèn)CM4? 2. 是否有其他可能影響雙核調(diào)試的配置或設(shè)置? 3. 有沒(méi)有特定的調(diào)試命令或方法可以獲取更詳細(xì)的錯(cuò)誤信息? 4. 這個(gè)問(wèn)題是否與特定的STM32H7型號(hào)或開(kāi)發(fā)
    發(fā)表于 05-14 06:20

    STM32F10xxx硬件開(kāi)發(fā)指南

    官方STM32F10xxx硬件開(kāi)發(fā)指南
    發(fā)表于 04-14 14:59 ?2次下載

    在mimxrt1170_evk調(diào)試hello_world出現(xiàn)硬件傳輸錯(cuò)誤怎么解決?

    錯(cuò)誤 硬件傳輸錯(cuò)誤 調(diào)試上下文:evkmimxrt1170_hello_world_cm4 LinkServer Debug 請(qǐng)指教,非常感謝!
    發(fā)表于 03-25 07:31

    STM32調(diào)試神器STM32CubeMonitor介紹

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

    如何通過(guò)J-Link實(shí)現(xiàn)STM32H5控制調(diào)試端口

    基于J-Link實(shí)現(xiàn)STM32H5安全編程介紹了在禁用TrustZone時(shí),如何通過(guò)J-Link實(shí)現(xiàn)STM32H5控制調(diào)試端口的安全鎖定或回歸打開(kāi)。
    的頭像 發(fā)表于 03-17 10:25 ?1046次閱讀
    如何通過(guò)J-Link實(shí)現(xiàn)<b class='flag-5'>STM32</b>H5控制<b class='flag-5'>調(diào)試</b>端口

    STM32CubeIDE無(wú)法啟動(dòng)正常調(diào)試是哪里出了問(wèn)題?

    STM32CubeIDE始終正常使用中,昨日系統(tǒng)升級(jí)為 macOS Sequoia 版本,啟動(dòng)調(diào)試出現(xiàn)錯(cuò)誤提示,重新安裝應(yīng)用程序及 st-stlink-server 驅(qū)動(dòng),仍提示同樣錯(cuò)誤
    發(fā)表于 03-14 16:30

    使用STM32CubeIDE調(diào)試STM32MP157D的M4內(nèi)核時(shí)報(bào)了錯(cuò)誤怎么解決?

    我使用STM32CubeIDE調(diào)試STM32MP157D的M4內(nèi)核時(shí)報(bào)了下圖這個(gè)錯(cuò)誤: 經(jīng)過(guò)我的排除后發(fā)現(xiàn),應(yīng)該是STM32CubeIDE
    發(fā)表于 03-14 06:01

    STM32F103C8T6使用CubeIDE燒錄運(yùn)行報(bào)硬件錯(cuò)誤,相同代碼MDK燒錄卻可以正常運(yùn)行,為什么?

    自制PCB使用STM32F103C8T6,通過(guò)STM32CubeMX生成了CubeIDE項(xiàng)目和MDK項(xiàng)目,編譯下載相同的代碼CubeIDE不能正常執(zhí)行,經(jīng)過(guò)調(diào)試發(fā)現(xiàn)進(jìn)入了硬件
    發(fā)表于 03-12 06:18

    STM32 AD采集:電阻分壓電路調(diào)試指南

    調(diào)試基于STM32為主控,內(nèi)部ADC采集電阻分壓式電壓值電路,STM32未使用參考電壓源,直接將Vref接至3V3供電端,發(fā)現(xiàn)采集后電壓誤差較大,其電路圖如下所示。 理論計(jì)算 根據(jù)分壓公式,理想Vr
    的頭像 發(fā)表于 02-07 11:12 ?3262次閱讀
    <b class='flag-5'>STM32</b> AD采集:電阻分壓電路<b class='flag-5'>調(diào)試</b>指南

    GPIO錯(cuò)誤排查與解決

    。輸入模式下,GPIO可以讀取外部信號(hào);輸出模式下,GPIO可以控制外部設(shè)備。正確配置GPIO對(duì)于系統(tǒng)的正常運(yùn)行至關(guān)重要。 2. 常見(jiàn)的GPIO錯(cuò)誤 引腳配置錯(cuò)誤 :GPIO引腳未正確配置為輸入或輸出。 電平錯(cuò)誤 :輸出電平與預(yù)
    的頭像 發(fā)表于 01-09 09:46 ?3649次閱讀

    伺服系統(tǒng)調(diào)試技巧與注意事項(xiàng)

    。了解這些組件的功能和它們之間的連接方式是調(diào)試的基礎(chǔ)。 2. 檢查硬件連接 在通電之前,必須確保所有的硬件連接都是正確的。這包括電機(jī)與驅(qū)動(dòng)器之間的連接、編碼器的接線、以及與控制系統(tǒng)的通信連接。
    的頭像 發(fā)表于 12-10 10:15 ?1808次閱讀