女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

實戰經驗 | TrustZone 架構下 LPBAM 使用導致的 HardFault

STM32單片機 ? 來源:未知 ? 2023-10-20 15:05 ? 次閱讀
wKgaomUyJ8mAUJSZAAHUHXdxAL4994.gif

關鍵詞:TrustZone,HardFault

目錄預覽

1、簡介

2、問題分析

3、總結

01

簡介


客戶使用 STM32U5 進行開發,并使能了 TrustZone 架構,程序需要從 bootloader 跳轉到app。在之前版本都是正常跳轉的,某一天 IAR 從 9.20 升級到 9.30 后,程序跳轉失敗,并且會導致 hardfault,想知道為什么會失敗。

wKgaomUyJ8qAXhuzAAWv_yD84y0479.png

圖1.IAR9.20 和 IAR9.30 生成的匯編代碼對比

02

問題分析


通過斷點和單步調試,我們發現出現問題的指令如下所示:

wKgaomUyJ8qAQSBjAAVSMORkRzs862.png

圖2.程序下一步將 Hardfault

而沒有發生 hardfault 的版本匯編代碼,如下圖:

wKgaomUyJ8qAIr2yAAlBO4Ea5y0597.png

圖3.程序不會發生 Hardfault

通過單步調試,我們知道了 VLSTM SP 這條指令導致了 hardfault。接著我們再確認下 SP 指針,錯誤版本的 SP 的內容為:0x300020b4,正確版本的 SP 內容為:0x30000258。首先,我們對比了生成的 map 文件中 stack 的地址信息,發現其中 Stack 的地址和這里 SP 指令是相符的。

然后繼續查找了 VLSTM 這條指令相關的描述,關于 VLSTM 在 PM0264 中有以下描述:

wKgaomUyJ8qAJ8EWAAIos6_SmHs908.png

圖4.關于 VLSTM 指令

從上圖可以看到,VLSTM SP 這條指令會把安全的浮點運算寄存器的值保存到 SP 地址中,并清除安全浮點寄存器的內容,如果 CPU 的狀態是非安全的,那么這條指令相當于空指令,也不會導致 hard fault,所有從這里也還是分析不出為什么會導致 hard fault。

重新回到這條指令,現在問題可能比較大的就是 SP 的地址了。有問題的版本的 SP 內容為:0x300020b4,會不會是對齊導致的呢?

基于這個猜測,我們直接在 IAR 界面強制修改了 SP 的地址為 0x300020b8,并繼續單步執行,然后程序可以正常執行了。所以目前所知的結論就是 VLSTM SP 這條指令,要求 SP 必須 8 字節對齊,可能 IAR 在編譯的時候并沒有注意到這一點。

然后,把這些信息反饋到 IAR 以后,IAR 的工程師回復如下:

根據目前的信息,問題應該是在 VLSTM 要求 8 字節對齊上。在 9.30.1 中,由于 PUSH.W {R4, R5, R7-R11}指令執行后,相當于占用了 28 個字節的棧空間,導致了 SP 和 9.20.1 相比,不是 8 字節對齊。

03

總結

在調試 TrustZone 工程的時候,由于使用了新的架構及新的匯編指令,需要對這些指令有一定基本的了解。在調查問題的時候,可以進行單步調試來定位發生問題的指令,然后再繼續深入了解下為什么會導致 hardfault。

wKgaomUyJ8qAFOqEAAHiBpzEGaQ933.png

完整內容請點擊“閱讀原文”下載原文檔。


原文標題:實戰經驗 | TrustZone 架構下 LPBAM 使用導致的 HardFault

文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

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

    關注

    6063

    文章

    44915

    瀏覽量

    646864
  • STM32
    +關注

    關注

    2289

    文章

    11011

    瀏覽量

    362342

原文標題:實戰經驗 | TrustZone 架構下 LPBAM 使用導致的 HardFault

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    移動電源EMC整改:認證失敗到一次通過的實戰經驗

    深圳南柯電子|移動電源EMC整改:認證失敗到一次通過的實戰經驗
    的頭像 發表于 05-26 11:25 ?87次閱讀
    移動電源EMC整改:認證失敗到一次通過的<b class='flag-5'>實戰經驗</b>

    國產芯片多架構開發實踐:從工業控制到邊緣AI的硬件設計經驗

    近年來,國產處理器與異構計算架構的成熟為硬件開發者提供了新選擇。我們基于飛騰、龍芯、海光等平臺,在VPX/COMe/ITX架構上完成了多個工業級項目驗證,在此分享一些實戰經驗。 硬件架構
    的頭像 發表于 05-23 09:24 ?156次閱讀

    高低頻介電常數測試儀實戰經驗:從原理到場景全解析?

    作為電子發燒友,在探索材料介電特性時,經常會遇到“頻率選擇” 的困惑:同樣的材料在高頻和低頻測試結果為何差異顯著?不同頻率的測試儀又該如何選擇和操作?本文將結合實際經驗,分享高低頻介電常數測試
    的頭像 發表于 04-30 13:20 ?189次閱讀
    高低頻介電常數測試儀<b class='flag-5'>實戰經驗</b>:從原理到場景全解析?

    錫膏使用50問之(3): 錫膏攪拌不充分會導致什么問題?

    遇到的問題,每個問題包含“原因分析 + 解決措施”,結合行業標準與實戰經驗,為電子工程師、產線技術人員、營銷工程師提供 “一站式” 缺陷解決方案,助力提升焊接良率
    的頭像 發表于 04-14 10:14 ?216次閱讀
    錫膏使用50問之(3): 錫膏攪拌不充分會<b class='flag-5'>導致</b>什么問題?

    錫膏使用避坑指南:50 個實戰問答幫你解決 99% 的焊接難題(全流程解析)

    問題包含“原因分析 + 解決措施”,結合行業標準與實戰經驗,為電子工程師、產線技術人員、營銷工程師提供 “一站式” 缺陷解決方案,助力提升焊接良率與產品可靠性。了解完5
    的頭像 發表于 04-14 09:45 ?366次閱讀
    錫膏使用避坑指南:50 個<b class='flag-5'>實戰</b>問答幫你解決 99% 的焊接難題(全流程解析)

    TrustZone介紹及用途

    TrustZone是Arm開發的一項核心技術,作為Armv8-M架構的一部分,通過強制硬件隔離提供系統級安全措施。TrustZone要求在軟件中劃分安全和非安全MCU區域對應的邏輯分區,從而創建受
    的頭像 發表于 04-08 09:47 ?424次閱讀
    <b class='flag-5'>TrustZone</b>介紹及用途

    STM32U5如何設置才能保證LPBAM和RUN模式的應用程序正常使用呢?

    = 0x08000000,LENGTH = 2048K}請問,必須如上圖這樣設置才可以正常使用LPBAM嗎,如果我的應用程序占用RAM過大,需要使用大量的RAM空間,如何設置才能保證LPBAM和RUN模式的應用程序正常使用呢
    發表于 03-10 08:21

    用STM32Cubeprogrammer燒錄TrustZone的示范程序不成功怎么解決?

    最近測試STM32U575 的TrustZone 保護機制。 用STM32Cubeprogrammer 2.17.0 燒錄已編譯好的以下地址的TrustZone 的HEX 文件
    發表于 03-07 08:28

    STM32H7 0x00000000地址的內容引發hardfault怎么解決?

    函數時入參異常,進入hardfault. 求助:關于stm32h7 ,0x00000000地址的內容是如何被改變的?觀察過正常情況的值,如下。前三個地址的值是0,但異常時,前三個地址的值是非0。
    發表于 03-07 08:15

    STM32U5驅動庫從1.6.0更新至1.7.0后,LPBAM的一個庫接口返回錯誤是怎么回事?

    LPBAM的一個庫接口返回錯誤導致出錯,我通過反復對比,使用舊代碼工程沒問題,只要聽從提示更新代碼庫后重新生成就出現此問題,測試期間代碼并無改動。 [/td]
    發表于 03-07 07:35

    提升開關電源效率的理論分析與實戰經驗

    在這里有電源技術干貨、電源行業發展趨勢分析、最新電源產品介紹、眾多電源達人與您分享電源技術經驗,關注我們,與中國電源行業共成長! 提升開關電源效率的理論分析與實戰經驗 引言 開關電源設計中,為獲得
    的頭像 發表于 01-09 10:04 ?803次閱讀
    提升開關電源效率的理論分析與<b class='flag-5'>實戰經驗</b>

    使用MCUXpresso for VS Code插件開發Zephyr的hello world

    本期來到Zephyr實戰經驗演練,小編帶著大家一起使用MCUXpresso for VS Code插件來開發一個屬于Zephyr的hello world。
    的頭像 發表于 01-03 09:21 ?1116次閱讀
    使用MCUXpresso for VS Code插件開發Zephyr的hello world

    【全新課程資料】正點原子《基于GD32 ARM32單片機項目實戰入門》培訓課程資料上線!

    ,提高編程能力和實戰經驗 四、適合人群 (1)單片機編程初學者 (2)電子工程師 (3)對ARM32單片機有興趣的技術愛好者 五、課程詳細介紹 1、培訓課程包含: (1)全套培訓課程視頻(已全部錄制
    發表于 09-24 18:06

    遇見一個編譯優化導致的bug

    最近在調試 can 通信,因為 c8t6 flash 很小,而魚鷹培訓工程完成的驅動越來越多,導致 flash 不足,因此把 bsp 的優化級別設置成 -O2,誰知道在串口輸入數據時直接 hardfault 了。
    的頭像 發表于 08-12 17:26 ?560次閱讀
    遇見一個編譯優化<b class='flag-5'>導致</b>的bug

    STM32H5和STM32U5在trustzone上有哪些不同?

    我要做空調的空中升級FOTA的方案,需要加密,對于trustzone功能,采用那款芯片比較合適?STM32H5和STM32U5在trustzone上有哪些不同?
    發表于 07-05 07:03