色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

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

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

問題背景

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

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

測試原理

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

所以我們可以:

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

· 根據(jù)對應(yīng)堆棧SP指針,挑出觸發(fā)HardFault的PC指針?biāo)赶虻奈恢谩?/p>

· 注意現(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

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

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

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

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

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

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    31

    文章

    5355

    瀏覽量

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

    關(guān)注

    3

    文章

    4333

    瀏覽量

    62708

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    怎么用Clion開發(fā)APM32

    APM32 官方 SDK 中提供了三開發(fā)環(huán)境:Keil、IAR 和 Eclipse。不否認(rèn)這三環(huán)境的強(qiáng)大,但是在 AI 時代做嵌入式開發(fā),用這三環(huán)境就顯得有點(diǎn)不夠優(yōu)雅了。本篇文章
    的頭像 發(fā)表于 12-17 09:19 ?893次閱讀
    怎么用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 ?239次閱讀

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

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

    APM32F10xx進(jìn)入低功耗模式的問題分析

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

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

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

    測試用例怎么寫

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

    一種無透鏡成像的新方法

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

    rup是一種什么模型

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

    網(wǎng)絡(luò)安全數(shù)字孿生:一種新穎的汽車軟件解決方案

    汽車軟件的數(shù)字孿生為整個汽車生命周期的汽車軟件提供了一種新的方法。軟件孿生技術(shù)可以幫助整車廠和供應(yīng)商優(yōu)化和驗(yàn)證他們的設(shè)計(jì),它還有助于改善現(xiàn)有
    的頭像 發(fā)表于 04-22 17:19 ?848次閱讀
    網(wǎng)絡(luò)安全數(shù)字孿生:<b class='flag-5'>一種</b>新穎的汽車<b class='flag-5'>軟件</b>解決方案

    APM32下載了APM專屬的HEX例程后識別不了芯片怎么解決?

    之前焊了塊,可以識別芯片,下載了APM專屬的HEX例程后反而識別不了了,非常痛苦。ARM內(nèi)核仍然存在,Keil里面也下載不了了……不是板子鎖死的問題
    發(fā)表于 03-28 06:20

    一種端接觸移動到另_行程距離傳感器

    一種端接觸移動到另_行程距離傳感器,用于高壓開關(guān)柜內(nèi)(10kv~35kv),
    發(fā)表于 03-09 03:35

    火災(zāi)報(bào)警參考軟件調(diào)試環(huán)境設(shè)置

    軟件調(diào)試
    Piezoman壓電俠
    發(fā)布于 :2024年01月18日 15:53:22

    介紹6常見的反調(diào)試方法

    一種防止逆向的方案。逆向人員如果遇到復(fù)雜的代碼混淆,有時會使用調(diào)試器動態(tài)分析代碼邏輯簡化分析流程。例如惡意軟件通常會被安全研究人員、反病毒廠商和其他安全專業(yè)人員分析和調(diào)試,以了解其行
    的頭像 發(fā)表于 01-15 09:53 ?3964次閱讀
    介紹6<b class='flag-5'>種</b>常見的反<b class='flag-5'>調(diào)試</b><b class='flag-5'>方法</b>

    SWD端口無法連接如何排查

    大家在調(diào)試GD32 MCU的時候是否也碰到過SWD調(diào)試端口無法連接的情況?SWD端口無法連接的原因有很多,有時候排查沒有思路,可能會耽誤大家的時間,下面小編為大家介紹常見的SWD無法連接的原因,供大家
    的頭像 發(fā)表于 01-10 10:46 ?2199次閱讀
    SWD端口無法連接如何<b class='flag-5'>排查</b>

    一種擴(kuò)展Spring控制反轉(zhuǎn)的絕妙方法

    類型等于JSON,我就用JSON解析器,那如果新加個類型的解析器,是不是調(diào)用的客戶還要修改呢?這顯然太耦合了,本文就介紹一種方法,服務(wù)定位模式Service Locator Pattern來解決,它幫助我們消除緊耦合實(shí)現(xiàn)及其
    的頭像 發(fā)表于 01-10 09:41 ?476次閱讀
    主站蜘蛛池模板: 亞洲人妻AV無碼在線視頻| 日韩欧美精品有码在线播放| 成人精品视频在线观看播放| 2020亚洲国产在线播放在线| 亚洲一品AV片观看五月色婷婷| 天天国产在线精品亚洲| 日韩亚洲国产中文字幕欧美| 漂亮的保姆5电影免费观看完整版中文| 毛片内射久久久一区| 精品午夜视频| 狠狠干狠狠色| 黄页网址大全免费观看| 黄片a级毛片| 久久sese| 浪货嗯啊趴下NP粗口黄暴| 久久午夜免费视频| 久久热这里只有 精品| 久章草一区二区| 两个人的视频hd全免费| 拉菲娱乐主管高工资q39709| 啦啦啦WWW在线观看免费高清版| 久久亚洲这里只有精品18| 久久性综合亚洲精品电影网| 伦理片2499电影伦理片| 美女露出逼| 欧美精品高潮呻吟AV久久| 青青久久网| 婷婷五月久久精品国产亚洲| 学校女性奴sm训练调教| 亚洲午夜精品AV无码少妇| 中国字字幕在线播放2019| 99精品电影| 大胸美女洗澡扒奶衣挤奶| 国产精品你懂得| 寂寞夜晚看免费视频| 久久综合伊人| 欧美极限扩肛| 私人玩物在线观看| 亚洲欧美人成视频在线| 最近中文字幕完整版免费高清| AV多人爱爱XXx|