日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

硬件錯(cuò)誤中斷

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

數(shù)組越界操作;

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

堆棧溢出,程序跑飛;

中斷處理錯(cuò)誤;

遇到這種情況,可以通過以下2種方式來定位到出錯(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,接下來以此為例。

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

寄存器信息

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

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

地址一般以0x08開頭的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ì)找到相對應(yīng)的代碼。這里的代碼就是進(jìn)入循環(huán)中斷之前的情況。

仔細(xì)查看附近區(qū)域的相關(guān)代碼來排查錯(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對話框。

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

審核編輯 :李倩

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

    關(guān)注

    2313

    文章

    11195

    瀏覽量

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

    關(guān)注

    13

    文章

    3638

    瀏覽量

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

    關(guān)注

    3

    文章

    4422

    瀏覽量

    67876

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    BLDC 驅(qū)動(dòng)板 FOC 矢量控制算法移植與參數(shù)調(diào)試(工程實(shí)用版)

    這是一篇可直接用于項(xiàng)目開發(fā)、量產(chǎn)調(diào)試的 FOC 移植與調(diào)試指南,面向STM32/GD32 + 三相 BLDC/PMSM 無刷馬達(dá)驅(qū)動(dòng)板,包含移植步驟、關(guān)鍵參數(shù)、調(diào)試流程、波形判斷、常見
    的頭像 發(fā)表于 04-27 15:32 ?935次閱讀

    STM32N6 在 PSRAM 上運(yùn)行代碼的調(diào)試

    開發(fā)其產(chǎn)品過程中,使用了 STM32N657X0H3Q??蛻舻拇a很大,不能放在SRAM 上運(yùn)行,想放在 PSRAM 上去運(yùn)行,并咨詢?nèi)绾卧?STM32CubeIDE 上進(jìn)行調(diào)試。2.2. 重現(xiàn)問題關(guān)于如何將用戶代碼放置在 PS
    發(fā)表于 04-15 16:02 ?0次下載

    CAN總線報(bào)錯(cuò)看不懂?5種錯(cuò)誤幀+5步排查法一次講清

    其他節(jié)點(diǎn),進(jìn)而丟棄錯(cuò)誤報(bào)文并觸發(fā)重發(fā)機(jī)制,確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。在CAN通信調(diào)試中,錯(cuò)誤幀是定位問題的重要線索。五種錯(cuò)誤幀類型CAN協(xié)議定義了以下五種
    的頭像 發(fā)表于 03-16 11:36 ?482次閱讀
    CAN總線報(bào)錯(cuò)看不懂?5種<b class='flag-5'>錯(cuò)誤</b>幀+5步排查法一次講清

    LAT1621_STM32N6 在 PSRAM 上運(yùn)行代碼的調(diào)試

    STM32N657X0H3Q。客戶的代碼很大,不能放在SRAM 上運(yùn)行,想放在 PSRAM 上去運(yùn)行,并咨詢?nèi)绾卧?STM32CubeIDE 上進(jìn)行調(diào)試。
    發(fā)表于 03-11 10:44 ?0次下載

    深入解析Renesas E1/E20 Emulator:硬件設(shè)計(jì)與調(diào)試的全方位指南

    深入解析Renesas E1/E20 Emulator:硬件設(shè)計(jì)與調(diào)試的全方位指南 在電子設(shè)計(jì)領(lǐng)域,調(diào)試工具的重要性不言而喻。Renesas E1/E20 Emulator作為一款強(qiáng)大的調(diào)試
    的頭像 發(fā)表于 03-03 17:30 ?1378次閱讀

    使用 J-LINK 調(diào)試時(shí)發(fā)生錯(cuò)誤,是什么原因?qū)е碌??如何解決?

    使用J-Link調(diào)試時(shí)發(fā)生錯(cuò)誤,如圖所示。我應(yīng)該如何解決這個(gè)錯(cuò)誤?
    發(fā)表于 02-26 10:08

    單片機(jī)系統(tǒng)硬件調(diào)試方法

    ,單片機(jī)的系統(tǒng)硬件調(diào)試,需要從硬件的靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試兩個(gè)角度人手: 單片機(jī)系統(tǒng)硬件的靜態(tài)
    發(fā)表于 12-03 06:10

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

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

    AS32X601系列MCU硬件最小系統(tǒng)設(shè)計(jì)與調(diào)試方案探析

    在嵌入式系統(tǒng)領(lǐng)域,MCU(微控制單元)作為核心部件,其硬件最小系統(tǒng)設(shè)計(jì)的合理性與調(diào)試的有效性直接決定了整個(gè)系統(tǒng)的穩(wěn)定性與可靠性。憑借其卓越的性能和豐富的功能,廣泛應(yīng)用于各類電子設(shè)備中。本文以國科安芯
    的頭像 發(fā)表于 07-22 13:46 ?858次閱讀

    請問中斷過多的時(shí)候進(jìn)入硬件錯(cuò)誤如何處置?

    中斷過多的時(shí)候進(jìn)入硬件錯(cuò)誤如何處置?是加看門狗還是加硬件錯(cuò)誤處理?
    發(fā)表于 07-21 06:11

    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)過我的排除后發(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)試技巧。本文以國科安
    的頭像 發(fā)表于 06-12 23:20 ?1933次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>調(diào)試</b>:JLink 驅(qū)動(dòng)配置與<b class='flag-5'>調(diào)試</b>技巧

    遠(yuǎn)程日志errDump調(diào)試功能實(shí)戰(zhàn)教程:案例驅(qū)動(dòng)的故障排查!

    及Air8101開發(fā)板實(shí)操驗(yàn)證。 ? 一、errDump功能介紹 1.1 errDump有什么用? errDump是LuatOS系統(tǒng)中的錯(cuò)誤日志上報(bào)模塊,主要用于遠(yuǎn)程調(diào)試與故障診斷。 其原理是將模塊運(yùn)行過程中產(chǎn)生的錯(cuò)誤信息或者應(yīng)
    的頭像 發(fā)表于 06-09 16:51 ?878次閱讀
    遠(yuǎn)程日志errDump<b class='flag-5'>調(diào)試</b>功能實(shí)戰(zhàn)教程:案例驅(qū)動(dòng)的故障排查!

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

    通過AP 3訪問CM4? 2. 是否有其他可能影響雙核調(diào)試的配置或設(shè)置? 3. 有沒有特定的調(diào)試命令或方法可以獲取更詳細(xì)的錯(cuò)誤信息? 4. 這個(gè)問題是否與特定的STM32H7型號或開發(fā)
    發(fā)表于 05-14 06:20
    阿克苏市| 防城港市| 仁布县| 长寿区| 西充县| 安徽省| 绥化市| 军事| 遂宁市| 井研县| 池州市| 安徽省| 柳林县| 桃江县| 曲阜市| 高邮市| 保康县| 上虞市| 郑州市| 泸定县| 正镶白旗| 宜黄县| 汨罗市| 财经| 宝丰县| 绥化市| 东宁县| 镶黄旗| 阳泉市| 凉城县| 宁远县| 金乡县| 德清县| 大城县| 苗栗市| 壤塘县| 南江县| 新和县| 满洲里市| 津南区| 阳江市|