91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

使用APM32一種排查軟件端問題的調試方法

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

掃碼添加小助手

加入工程師交流群

問題背景

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

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

測試原理

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

所以我們可以:

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

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

· 注意現場保存、寄存器值入棧順序: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存儲空間的數據。

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

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

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

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

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

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

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

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

審核編輯 :李倩

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

    關注

    31

    文章

    5612

    瀏覽量

    130193
  • 函數
    +關注

    關注

    3

    文章

    4419

    瀏覽量

    67682

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    智能掃地機器人驅動板接口定義與調試方法-技術性篇(艾畢勝電子)

    定義,并從硬件調試、軟件調試、聯(lián)合調試三個維度,闡述全流程調試方法,為驅動板的研發(fā)、生產與故障
    的頭像 發(fā)表于 03-18 16:58 ?347次閱讀

    CAN總線報錯看不懂?5錯誤幀+5步排查次講清

    CAN總線通信異常?錯誤幀頻繁出現?本文詳解五錯誤幀類型,并提供五步排查法,助你快速定位問題根源。錯誤幀的作用錯誤幀是CAN總線用于錯誤通知的報文。當任節(jié)點檢測到通信錯誤時,會立即發(fā)送錯誤幀通知
    的頭像 發(fā)表于 03-16 11:36 ?150次閱讀
    CAN總線報錯看不懂?5<b class='flag-5'>種</b>錯誤幀+5步<b class='flag-5'>排查</b>法<b class='flag-5'>一</b>次講清

    CD7377CZ/7388工程化調試故障排查手冊

    標簽:#CD7377CZ故障排查 #7388調試手冊 #音頻芯片工程調試 #線性穩(wěn)壓故障解決 #國產芯片應用 #電子工程實操
    的頭像 發(fā)表于 12-11 16:07 ?436次閱讀

    單片機系統(tǒng)硬件的調試方法

    在線仿真器和系統(tǒng).然后打開電源和啟動在線仿真器.進行在線仿真調試。在調試過程中.經常出現三故障.第一種是通電之后,電源的指示燈不亮,以及電位系數為零.此時可以用萬能表檢測電源的插座。
    發(fā)表于 12-03 06:10

    Keithley吉時利6511常見故障排查及解決方法

    Keithley吉時利6511作為款精密測量儀器,在長期使用中可能會遇到各種故障。以下是該設備常見故障的排查思路及解決方法,幫助用戶快速定位問題并恢復設備正常運行。 ? ? 、常見
    的頭像 發(fā)表于 11-21 18:47 ?1111次閱讀
    Keithley吉時利6511常見故障<b class='flag-5'>排查</b>及解決<b class='flag-5'>方法</b>

    瑞薩RZ/T2H PCIe通信的調試方法

    本文闡述了RZ/T2H的PCIe外設作為EP,在Windows上做驅動開發(fā)、速率測試時,可能會遇到無法被Windows識別的問題。本文總結了調試方法和技巧,來排查問題原因和解決
    的頭像 發(fā)表于 11-20 16:53 ?5912次閱讀
    瑞薩RZ/T2H PCIe通信的<b class='flag-5'>調試</b><b class='flag-5'>方法</b>

    調試器無法連接的排查方法

    硬件檢查: 確認 SWD 接線:SWCLK、SWDIO、GND 連接正確(VCC 可選)。 目標板供電正常(3.3V),調試器與板共地。 BOOT0 引腳接地(從 Flash 啟動)。 軟件配置
    發(fā)表于 11-18 06:15

    在極海APM32系列MCU中如何把代碼重定位到SDRAM運行

    在有些情況下,我們想要把代碼放到SDRAM運行。下面介紹在APM32的MCU中,如何把代碼重定位到SDRAM運行。對于不同APM32系列的MCU,方法都是樣的。
    的頭像 發(fā)表于 11-04 09:14 ?5251次閱讀
    在極海<b class='flag-5'>APM32</b>系列MCU中如何把代碼重定位到SDRAM運行

    start openocd timeout 的一種解決方式

    在使用Nuclei Studio進行開發(fā)時,下載程序時提示“start openocd timeout”,但是之前下載時從沒有出現過這種情況。 各種方法嘗試了后(包括重建工程,重啟軟件等),都無濟于事,最后在電腦上把調試器更換了
    發(fā)表于 10-27 06:34

    E30M6203-5G網關通訊遠程調試工具說明書

    工程機械領域控制器以及顯示屏都是通過以太網、CAN bus、RS232等通訊的,然而這些通訊方式在機器發(fā)生故障技術人員進行排查時就必須現場通過PEAK CAN等工具連接電腦調試。此文檔是一種擺脫有線的遠程
    發(fā)表于 10-17 16:33 ?0次下載

    求助,關于5.0.2 + serial_v1 + apm32f103vet6串口讀幀問題求解

    次使用rtt,第次來這里,先給各位前輩問個好,祝大家年年加薪,身體杠杠! 開始使用v2版本,編譯通過后下載沒反應,可能針對極海APM32適配還不完善,就使用了v1版本,官方提供的歷程可以正常
    發(fā)表于 10-10 07:11

    硬件調試:JLink 驅動配置與調試技巧

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

    基于極海APM32E103 MCU的CoreMark測試方法

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

    研發(fā)排查問題的利器:方法調用棧跟蹤工具

    作者:京東物流 郭忠強 導語 本文從日常值班問題排查痛點出發(fā),分析方法復用的調用鏈路和上下文業(yè)務邏輯,通過思考分析,借助棧幀開發(fā)了方法調用棧的鏈式跟蹤工具,便于展示
    的頭像 發(fā)表于 05-06 17:24 ?3204次閱讀
    研發(fā)<b class='flag-5'>排查</b>問題的利器:<b class='flag-5'>一</b>款<b class='flag-5'>方法</b>調用棧跟蹤工具

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

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