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

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

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

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

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

Geehy極海半導(dǎo)體 ? 來(lái)源:21ic論壇 ? 作者:21ic論壇 ? 2022-09-08 11:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

問(wèn)題背景

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

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

測(cè)試原理

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

所以我們可以:

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

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

· 注意現(xiàn)場(chǎng)保存、寄存器值入棧順序: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í)測(cè)基于APM32F407demo板,新建會(huì)觸發(fā)HardFault的例程——訪問(wèn)、改寫(xiě)溢出實(shí)際SRAM存儲(chǔ)空間的數(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堆棧位置,存儲(chǔ)著進(jìn)入HardFault前的內(nèi)核寄存器信息,如圖所示

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    31

    文章

    5433

    瀏覽量

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

    關(guān)注

    3

    文章

    4379

    瀏覽量

    64829

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

    調(diào)試器的工作原理、驅(qū)動(dòng)配置流程、調(diào)試環(huán)境搭建、斷點(diǎn)設(shè)置、寄存器與內(nèi)存調(diào)試、調(diào)試日志分析等方面,結(jié)合實(shí)際應(yīng)用案例,旨在為硬件工程師和技術(shù)開(kāi)發(fā)人員提供
    的頭像 發(fā)表于 06-12 23:20 ?445次閱讀
    硬件<b class='flag-5'>調(diào)試</b>:JLink 驅(qū)動(dòng)配置與<b class='flag-5'>調(diào)試</b>技巧

    基于極海APM32E103 MCU的CoreMark測(cè)試方法

    CoreMark跑分可以了解到MCU的算力。下面以APM32E103芯片和Keil為例,介紹下如何在APM32上面運(yùn)行CoraMark測(cè)試。CoreMark需要定時(shí)器用于計(jì)時(shí),還需要用串口來(lái)打印輸出測(cè)試結(jié)果。
    的頭像 發(fā)表于 06-12 09:42 ?497次閱讀
    基于極海<b class='flag-5'>APM</b>32E103 MCU的CoreMark測(cè)試<b class='flag-5'>方法</b>

    研發(fā)排查問(wèn)題的利器:方法調(diào)用棧跟蹤工具

    作者:京東物流 郭忠強(qiáng) 導(dǎo)語(yǔ) 本文從日常值班問(wèn)題排查痛點(diǎn)出發(fā),分析方法復(fù)用的調(diào)用鏈路和上下文業(yè)務(wù)邏輯,通過(guò)思考分析,借助棧幀開(kāi)發(fā)了個(gè)方法調(diào)用棧的鏈?zhǔn)礁櫣ぞ撸阌谡故?/div>
    的頭像 發(fā)表于 05-06 17:24 ?2694次閱讀
    研發(fā)<b class='flag-5'>排查</b>問(wèn)題的利器:<b class='flag-5'>一</b>款<b class='flag-5'>方法</b>調(diào)用棧跟蹤工具

    人臉識(shí)別門(mén)禁終端的般故障排查方法

    問(wèn)題,有些可能是使用環(huán)境造成,有些可能是人為不小心損壞了。下面,天波小編就來(lái)簡(jiǎn)單介紹人臉識(shí)別門(mén)禁終端的般故障排查方法吧。【電源問(wèn)題】當(dāng)
    的頭像 發(fā)表于 04-27 10:45 ?598次閱讀
    人臉識(shí)別門(mén)禁終端的<b class='flag-5'>一</b>般故障<b class='flag-5'>排查</b><b class='flag-5'>方法</b>

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

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

    DCS日常維護(hù)與故障分析排查方法

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

    怎么用Clion開(kāi)發(fā)APM32

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

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

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

    一種創(chuàng)新的動(dòng)態(tài)軌跡預(yù)測(cè)方法

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

    一種簡(jiǎn)單高效配置FPGA的方法

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

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

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

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

    近日,在學(xué)習(xí)APM32開(kāi)發(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 ?817次閱讀
    <b class='flag-5'>APM</b>32F10xx進(jìn)入低功耗模式的問(wèn)題分析

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

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

    測(cè)試用例怎么寫(xiě)

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

    一種無(wú)透鏡成像的新方法

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