一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

使用APM32一種排查軟件端問題的調(diào)試方法

Geehy極海半導體 ? 來源:21ic論壇 ? 作者:21ic論壇 ? 2022-09-08 11:00 ? 次閱讀

問題背景

實際調(diào)試、或者產(chǎn)品開發(fā)階段,有時候會碰到產(chǎn)品觸發(fā)異常、報HardFault這類錯誤。

在這里介紹一種排查軟件端問題的調(diào)試方法。

測試原理

簡單來說,就是利用 “MCU觸發(fā)HardFault異常、跳轉(zhuǎn)到HardFault服務函數(shù)前,會把現(xiàn)場的內(nèi)核寄存器值先壓入堆??臻g保存好” 的這個特性。

所以我們可以:

· 確認觸發(fā)HardFault后,使用的是PSP進程堆棧,還是MSP主堆棧(一般是MSP,也可理解用戶在SRAM中劃分出來的堆??臻g)

· 根據(jù)對應堆棧SP指針,挑出觸發(fā)HardFault的PC指針所指向的位置。

· 注意現(xiàn)場保存、寄存器值入棧順序:xPSR-》PC-》LR-》R12-》R3~R0

b5dfeb18-2f16-11ed-ba43-dac502259ad0.jpg

b5f0adae-2f16-11ed-ba43-dac502259ad0.jpg

b60eddf6-2f16-11ed-ba43-dac502259ad0.jpg

實測基于APM32F407demo板,新建會觸發(fā)HardFault的例程——訪問、改寫溢出實際SRAM存儲空間的數(shù)據(jù)。

b635432e-2f16-11ed-ba43-dac502259ad0.jpg

b6577ac0-2f16-11ed-ba43-dac502259ad0.jpg 仿真調(diào)試下,全速運行,成功觸發(fā)Hardfault。

b66ae5e2-2f16-11ed-ba43-dac502259ad0.jpg

在0x2000_03E0堆棧位置,存儲著進入HardFault前的內(nèi)核寄存器信息,如圖所示

·PC指向地址是0x08003AA——可找到對應觸發(fā)HardFault的匯編代碼

b6962e32-2f16-11ed-ba43-dac502259ad0.jpg

上述分析可以看到,在對0x2003_0002這個異常存儲空間進行操作后,會影響往下代碼指令的執(zhí)行(特別是操作SRAM空間)從而觸發(fā)HardFault

后話HardFault的觸發(fā)還有很多因素,比如客戶的MCU供電問題、某些VCAP腳沒接上、硬件接地干擾、Flash等待周期不符合芯片規(guī)定等等。文章所介紹的方法只是針對軟件部分的排查參考。

審核編輯 :李倩

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

    關(guān)注

    31

    文章

    5401

    瀏覽量

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

    關(guān)注

    3

    文章

    4365

    瀏覽量

    63872

原文標題:APM32芯得 EP.08 | APM32F407 HardFault排查——軟件方案

文章出處:【微信號:geehysemi,微信公眾號:Geehy極海半導體】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    人臉識別門禁終端的般故障排查方法

    問題,有些可能是使用環(huán)境造成,有些可能是人為不小心損壞了。下面,天波小編就來簡單介紹人臉識別門禁終端的般故障排查方法吧?!倦娫磫栴}】當
    的頭像 發(fā)表于 04-27 10:45 ?107次閱讀
    人臉識別門禁終端的<b class='flag-5'>一</b>般故障<b class='flag-5'>排查</b><b class='flag-5'>方法</b>

    電機控制器出現(xiàn)的一種偶發(fā)故障排查與分析

    通信方式傳輸信息,控制器接收總控系統(tǒng)發(fā)出的電機啟動和轉(zhuǎn)速指令,同時向總控系統(tǒng)反饋電機的工作狀態(tài),包括電壓、電流、轉(zhuǎn)速、轉(zhuǎn)向等信息。純分享帖,需要者可點擊附件獲取完整資料~~~*附件:電機控制器出現(xiàn)的一種
    發(fā)表于 04-14 21:32

    前端調(diào)試實踐

    前言 在日常調(diào)試問題中,相信我們很多人都是用console去排查相關(guān)的問題,雖然問題也可以排查出來,但是有時它的效率并不高。這篇文章主要講解關(guān)于斷點和些日常
    的頭像 發(fā)表于 03-11 15:41 ?204次閱讀
    前端<b class='flag-5'>調(diào)試</b>實踐

    DCS日常維護與故障分析排查方法

    DCS(分布式控制系統(tǒng))的日常維護與故障分析排查是確保系統(tǒng)穩(wěn)定運行的關(guān)鍵環(huán)節(jié)。以下提供DCS日常維護與故障分析排查的詳細方法、日常維護方法
    的頭像 發(fā)表于 03-05 16:53 ?399次閱讀
    DCS日常維護與故障分析<b class='flag-5'>排查</b><b class='flag-5'>方法</b>

    怎么用Clion開發(fā)APM32

    APM32 官方 SDK 中提供了三開發(fā)環(huán)境:Keil、IAR 和 Eclipse。不否認這三環(huán)境的強大,但是在 AI 時代做嵌入式開發(fā),用這三環(huán)境就顯得有點不夠優(yōu)雅了。本篇文章
    的頭像 發(fā)表于 12-17 09:19 ?1465次閱讀
    怎么用Clion開發(fā)<b class='flag-5'>APM32</b>

    射頻放大器調(diào)試與故障排查

    、射頻放大器的基本工作原理 在深入調(diào)試和故障排查之前,了解射頻放大器的基本工作原理是必要的。射頻放大器通常由輸入匹配網(wǎng)絡(luò)、放大器核心和輸出匹配網(wǎng)絡(luò)組成。輸入匹配網(wǎng)絡(luò)確保信號能夠有效地從源傳遞到
    的頭像 發(fā)表于 12-16 09:06 ?858次閱讀

    一種創(chuàng)新的動態(tài)軌跡預測方法

    本文提出了一種動態(tài)軌跡預測方法,通過結(jié)合歷史幀和歷史預測結(jié)果來提高預測的穩(wěn)定性和準確性。它引入了歷史預測注意力模塊,以編碼連續(xù)預測之間的動態(tài)關(guān)系,并通過三重因子注意力模塊實現(xiàn)了最先進的性能。本方法能夠生成準確且穩(wěn)定的未來軌跡,這
    的頭像 發(fā)表于 10-28 14:34 ?819次閱讀
    <b class='flag-5'>一種</b>創(chuàng)新的動態(tài)軌跡預測<b class='flag-5'>方法</b>

    一種簡單高效配置FPGA的方法

    本文描述了一種簡單高效配置FPGA的方法,該方法利用微處理器從串行外圍接口(SPI)閃存配置FPGA設(shè)備。這種方法減少了硬件組件、板空間和成本。
    的頭像 發(fā)表于 10-24 14:57 ?1254次閱讀
    <b class='flag-5'>一種</b>簡單高效配置FPGA的<b class='flag-5'>方法</b>

    伺服電機有哪些調(diào)試方法?如何調(diào)?

    伺服電機是一種高精度的電機,廣泛應用于自動化設(shè)備、機器人、數(shù)控機床等領(lǐng)域。為了確保伺服電機的性能和穩(wěn)定性,需要進行正確的調(diào)試。以下是些常見的伺服電機調(diào)試
    的頭像 發(fā)表于 10-22 11:04 ?2528次閱讀

    APM32F10xx進入低功耗模式的問題分析

    近日,在學習APM32開發(fā)板關(guān)于PMU模塊的內(nèi)容,看到很多內(nèi)容都是調(diào)用WFI內(nèi)核指令進入低功耗模式,于是自己想嘗試調(diào)用WFE內(nèi)核指令進入低功耗模式,但在APM32F10xx中,我運用按鍵中斷,在中斷
    的頭像 發(fā)表于 10-18 16:13 ?661次閱讀
    <b class='flag-5'>APM</b>32F10xx進入低功耗模式的問題分析

    TI低功率Smart PA調(diào)試系列之:揚聲器工作原理及軟件調(diào)試入門

    電子發(fā)燒友網(wǎng)站提供《TI低功率Smart PA調(diào)試系列之:揚聲器工作原理及軟件調(diào)試入門.pdf》資料免費下載
    發(fā)表于 09-26 09:14 ?2次下載
    TI低功率Smart PA<b class='flag-5'>調(diào)試</b>系列之<b class='flag-5'>一</b>:揚聲器工作原理及<b class='flag-5'>軟件</b><b class='flag-5'>調(diào)試</b>入門

    一種利用wireshark對遠程服務器/路由器網(wǎng)絡(luò)抓包方法

    一種利用wireshark對遠程服務器/路由器網(wǎng)絡(luò)抓包方法
    的頭像 發(fā)表于 09-21 08:03 ?4335次閱讀
    <b class='flag-5'>一種</b>利用wireshark對遠程服務器/路由器網(wǎng)絡(luò)抓包<b class='flag-5'>方法</b>

    測試用例怎么寫

    編寫測試用例是確保軟件系統(tǒng)從頭到尾能夠正常工作的關(guān)鍵步驟。以下是個詳細的指南,介紹如何編寫
    的頭像 發(fā)表于 09-20 10:29 ?816次閱讀

    一種無透鏡成像的新方法

    使用OAM-HHG EUV光束對高度周期性結(jié)構(gòu)進行成像的EUV聚光顯微鏡 為了研究微電子或光子元件中的納米級圖案,一種基于無透鏡成像的新方法可以實現(xiàn)近乎完美的高分辨率顯微鏡。 層析成像是一種強大的無
    的頭像 發(fā)表于 07-19 06:20 ?628次閱讀
    <b class='flag-5'>一種</b>無透鏡成像的新<b class='flag-5'>方法</b>

    rup是一種什么模型

    RUP(Rational Unified Process,統(tǒng)建模語言)是一種軟件開發(fā)過程模型,它是一種迭代和增量的軟件開發(fā)
    的頭像 發(fā)表于 07-09 10:13 ?1974次閱讀