在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

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

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

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

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

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

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

原因分析及對應策略

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

下面主要介紹如何在IAR Embedded Workbench中連上仿真器調試時進行硬復位 (Hardware Reset):

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

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

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

下載完成之后通過調試器進行Hardware Reset

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

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

下載完成之后通過外部Reset進行Hardware Reset

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

注:Vector catch是arm支持的調試特性,更多信息請參考arm相關文檔。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

將MCU內部Watchdog配置成在調試模式不使能,這樣在調試時,暫停的時候Watchdog會停止,不會復位MCU。

總結

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


審核編輯:劉清

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

    關注

    31

    文章

    5363

    瀏覽量

    121010
  • 仿真器
    +關注

    關注

    14

    文章

    1019

    瀏覽量

    83895
  • IAR
    IAR
    +關注

    關注

    5

    文章

    354

    瀏覽量

    36753
  • 調試器
    +關注

    關注

    1

    文章

    306

    瀏覽量

    23814

原文標題:程序單獨運行正常但是仿真調試不正常

文章出處:【微信號:IAR愛亞系統,微信公眾號:IAR愛亞系統】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

    仿真器的使用方法有哪些

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

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

    我的開發(fā)核心板是ESP-WROOM-32,CH9102X驅動,開發(fā)環(huán)境是Arduino IDE, 開發(fā)板選哪個?我選ESP32 Dev Module,但是感覺有點詭異,上傳程序運行不正常。 應該選
    發(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 里面都關掉,然后用V6.0編譯,還是有警告,下載程序,電機不正常轉,可是一換成V5.0編譯,電機就正常運轉。
    發(fā)表于 04-24 08:23

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

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

    STM32f030的板子調試寄存不正常是什么原因導致的?

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

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

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

    stm32H747M4內核使用AXI SRAM不正常的原因?

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

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

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

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

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

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

    使用同樣仿真器同樣的程序是能正常工作的,可以確定硬件和軟件部分沒有問題。不正常的芯片仿真時可以看到時鐘寄存
    發(fā)表于 02-21 06:14
    主站蜘蛛池模板: 717影院理论午夜伦不卡久久 | 亚洲综合色婷婷中文字幕 | 亚洲色图在线观看视频 | 激情四月婷婷 | 双性强迫开宫灌满h | 天天做天天爰夜夜爽 | 天天视频官网天天视频在线 | 天天干视频在线观看 | 日韩精品亚洲一级在线观看 | 末满18以下勿进色禁网站 | 色偷偷成人网免费视频男人的天堂 | 日本sese| 欧美一级特黄视频 | 操操操综合 | 免费人成在线观看视频播放 | 噜噜噜动态图超猛烈 | 99视频在线永久免费观看 | 久久国产免费福利永久 | 波多野吉衣一区二区三区在线观看 | 国产亚洲新品一区二区 | 毛片色毛片18毛片美女 | 四虎影酷 | 182tv免费视视频线路一二三 | 国产高清视频在线免费观看 | 欧美成人性色区 | 天天操天天艹 | 在线欧美色图 | 特黄大片aaaaa毛片 | 国产成人啪精品午夜在线观看 | 成人久久久精品乱码一区二区三区 | 日本高免费观看在线播放 | 亚洲国产色婷婷精品综合在线观看 | 欧美特黄特色aaa大片免费看 | 菲菲国产在线观看 | 日本人的色道www免费一区 | 婷婷综合五月 | 国内精品一级毛片免费看 | 伊人精品成人久久综合欧美 | 久久天天躁夜夜躁狠狠85麻豆 | 韩国三级理论在线看中文字幕 | 在线高清视频大全 |