日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

工程師鄧生 ? 來源:IAR愛亞系統(tǒng) ? 作者:IAR愛亞系統(tǒng) ? 2022-09-02 11:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

如果對(duì)應(yīng)的MCU或者硬件仿真器不支持CORERESET選項(xiàng),則需要在復(fù)位向量打斷點(diǎn),調(diào)試時(shí)如果有外部Reset, 程序會(huì)停在復(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)實(shí)現(xiàn):

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

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

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

如果程序里面也使用了SVC,那么連上仿真器調(diào)試的時(shí)候程序會(huì)停在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在軟件出錯(cuò)的時(shí)候復(fù)位MCU。MCU內(nèi)部Watchdog控制寄存器一般會(huì)有選項(xiàng)可以配置Watchdog在調(diào)試模式是否使能:

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

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

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

總結(jié)

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


審核編輯:劉清

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

    關(guān)注

    31

    文章

    5621

    瀏覽量

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

    關(guān)注

    14

    文章

    1053

    瀏覽量

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

    關(guān)注

    5

    文章

    415

    瀏覽量

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

    關(guān)注

    1

    文章

    329

    瀏覽量

    25226

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    RENESAS E1/E20 仿真器使用指南

    RENESAS E1/E20 仿真器使用指南 一、引言 電子工程領(lǐng)域,仿真器是進(jìn)行硬件調(diào)試和開發(fā)的重要工具。RENESAS 的 E1/E20 仿真
    的頭像 發(fā)表于 04-22 17:00 ?451次閱讀

    Renesas E1/E20 仿真器使用指南:從規(guī)格到調(diào)試全解析

    Renesas E1/E20 仿真器使用指南:從規(guī)格到調(diào)試全解析 電子工程師的日常工作中,仿真器調(diào)試和開發(fā)微控制
    的頭像 發(fā)表于 03-31 15:30 ?217次閱讀

    Renesas E1/E20 仿真器使用指南:從入門到精通

    Renesas E1/E20 仿真器使用指南:從入門到精通 嵌入式系統(tǒng)開發(fā)的領(lǐng)域中,仿真器調(diào)試和驗(yàn)證 MCU(微控制單元)
    的頭像 發(fā)表于 03-15 17:20 ?1094次閱讀

    Renesas E1/E20 仿真器使用指南:從基礎(chǔ)到實(shí)戰(zhàn)

    Renesas E1/E20 仿真器使用指南:從基礎(chǔ)到實(shí)戰(zhàn) 嵌入式開發(fā)領(lǐng)域,一款高效可靠的仿真器對(duì)于調(diào)試程序、優(yōu)化性能至關(guān)重要。Renesas 的 E1/E20
    的頭像 發(fā)表于 03-02 15:10 ?407次閱讀

    Renesas E1/E20 仿真器:設(shè)計(jì)與調(diào)試的全方位指南

    Renesas E1/E20 仿真器:設(shè)計(jì)與調(diào)試的全方位指南 電子設(shè)計(jì)領(lǐng)域,仿真器調(diào)試和驗(yàn)證微控制
    的頭像 發(fā)表于 02-28 15:45 ?345次閱讀

    Renesas E1/E20仿真器:全面解析與應(yīng)用指南

    Renesas E1/E20 仿真器:全面解析與應(yīng)用指南 引言 嵌入式系統(tǒng)開發(fā)領(lǐng)域,仿真器是不可或缺的工具之一。Renesas的E1/E20仿真器憑借其強(qiáng)大的功能和廣泛的適用性,
    的頭像 發(fā)表于 02-28 11:30 ?786次閱讀

    瑞薩E1/E20仿真器:設(shè)計(jì)、調(diào)試與使用全解析

    瑞薩E1/E20仿真器:設(shè)計(jì)、調(diào)試與使用全解析 嵌入式系統(tǒng)開發(fā)中,仿真器是不可或缺的工具,它能幫助工程師高效地進(jìn)行硬件調(diào)試
    的頭像 發(fā)表于 02-11 17:05 ?932次閱讀

    Renesas E1/E20 仿真器:設(shè)計(jì)與調(diào)試全解析

    Renesas E1/E20 仿真器:設(shè)計(jì)與調(diào)試全解析 嵌入式系統(tǒng)開發(fā)的廣闊領(lǐng)域中,仿真器扮演著至關(guān)重要的角色,它是工程師們調(diào)試和優(yōu)化代碼
    的頭像 發(fā)表于 02-09 10:30 ?799次閱讀

    關(guān)于CW32 互補(bǔ)PWM 程序調(diào)試的疑問求解

    調(diào)試CW32 輸出互補(bǔ)PWM 的程序時(shí),發(fā)現(xiàn)在線調(diào)試時(shí)波形輸出正常,但是當(dāng)把程序在下到CW32
    發(fā)表于 12-08 07:02

    單片機(jī)系統(tǒng)硬件的調(diào)試方法

    損壞集成塊,加電之后.對(duì)各個(gè)插件上引腳的電位進(jìn)行檢查.檢查VCC和GND的電位.一般情況下電位為5-4.8V。如果屬于高壓通電,則要調(diào)試聯(lián)機(jī)仿真器.經(jīng)檢查
    發(fā)表于 12-03 06:10

    如何使用CMSIS DAP仿真器調(diào)試,通過NucleiStudio調(diào)試蜂鳥SOC

    如標(biāo)題所示,我們分享如何使用CMSIS DAP仿真器調(diào)試,通過NucleiStudio調(diào)試蜂鳥SOC 我們先介紹一下CMSIS DAP仿真器: 他的功能如下: 可以看到,它支持JT
    發(fā)表于 10-21 12:05

    如何在 IAR Embedded Workbench for ARM 開發(fā)環(huán)境中啟用可配置數(shù)據(jù)閃存并設(shè)置大?。?/a>

    如何在 IAR Embedded Workbench for ARM 開發(fā)環(huán)境中啟用可配置數(shù)據(jù)閃存并設(shè)置大?。?/div>
    發(fā)表于 08-26 07:49

    請(qǐng)問如何在 IAR Embedded Workbench for ARM 開發(fā)環(huán)境中啟用可配置數(shù)據(jù)閃存并設(shè)置大???

    如何在 IAR Embedded Workbench for ARM 開發(fā)環(huán)境中啟用可配置數(shù)據(jù)閃存并設(shè)置大小?
    發(fā)表于 08-20 06:23

    「芯生態(tài)」杰發(fā)科技AC7870攜手IAR開發(fā)工具鏈,助推汽車電子全棧全域智能化落地

    IAR Embedded Workbench for Arm已全面支持杰發(fā)科技AutoChips車規(guī)級(jí)MCU AC7870,為其提供涵蓋開發(fā)、調(diào)試、優(yōu)化等一站式服務(wù)
    的頭像 發(fā)表于 07-22 12:06 ?833次閱讀
    「芯生態(tài)」杰發(fā)科技AC7870攜手<b class='flag-5'>IAR</b>開發(fā)工具鏈,助推汽車電子全棧全域智能化落地

    第三章 仿真器介紹

    本篇文章我們介紹了W55MH32板載的WIZ-Link仿真器的使用方法,讓我們一起插上USB線開始下載、調(diào)試程序吧!
    的頭像 發(fā)表于 05-21 11:54 ?1116次閱讀
    第三章 <b class='flag-5'>仿真器</b>介紹
    新化县| 东明县| 顺昌县| 安阳市| 武鸣县| 大足县| 当涂县| 唐河县| 平阳县| 墨脱县| 泰州市| 阿克陶县| 新巴尔虎左旗| 昌乐县| 电白县| 广德县| 准格尔旗| 宁德市| 子长县| 东宁县| 渝中区| 大悟县| 容城县| 宁城县| 集安市| 佛冈县| 扎赉特旗| 赣州市| 梧州市| 友谊县| 隆化县| 增城市| 定边县| 蓝田县| 贡觉县| 蒙山县| 资溪县| 黑山县| 井冈山市| 丘北县| 巫山县|