国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 資料介紹
    • 前言
    • 整形數(shù)除 0 操作報(bào)錯(cuò)
    • 浮點(diǎn)數(shù)除 0 的報(bào)錯(cuò)機(jī)制
    • 結(jié)論
  • 資料預(yù)覽
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

LAT1423 Cortex-M核除0操作的報(bào)錯(cuò)機(jī)制話題

03/18 15:42
447
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

LAT1423 Cortex-M核除0操作的報(bào)錯(cuò)機(jī)制話題

515.22 KB

前言

除 0 操作屬于錯(cuò)誤操作,在 ARM Cortex M 平臺(tái)上會(huì)有相應(yīng)的報(bào)錯(cuò)機(jī)制。但這邊會(huì)涉及到整型數(shù)的除 0 以及浮點(diǎn)數(shù)的除 0,另外還會(huì)涉及錯(cuò)誤產(chǎn)生后的報(bào)錯(cuò)機(jī)制,是中斷還是錯(cuò)誤位,本文會(huì)對(duì)這個(gè)報(bào)錯(cuò)機(jī)制加以說(shuō)明。使用 STM32H723 做為測(cè)試芯片

整形數(shù)除 0 操作報(bào)錯(cuò)

默認(rèn)情況下,STM32H723 對(duì)整形數(shù)的除 0 操作,會(huì)忽略掉錯(cuò)誤,原因在于默認(rèn)情況下SCB->CCR 寄存器默認(rèn)配置中這個(gè)除 0 操作是非捕獲狀態(tài),如果想要系統(tǒng)報(bào)錯(cuò),需要把DIV_0_TRP 這個(gè)位置 1,這樣,當(dāng)執(zhí)行除 0 操作的時(shí)候會(huì)進(jìn)入 hardfault,并且有標(biāo)志位產(chǎn)生。

浮點(diǎn)數(shù)除 0 的報(bào)錯(cuò)機(jī)制

浮點(diǎn)數(shù)的除 0 操作,沒(méi)有專門(mén)的 Hardfault 觸發(fā)機(jī)制,也就不能產(chǎn)生中斷,只能通過(guò)對(duì) FPU單元的讀取進(jìn)行判別,而且在調(diào)試模式下,通過(guò) IAR 讀取寄存器的結(jié)果是正確的,而通過(guò) Keil 的讀取會(huì)有錯(cuò)誤,實(shí)際已經(jīng)發(fā)生了浮點(diǎn)除 0 操作,但 Keil 的 FPU->SCR 寄存器 DZC 沒(méi)有置位

結(jié)論

本文通過(guò)對(duì)除 0 操作的報(bào)錯(cuò)機(jī)制做細(xì)致說(shuō)明,可以看到整型除 0 可以有 Hardfault 的中斷產(chǎn)生,而浮點(diǎn)的除 0 只能通過(guò)標(biāo)志位判別,實(shí)際使用過(guò)程中盡量避免這種錯(cuò)誤的操作。

資料預(yù)覽

相關(guān)推薦

石林| 黄大仙区| 漯河市| 泰来县| 文成县| 武城县| 尼木县| 江孜县| 揭阳市| 阳新县| 平利县| 周口市| 宝鸡市| 绥德县| 那坡县| 深州市| 博罗县| 英吉沙县| 芜湖县| 邓州市| 大英县| 北辰区| 巍山| 蛟河市| 自贡市| 新化县| 米林县| 石门县| 大兴区| 陆川县| 伽师县| 汝南县| 井研县| 积石山| 平远县| 芦山县| 彩票| 龙州县| 临泽县| 平塘县| 蕲春县|