色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

在IAR Embedded Workbench中程序連上仿真器調(diào)試時不正常的情況

工程師鄧生 ? 來源:IAR愛亞系統(tǒng) ? 作者:IAR愛亞系統(tǒng) ? 2022-09-02 11:05 ? 次閱讀

上期我們介紹了在IAR Embedded Workbench中程序連上仿真器調(diào)試時正常但是斷開仿真器單獨運行時不正常的情況。

嵌入式軟件開發(fā)中,有時會遇到程序斷開仿真器單獨運行時正常,但是連上仿真器調(diào)試時不正常。本文主要介紹在IAR Embedded Workbench中程序斷開仿真器單獨運行時正常但是連上仿真器調(diào)試時不正常的情況。

程序仿真調(diào)試和單獨運行的區(qū)別

37495768-29de-11ed-ba43-dac502259ad0.png

原因分析及對應(yīng)策略

1. 程序連上仿真器調(diào)試時Flash loader及mac宏會設(shè)置對應(yīng)的寄存器和程序開始運行是通過軟復(fù)位(Software Reset),而斷開仿真器單獨運行時需要程序設(shè)置對應(yīng)的寄存器和程序開始運行是通過硬復(fù)位 (Hardware Reset)。由于程序斷開仿真器單獨運行時正常,連上仿真器調(diào)試的時候不需要像之前那樣不使用Flash loader,只需要在調(diào)試開始之前進(jìn)行一次硬復(fù)位 (Hardware Reset)(硬復(fù)位讓程序在連上仿真器調(diào)試時的初始狀態(tài)與斷開仿真器單獨運行時硬復(fù)位之后的初始狀態(tài)時一致的)。

下面主要介紹如何在IAR Embedded Workbench中連上仿真器調(diào)試時進(jìn)行硬復(fù)位 (Hardware Reset):

下載完成之后讓程序停在復(fù)位向量而不是main函數(shù)

在IAR Embedded Workbench工程選項Options > Debugger > Setup >Run to選項:默認(rèn)情況下會選中Run to main,調(diào)試器下載完成之后,程序會停在main函數(shù)。如果不勾選Run to,調(diào)試器下載完成之后,程序會停在復(fù)位向量,這樣就可以從復(fù)位向量開始調(diào)試。

37730fd6-29de-11ed-ba43-dac502259ad0.png37aa4ea6-29de-11ed-ba43-dac502259ad0.png

下載完成之后通過調(diào)試器進(jìn)行Hardware Reset

如果對應(yīng)的硬件仿真器支持Hardware Reset并且對應(yīng)的硬件仿真器的nRESET引腳連接到MCU的復(fù)位引腳nRESET, 將Reset類型改成Hardware,然后Reset(模擬程序單獨運行時硬復(fù)位,并從復(fù)位向量開始調(diào)試)。

37c47d12-29de-11ed-ba43-dac502259ad0.png

下載完成之后通過外部Reset進(jìn)行Hardware Reset

如果對應(yīng)的硬件仿真器不支持Hardware Reset或者并且對應(yīng)的硬件仿真器的nRESET引腳沒有連接到MCU的復(fù)位引腳nRESET, 可以通過外部Reset對MCU進(jìn)行Hardware Reset。但是外部Reset之后,程序需要停在復(fù)位向量,然后就可以通過調(diào)試器調(diào)試。 如果對應(yīng)的MCU和硬件仿真器支持CORERESET選項 (Options > I-jet > Breakpoints > Catch exceptions > CORERESET),勾選CORERESET之后,調(diào)試時如果有外部Reset, 程序會停在復(fù)位向量。

注:Vector catch是arm支持的調(diào)試特性,更多信息請參考arm相關(guān)文檔。

388bc4da-29de-11ed-ba43-dac502259ad0.png38b76900-29de-11ed-ba43-dac502259ad0.png

如果對應(yīng)的MCU或者硬件仿真器不支持CORERESET選項,則需要在復(fù)位向量打斷點,調(diào)試時如果有外部Reset, 程序會停在復(fù)位向量。

39359dca-29de-11ed-ba43-dac502259ad0.png

2. 如果Library low-level interface implementation是通過semihosting (Options > General Options > Library low-level interface implementation > Semihosted > Via semihosting)實現(xiàn):

3976d0a6-29de-11ed-ba43-dac502259ad0.png

而semihosting又是通過SVC指令來實現(xiàn)(非Cortex-M的32位arm內(nèi)核):

3b205cf6-29de-11ed-ba43-dac502259ad0.png

如果程序里面也使用了SVC,那么連上仿真器調(diào)試的時候程序會停在SVC Handler:

3b4be4b6-29de-11ed-ba43-dac502259ad0.png

可以通過將Library low-level interface implementation 設(shè)置為None (Options > General Options > Library low-level interface implementation > None):

3b65b3aa-29de-11ed-ba43-dac502259ad0.png

3. 為了提高系統(tǒng)的健壯性,越來越多的MCU內(nèi)部集成了Watchdog, 可以讓MCU在軟件出錯的時候復(fù)位MCU。MCU內(nèi)部Watchdog控制寄存器一般會有選項可以配置Watchdog在調(diào)試模式是否使能:

3bdf2c08-29de-11ed-ba43-dac502259ad0.png3c07805e-29de-11ed-ba43-dac502259ad0.png

當(dāng)Watchdog配置為調(diào)試模式不使能時,Watchdog在調(diào)試模式暫停時會停止,不會導(dǎo)致MCU復(fù)位。反之,當(dāng)Watchdog配置為調(diào)試模式使能時,Watchdog在調(diào)試模式暫停時會繼續(xù)運行,從而可能會導(dǎo)致MCU復(fù)位(因為暫停的時候Watchdog得不到正常的刷新)。在單獨運行時,當(dāng)軟件運行正常時,Watchdog會正常的刷新,所以不會復(fù)位。

將MCU內(nèi)部Watchdog配置成在調(diào)試模式不使能,這樣在調(diào)試時,暫停的時候Watchdog會停止,不會復(fù)位MCU。

總結(jié)

本文主要介紹了在IAR Embedded Workbench中程序斷開仿真器單獨運行時正常但是連上仿真器調(diào)試時不正常的情況。通過分析可能的原因及對應(yīng)的策略,可以解決斷開仿真器單獨運行時正常正常但是連上仿真器調(diào)試時不正常的問題。


審核編輯:劉清

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

    關(guān)注

    31

    文章

    5361

    瀏覽量

    120876
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1019

    瀏覽量

    83865
  • IAR
    IAR
    +關(guān)注

    關(guān)注

    5

    文章

    354

    瀏覽量

    36734
  • 調(diào)試器
    +關(guān)注

    關(guān)注

    1

    文章

    306

    瀏覽量

    23786

原文標(biāo)題:程序單獨運行正常但是仿真調(diào)試不正常

文章出處:【微信號:IAR愛亞系統(tǒng),微信公眾號:IAR愛亞系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    是什么原因使ADS4145 VCM腳輸出電壓不正常

    這兩天調(diào)試高速模數(shù)轉(zhuǎn)換ADS4145。我將ADS4145的DFS腳接0.65V((3/8) AVDD ± 100mV),OE接 1.8V,時鐘腳CLKP輸入1.8V 80MHz時鐘。 我用
    發(fā)表于 01-10 08:09

    伺服電機(jī)振動不正常原因和維修及案例分析

    ? ? ? 伺服電機(jī)作為自動化系統(tǒng)中的關(guān)鍵組件,其穩(wěn)定運行對于整個生產(chǎn)線的效率和穩(wěn)定性至關(guān)重要。然而,伺服電機(jī)在運行過程中可能會遇到振動不正常的問題,這不僅影響電機(jī)的性能,還可能對機(jī)械系統(tǒng)造成損害
    的頭像 發(fā)表于 12-18 09:22 ?232次閱讀
    伺服電機(jī)振動<b class='flag-5'>不正常</b>原因和維修及案例分析

    為什么AIC23剛上電時,工作不正常

    工作USB模式)都正常,只是聲音不正常,但是經(jīng)過上面的觸碰后,就可以實現(xiàn)轉(zhuǎn)為正常狀態(tài)。 請問各位,這兩個信號有什么關(guān)系?為啥會出現(xiàn)這種情況
    發(fā)表于 10-21 07:50

    仿真器的使用方法有哪些

    硬件。它可以幫助工程師實際硬件或軟件部署之前,對設(shè)計進(jìn)行驗證和調(diào)試仿真器可以分為軟件仿真器和硬件仿真器兩種類型。 1.1 軟件
    的頭像 發(fā)表于 08-22 09:16 ?1011次閱讀

    ESP32 Dev Module上傳程序運行不正常的原因?

    我的開發(fā)核心板是ESP-WROOM-32,CH9102X驅(qū)動,開發(fā)環(huán)境是Arduino IDE, 開發(fā)板選哪個?我選ESP32 Dev Module,但是感覺有點詭異,上傳程序運行不正常。 應(yīng)該選
    發(fā)表于 07-01 07:15

    AD7190STM32運行正常,ESP32不正常,為什么?

    STM32運行正常,ESP32不正常
    發(fā)表于 06-03 08:28

    IAR版本為Embedded Workbench 6.5 Kickstart 1.4 編繹報錯怎么解決?

    請教 IAR 這個錯誤是什么問題 IAR版本為Embedded Workbench 6.0 Kickstart 1.30 編繹
    發(fā)表于 05-09 06:36

    MotorControl Workbench 5.2.0生成kei v5.26編譯警告如何解決?

    workbench里把user interface 里面都關(guān)掉,然后用V6.0編譯,還是有警告,下載程序,電機(jī)不正常轉(zhuǎn),可是一換成V5.0編譯,電機(jī)就正常運轉(zhuǎn)。
    發(fā)表于 04-24 08:23

    如何維修安捷倫N8946電源輸出不正常

    。其電壓輸出范圍為0至200V,電流輸出范圍為0至140A,最大輸出功率為10000W。同時,該電源支持340–440 VAC的交流輸入電壓范圍。 維修安捷倫N8946電源輸出不正常 安捷倫N8946電源輸出不正常時,可以嘗試以下步驟進(jìn)行維修: 檢查電源輸入:首先確認(rèn)電源
    的頭像 發(fā)表于 04-23 18:07 ?746次閱讀
    如何維修安捷倫N8946電源輸出<b class='flag-5'>不正常</b>

    STM32f030的板子調(diào)試寄存不正常是什么原因?qū)е碌模?/a>

    我能確定GPIOB13,15我是設(shè)置成SPI模式,oled也正常顯示但是調(diào)試寄存顯示不正常是什么原因
    發(fā)表于 04-11 07:18

    IAR FOR ARM和IAR FOR STM8無法共存怎么解決?

    IAR Embedded Workbench,CD 找了原程序,發(fā)現(xiàn)IAR FOR ARM和FOR STM8安裝完后,都叫IarIdePm
    發(fā)表于 04-07 07:39

    stm32H747M4內(nèi)核使用AXI SRAM不正常的原因?

    ,斷電重啟之后也不正常不正常的現(xiàn)象是2個內(nèi)核里面的點燈程序都無法運行,感覺是哪里死掉了一樣。M7內(nèi)核里已經(jīng)配置了MPU和cache。m
    發(fā)表于 03-28 09:20

    IAR推出新版IAR Embedded Workbench for Arm功能安全版

    全球知名的嵌入式系統(tǒng)開發(fā)軟件解決方案供應(yīng)商IAR Systems近日宣布,其旗艦產(chǎn)品IAR Embedded Workbench for Arm功能安全版已更新至最新版本9.50.3。
    的頭像 發(fā)表于 02-22 17:29 ?1456次閱讀

    IAR推出新版IAR Embedded Workbench for Arm功能安全版

    瑞典烏普薩拉,2024年2月20日 – 全球領(lǐng)先的嵌入式系統(tǒng)開發(fā)軟件解決方案供應(yīng)商IAR宣布:推出其旗艦產(chǎn)品IAREmbedded Workbench for Arm功能安全版的最新版本9.50.3。
    的頭像 發(fā)表于 02-21 13:47 ?859次閱讀

    MB95f718E芯片仿真燒寫不正常怎么解決?

    使用同樣仿真器同樣的程序是能正常工作的,可以確定硬件和軟件部分沒有問題。不正常的芯片仿真時可以看到時鐘寄存
    發(fā)表于 02-21 06:14
    主站蜘蛛池模板: 樱花之恋动漫免费观看| 伊人青青草原| 999zyz色资源站在线观看| 久草在线新是免费视频| 亚洲精品自在线拍2019| 国模玲玲自拍337p| 亚洲色欲国产免费视频| 精品久久久无码21P发布| 亚洲综合色婷婷在线影院| 精品成人在线视频| 一个人免费观看完整视频日本| 精子pk美女| 中文字幕永久在线| 免费国产成人手机在线观看| 99福利视频| 日韩AV成人无码久久精品老人| 国产69精品久久久久观看软件 | 在线高清视频不卡无码| 久青草国产在线视频| 99国产电影| 色欲AV无码乱码精品国产| 国产精品一区二区资源| 亚洲午夜性春猛交XXXX| 免费成年人在线观看视频| 冰山高冷受被c到哭np双性| 天美传媒在线观看完整高清 | 亚洲国产cao| 精品在线观看一区| 97无码人妻精品1国产精东影业| 强姧伦久久久久久久久| 国产精品一久久香蕉国产线看| 亚洲午夜无码久久久久蜜臀av| 美女脱了内裤张开腿让男人爽 | xx在线观看| 亚洲国产精品综合久久一线| 麻美ゆま夫の目の前で犯| 插骚妇好爽好骚| 亚洲日本va中文字幕久久| 欧美精品XXXXBBBB| 国产线精品视频在线观看| 55夜色66夜亚洲精品播放|