哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

實(shí)戰(zhàn)經(jīng)驗(yàn) | TrustZone 架構(gòu)下 LPBAM 使用導(dǎo)致的 HardFault

STM32單片機(jī) ? 來(lái)源:未知 ? 2023-10-20 15:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

wKgaomUyJ8mAUJSZAAHUHXdxAL4994.gif

關(guān)鍵詞:TrustZone,HardFault

目錄預(yù)覽

1、簡(jiǎn)介

2、問(wèn)題分析

3、總結(jié)

01

簡(jiǎn)介


客戶使用 STM32U5 進(jìn)行開(kāi)發(fā),并使能了 TrustZone 架構(gòu),程序需要從 bootloader 跳轉(zhuǎn)到app。在之前版本都是正常跳轉(zhuǎn)的,某一天 IAR 從 9.20 升級(jí)到 9.30 后,程序跳轉(zhuǎn)失敗,并且會(huì)導(dǎo)致 hardfault,想知道為什么會(huì)失敗。

wKgaomUyJ8qAXhuzAAWv_yD84y0479.png

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

02

問(wèn)題分析


通過(guò)斷點(diǎn)和單步調(diào)試,我們發(fā)現(xiàn)出現(xiàn)問(wèn)題的指令如下所示:

wKgaomUyJ8qAQSBjAAVSMORkRzs862.png

圖2.程序下一步將 Hardfault

而沒(méi)有發(fā)生 hardfault 的版本匯編代碼,如下圖:

wKgaomUyJ8qAIr2yAAlBO4Ea5y0597.png

圖3.程序不會(huì)發(fā)生 Hardfault

通過(guò)單步調(diào)試,我們知道了 VLSTM SP 這條指令導(dǎo)致了 hardfault。接著我們?cè)俅_認(rèn)下 SP 指針,錯(cuò)誤版本的 SP 的內(nèi)容為:0x300020b4,正確版本的 SP 內(nèi)容為:0x30000258。首先,我們對(duì)比了生成的 map 文件中 stack 的地址信息,發(fā)現(xiàn)其中 Stack 的地址和這里 SP 指令是相符的。

然后繼續(xù)查找了 VLSTM 這條指令相關(guān)的描述,關(guān)于 VLSTM 在 PM0264 中有以下描述:

wKgaomUyJ8qAJ8EWAAIos6_SmHs908.png

圖4.關(guān)于 VLSTM 指令

從上圖可以看到,VLSTM SP 這條指令會(huì)把安全的浮點(diǎn)運(yùn)算寄存器的值保存到 SP 地址中,并清除安全浮點(diǎn)寄存器的內(nèi)容,如果 CPU 的狀態(tài)是非安全的,那么這條指令相當(dāng)于空指令,也不會(huì)導(dǎo)致 hard fault,所有從這里也還是分析不出為什么會(huì)導(dǎo)致 hard fault。

重新回到這條指令,現(xiàn)在問(wèn)題可能比較大的就是 SP 的地址了。有問(wèn)題的版本的 SP 內(nèi)容為:0x300020b4,會(huì)不會(huì)是對(duì)齊導(dǎo)致的呢?

基于這個(gè)猜測(cè),我們直接在 IAR 界面強(qiáng)制修改了 SP 的地址為 0x300020b8,并繼續(xù)單步執(zhí)行,然后程序可以正常執(zhí)行了。所以目前所知的結(jié)論就是 VLSTM SP 這條指令,要求 SP 必須 8 字節(jié)對(duì)齊,可能 IAR 在編譯的時(shí)候并沒(méi)有注意到這一點(diǎn)。

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

根據(jù)目前的信息,問(wèn)題應(yīng)該是在 VLSTM 要求 8 字節(jié)對(duì)齊上。在 9.30.1 中,由于 PUSH.W {R4, R5, R7-R11}指令執(zhí)行后,相當(dāng)于占用了 28 個(gè)字節(jié)的??臻g,導(dǎo)致了 SP 和 9.20.1 相比,不是 8 字節(jié)對(duì)齊。

03

總結(jié)

在調(diào)試 TrustZone 工程的時(shí)候,由于使用了新的架構(gòu)及新的匯編指令,需要對(duì)這些指令有一定基本的了解。在調(diào)查問(wèn)題的時(shí)候,可以進(jìn)行單步調(diào)試來(lái)定位發(fā)生問(wèn)題的指令,然后再繼續(xù)深入了解下為什么會(huì)導(dǎo)致 hardfault。

wKgaomUyJ8qAFOqEAAHiBpzEGaQ933.png

完整內(nèi)容請(qǐng)點(diǎn)擊“閱讀原文”下載原文檔。


原文標(biāo)題:實(shí)戰(zhàn)經(jīng)驗(yàn) | TrustZone 架構(gòu)下 LPBAM 使用導(dǎo)致的 HardFault

文章出處:【微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(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)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6078

    文章

    45570

    瀏覽量

    673402
  • STM32
    +關(guān)注

    關(guān)注

    2312

    文章

    11189

    瀏覽量

    374553

原文標(biāo)題:實(shí)戰(zhàn)經(jīng)驗(yàn) | TrustZone 架構(gòu)下 LPBAM 使用導(dǎo)致的 HardFault

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    經(jīng)驗(yàn)貼 8:AP4054 芯片介紹 + 高溫環(huán)境降額使用與熱穩(wěn)定性經(jīng)驗(yàn)

    自帶熱保護(hù),但 高溫環(huán)境下不建議長(zhǎng)期滿負(fù)荷 500mA 運(yùn)行 。在密閉外殼、戶外高溫、散熱條件差的場(chǎng)景中,滿負(fù)荷工作會(huì)讓芯片持續(xù)高溫,雖不會(huì)立即損壞,但會(huì)加速老化并影響充電效率。我的實(shí)戰(zhàn)經(jīng)驗(yàn)是:高溫
    發(fā)表于 04-21 09:00

    EMI整改實(shí)戰(zhàn)經(jīng)驗(yàn)總結(jié)

    搞硬件的工程師最怕啥?產(chǎn)品做出來(lái)了,測(cè)試的時(shí)候EMI超標(biāo),一整改起來(lái)沒(méi)完沒(méi)了。我見(jiàn)過(guò)太多項(xiàng)目因?yàn)镋MI問(wèn)題延期交貨,改板改到懷疑人生。其實(shí)EMI整改沒(méi)大家想得那么復(fù)雜,濾波和接地就是最實(shí)用、最直接的兩把利劍。搞懂這兩個(gè),你的整改效率至少翻倍。
    的頭像 發(fā)表于 04-20 10:20 ?276次閱讀
    EMI整改<b class='flag-5'>實(shí)戰(zhàn)經(jīng)驗(yàn)</b>總結(jié)

    GPS時(shí)鐘授時(shí)裝置常見(jiàn)問(wèn)題與實(shí)戰(zhàn)經(jīng)驗(yàn)分享

    作為一名長(zhǎng)期關(guān)注時(shí)間同步技術(shù)的網(wǎng)絡(luò)宣傳人員,我經(jīng)常收到用戶關(guān)于GPS時(shí)鐘授時(shí)裝置的各種咨詢。從電力變電站到5G網(wǎng)絡(luò)機(jī)房,從自動(dòng)駕駛測(cè)試場(chǎng)到金融數(shù)據(jù)中心,這些設(shè)備默默守護(hù)著現(xiàn)代社會(huì)的精密運(yùn)轉(zhuǎn)。今天,我想結(jié)合行業(yè)內(nèi)的技術(shù)發(fā)展和實(shí)際應(yīng)用中的經(jīng)驗(yàn),和大家聊聊GPS時(shí)鐘授時(shí)裝置那些事兒。
    的頭像 發(fā)表于 03-06 11:03 ?219次閱讀
    GPS時(shí)鐘授時(shí)裝置常見(jiàn)問(wèn)題與<b class='flag-5'>實(shí)戰(zhàn)經(jīng)驗(yàn)</b>分享

    LAT1199+TrustZone 架構(gòu)使用 LPBAM 導(dǎo)致HardFault應(yīng)用筆記

    客戶在 Nucleo-U575ZI 開(kāi)發(fā)板上使用 TrustZone 架構(gòu),測(cè)試 LPBAM 功能。首先使能了 TrustZone 架構(gòu),然
    發(fā)表于 01-11 17:23 ?0次下載

    車載音頻功放芯片實(shí)戰(zhàn)經(jīng)驗(yàn)與深度疑問(wèn)

    1. 通道配置與車型需求的適配經(jīng)驗(yàn) 在為不同車型設(shè)計(jì)音響系統(tǒng)時(shí),CD7377CZ 與 CD7388 的通道配置需緊密結(jié)合車型空間與用戶需求。例如,針對(duì)緊湊型家用轎車,車內(nèi)空間較小,采用
    發(fā)表于 12-05 09:53

    SD-WAN部署避坑指南——從選型到上線的實(shí)戰(zhàn)攻略

    應(yīng)用訪問(wèn)體驗(yàn),已成為企業(yè)網(wǎng)絡(luò)升級(jí)的重要方向。然而,從技術(shù)選型到成功上線,整個(gè)部署過(guò)程中充滿了各種容易被忽視的細(xì)節(jié)。本文將基于實(shí)戰(zhàn)經(jīng)驗(yàn),為您剖析SD-WAN部署的全流程
    的頭像 發(fā)表于 10-15 10:15 ?1611次閱讀
    SD-WAN部署避坑指南——從選型到上線的<b class='flag-5'>實(shí)戰(zhàn)</b>攻略

    解鎖物聯(lián)網(wǎng)攝像頭潛力:低成本低功耗硬件設(shè)計(jì)實(shí)戰(zhàn)技巧!

    攝像頭是物聯(lián)網(wǎng)視覺(jué)感知的關(guān)鍵,但高成本與高功耗常成落地阻礙。本文基于實(shí)戰(zhàn)經(jīng)驗(yàn),提煉硬件設(shè)計(jì)實(shí)用技巧——從簡(jiǎn)化外圍電路到動(dòng)態(tài)功耗管理,助您以更低成本、更低功耗打造物聯(lián)網(wǎng)攝像頭,適配智能家居、安防監(jiān)控等場(chǎng)景。
    的頭像 發(fā)表于 09-20 15:22 ?1411次閱讀
    解鎖物聯(lián)網(wǎng)攝像頭潛力:低成本低功耗硬件設(shè)計(jì)<b class='flag-5'>實(shí)戰(zhàn)</b>技巧!

    main線程創(chuàng)建中的rt_memset導(dǎo)致hardfault是為什么?

    main線程的棧大小設(shè)置成2048的時(shí)候rt_memset導(dǎo)致hardfault,改成512就不會(huì),這是為什么
    發(fā)表于 09-18 06:24

    數(shù)據(jù)庫(kù)慢查詢分析與SQL優(yōu)化實(shí)戰(zhàn)技巧

    今天,我將分享我在處理數(shù)千次數(shù)據(jù)庫(kù)性能問(wèn)題中積累的實(shí)戰(zhàn)經(jīng)驗(yàn),幫助你系統(tǒng)掌握慢查詢分析與SQL優(yōu)化的核心技巧。無(wú)論你是剛?cè)腴T(mén)的運(yùn)維新手,還是有一定經(jīng)驗(yàn)的工程師,這篇文章都將為你提供實(shí)用的解決方案。
    的頭像 發(fā)表于 09-08 09:34 ?1220次閱讀

    Linux企業(yè)網(wǎng)絡(luò)安全防護(hù)體系建設(shè)

    構(gòu)建完整的Linux安全防護(hù)體系不是簡(jiǎn)單的工具堆砌,而是需要從架構(gòu)設(shè)計(jì)、監(jiān)控告警、應(yīng)急響應(yīng)到持續(xù)改進(jìn)的完整閉環(huán)。本文將分享我在大型企業(yè)環(huán)境中的實(shí)戰(zhàn)經(jīng)驗(yàn)。
    的頭像 發(fā)表于 08-27 14:39 ?925次閱讀

    Linux服務(wù)器性能調(diào)優(yōu)的核心技巧和實(shí)戰(zhàn)經(jīng)驗(yàn)

    如果你正在為這些問(wèn)題頭疼,那么這篇文章就是為你準(zhǔn)備的!作為一名擁有10年經(jīng)驗(yàn)的運(yùn)維工程師,我將毫無(wú)保留地分享Linux服務(wù)器性能調(diào)優(yōu)的核心技巧和實(shí)戰(zhàn)經(jīng)驗(yàn)。
    的頭像 發(fā)表于 08-27 14:36 ?1215次閱讀

    main線程的棧大小設(shè)置成2048的時(shí)候rt_memset導(dǎo)致hardfault,為什么?

    main線程的棧大小設(shè)置成2048的時(shí)候rt_memset導(dǎo)致hardfault,改成512就不會(huì),這是為什么
    發(fā)表于 06-10 06:04

    移動(dòng)電源EMC整改:認(rèn)證失敗到一次通過(guò)的實(shí)戰(zhàn)經(jīng)驗(yàn)

    深圳南柯電子|移動(dòng)電源EMC整改:認(rèn)證失敗到一次通過(guò)的實(shí)戰(zhàn)經(jīng)驗(yàn)
    的頭像 發(fā)表于 05-26 11:25 ?1068次閱讀
    移動(dòng)電源EMC整改:認(rèn)證失敗到一次通過(guò)的<b class='flag-5'>實(shí)戰(zhàn)經(jīng)驗(yàn)</b>

    國(guó)產(chǎn)芯片多架構(gòu)開(kāi)發(fā)實(shí)踐:從工業(yè)控制到邊緣AI的硬件設(shè)計(jì)經(jīng)驗(yàn)

    近年來(lái),國(guó)產(chǎn)處理器與異構(gòu)計(jì)算架構(gòu)的成熟為硬件開(kāi)發(fā)者提供了新選擇。我們基于飛騰、龍芯、海光等平臺(tái),在VPX/COMe/ITX架構(gòu)上完成了多個(gè)工業(yè)級(jí)項(xiàng)目驗(yàn)證,在此分享一些實(shí)戰(zhàn)經(jīng)驗(yàn)。 硬件架構(gòu)
    的頭像 發(fā)表于 05-23 09:24 ?1167次閱讀

    高低頻介電常數(shù)測(cè)試儀實(shí)戰(zhàn)經(jīng)驗(yàn):從原理到場(chǎng)景全解析?

    作為電子發(fā)燒友,在探索材料介電特性時(shí),經(jīng)常會(huì)遇到“頻率選擇” 的困惑:同樣的材料在高頻和低頻測(cè)試結(jié)果為何差異顯著?不同頻率的測(cè)試儀又該如何選擇和操作?本文將結(jié)合實(shí)際經(jīng)驗(yàn),分享高低頻介電常數(shù)測(cè)試
    的頭像 發(fā)表于 04-30 13:20 ?3131次閱讀
    高低頻介電常數(shù)測(cè)試儀<b class='flag-5'>實(shí)戰(zhàn)經(jīng)驗(yàn)</b>:從原理到場(chǎng)景全解析?
    高雄市| 兴海县| 河东区| 新余市| 清丰县| 方正县| 景东| 犍为县| 通山县| 开原市| 皋兰县| 从化市| 新巴尔虎左旗| 响水县| 康乐县| 鄢陵县| 时尚| 连州市| 图片| 随州市| 桃园县| 郸城县| 渭源县| 蛟河市| 龙门县| 互助| 寿光市| 那曲县| 二连浩特市| 张家川| 浮梁县| 兴宁市| 红桥区| 丰县| 临沧市| 永清县| 淮北市| 新野县| 舟曲县| 玉田县| 集安市|