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

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

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

IAR開發(fā)環(huán)境下雙核工程聯(lián)調(diào)的三種方法

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2022-06-16 09:13 ? 次閱讀

前段時(shí)間寫過一篇《雙核i.MX RT1170之單獨(dú)在線調(diào)試從核工程的方法》,那篇文章介紹了如何單獨(dú)在線調(diào)試從核工程的方法。 當(dāng)我們把主核工程和從核工程分別調(diào)穩(wěn)定之后,接著便開始需要雙核聯(lián)調(diào),驗(yàn)證雙核通信交互相關(guān)功能。今天就給大家介紹下 IAR 開發(fā)環(huán)境下雙核工程聯(lián)調(diào)的三種方法:

一、測(cè)試準(zhǔn)備

首先需要準(zhǔn)備好測(cè)試環(huán)境,包含必要的軟件和硬件,痞子衡的環(huán)境如下:

集成開發(fā)環(huán)境:IAR EW for Arm v9.10.2,點(diǎn)此下載

軟件開發(fā)包:SDK_2.11.0_MIMXRT1170-EVK(Toolchain要包含IAR),點(diǎn)此下載

軟件驅(qū)動(dòng):J-Link driver v7.56b,點(diǎn)此下載

硬件工具:J-Link Plus調(diào)試器

硬件開發(fā)板:MIMXRT1170-EVK (Rev.C),含板載 DAP-Link 調(diào)試器

我們知道 i.MX RT1170其實(shí)主從核是在Fuse里可配的,我們就以默認(rèn)配置(Cortex-M7 為主,Cortex-M4 為從)為例來介紹。

二、在IAR下調(diào)試

2.1 通用辦法:雙核工程無關(guān)聯(lián),調(diào)試器分別加載第一種方法就是單純借助外部調(diào)試器來做加載,主核工程和從核工程之間無依賴關(guān)系。我們選擇 SDK 包里如下兩個(gè) hello_world 普通工程來做測(cè)試:

主核工程:SDK_2.11.0_MIMXRT1170-EVKoardsevkmimxrt1170demo_appshello_worldcm7iar

從核工程:SDK_2.11.0_MIMXRT1170-EVKoardsevkmimxrt1170demo_appshello_worldcm4iar

首先將hello_world_demo_cm7 工程(選擇 flexspi_nor_debug build)調(diào)試起來(菜單欄 Download and Debug 按鈕),斷點(diǎn)停在 main 即可。然后繼續(xù)將 hello_world_demo_cm4 工程(選擇 debug build)也調(diào)試起來(菜單欄 Download and Debug 按鈕),過程很順利,接下來在兩個(gè)工程下可以分別單步或者設(shè)斷點(diǎn)進(jìn)行調(diào)試。

Note1: 調(diào)試順序不一定非要主核工程在先,從核工程在后,調(diào)換順序一樣可以,但是后調(diào)試的工程復(fù)位類型必須選 Core 復(fù)位(建議兩個(gè)工程均選擇這種復(fù)位)。

Note2: 調(diào)試從核工程 hello_world_demo_cm4 需借助《雙核i.MX RT1170之單獨(dú)在線調(diào)試從核工程的方法》 一文里的腳本激活從核,并且腳本里不要掛起主核。

Note3: 對(duì)于J-Link調(diào)試器,雙核工程分別調(diào)試沒有問題;但是對(duì)于DAP-Link調(diào)試器,當(dāng)?shù)谝粋€(gè)工程正在調(diào)試時(shí),第二個(gè)工程無法直接調(diào)試(會(huì)提示找不到可用的 DAP-Link 調(diào)試器)。

8d856024-ed0f-11ec-ba43-dac502259ad0.png

下面將兩個(gè)hello world 工程主函數(shù)稍稍修改了一下,打印出不同內(nèi)容,并且增加了一些延時(shí),從結(jié)果來看,兩個(gè)核都在正常跑。 不過這里要提醒一句,i.MX RT1170內(nèi)部大部分外設(shè)對(duì)于兩個(gè)核都是共享的,建議合理分配資源,盡量不要像本次測(cè)試這樣,兩個(gè)核都通過同一個(gè)UART來打印信息(除非代碼里刻意做了資源共享設(shè)計(jì))。

8da095ba-ed0f-11ec-ba43-dac502259ad0.png

2.2 專用方法:雙核工程無關(guān)聯(lián),IAR多核組件加載

第二種方法依然是借助外部調(diào)試器來做加載,主核工程和從核工程之間還是無需依賴關(guān)系。

不過這一次我們要借助IAR軟件里自帶的多核組件,具體設(shè)置在工程選項(xiàng) Debugger/Multicore 里面,在這里填上另外一個(gè)核工程(也叫 Partner 工程)文件(.eww)路徑以及 build 即可,然后點(diǎn)擊菜單欄 Download and Debug 按鈕,IAR 會(huì)自動(dòng)完成全部加載工作并返回給用戶兩個(gè)工程的調(diào)試界面:

Note1: 多核組件的設(shè)置既可以在主核工程里,也可以在從核工程里。我們既可以從主核工程開始調(diào)試,也可以從從核工程開始調(diào)試。

Note2: 多核組件僅僅是自動(dòng)去打開 Partner 工程完成下載調(diào)試,并不包含從核激活功能,因此從核工程還是需要保留從核激活腳本。

Note3: 多核組件功能僅在 DAP-Link 調(diào)試器(或者 I-Jet)下有效,在 J-Link 調(diào)試器下不適用。

8dc8e54c-ed0f-11ec-ba43-dac502259ad0.png

2.3 通用方法:雙核工程有關(guān)聯(lián),主核加載從核

前兩種方法本質(zhì)上都是借助調(diào)試器完成從核工程加載的,其實(shí)除了調(diào)試器,我們也可以利用主核工程里的代碼來加載從核,步驟都在《雙核i.MX RT1170之Cortex-M7與Cortex-M4互相激活之道》 一文里,我們以 SDK 包里如下兩個(gè) hello_world 多核例程來做測(cè)試:

主核工程:SDK_2.11.0_MIMXRT1170-EVKoardsevkmimxrt1170multicore_exampleshello_worldcm7iar 從核工程:SDK_2.11.0_MIMXRT1170-EVKoardsevkmimxrt1170multicore_exampleshello_worldcm4iar

在多核示例里,從核工程選項(xiàng) Output Converter / Output 里會(huì)指定生成 hello_world_cm4.bin,然后主核工程選項(xiàng) Linker /Input 里會(huì)輸入hello_world_cm4.bin 的路徑,這樣主核工程直接把從核可執(zhí)行機(jī)器碼當(dāng)作源文件數(shù)組,用于后續(xù)復(fù)制加載從核程序(具體代碼在主核工程 hello_world_core0.c 文件里)。

8df0fcd0-ed0f-11ec-ba43-dac502259ad0.png

多核示例主要是為了展示雙核通信交互,而本文主要介紹雙核調(diào)試,因此我們可以將原始工程里關(guān)于 MCMGR 相關(guān)代碼全部去掉(主核工程代碼里要添加從核激活語句),主核工程里多核組件的設(shè)置也去掉。

Note1: 此方法不依賴從核工程的激活腳本,因?yàn)榧せ罟ぷ髟谥骱斯こ檀a里做掉了。

Note2: 此方法適用 J-Link 調(diào)試器,不適用 DAP-Link 調(diào)試器,原因與 2.1 節(jié) Note 3 類似。

兩個(gè)工程修改完之后,先調(diào)試主核工程(菜單欄 Download and Debug 按鈕),跑到從核激活語句全部執(zhí)行完畢,然后再調(diào)試從核工程(菜單欄 Attach to Running Target 按鈕),至此也可以愉快地進(jìn)行雙核調(diào)試。

審核編輯 :李倩

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

    關(guān)注

    5

    文章

    344

    瀏覽量

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

    關(guān)注

    1

    文章

    297

    瀏覽量

    23632

原文標(biāo)題:雙核i.MX RT1170之在線聯(lián)合調(diào)試雙核工程的三種方法(IAR篇)

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MCUXpresso IDE下在線聯(lián)合調(diào)試核MCU工程三種方法

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線聯(lián)合調(diào)試i.MXRT1170核工程三種方法
    的頭像 發(fā)表于 08-08 15:18 ?369次閱讀
    MCUXpresso IDE下在線聯(lián)合調(diào)試<b class='flag-5'>雙</b>核MCU<b class='flag-5'>工程</b>的<b class='flag-5'>三種方法</b>

    信號(hào)調(diào)制的三種基本方法

    號(hào)調(diào)制的三種基本方法:調(diào)幅(AM)、調(diào)頻(FM)和調(diào)相(PM),并分析它們的優(yōu)缺點(diǎn)及應(yīng)用場景。 調(diào)幅(AM) 2.1 調(diào)幅原理 調(diào)幅(Amplitude Modulation,AM)是一將低頻信號(hào)的幅度變化映射到高頻載波信號(hào)的
    的頭像 發(fā)表于 06-03 09:38 ?1955次閱讀

    芯海通用 MCU應(yīng)用筆記 :在 IAR 及 MDK 開發(fā)環(huán)境使用 printf 函數(shù)重定向移植差異指南

    9.x 版本的通用重定向代碼。*附件:應(yīng)用筆記:在IAR及MDK開發(fā)環(huán)境使用printf函數(shù)重定向移植差異指南.pdf
    發(fā)表于 05-16 11:56

    芯海應(yīng)用筆記:通用 MCU 基于 IAR 芯片包 IAR9 開發(fā)指南

    MCU 芯片。芯海科技基于 IAR 環(huán)境開發(fā)芯片包,給用戶更多的編譯選擇,提高用戶開發(fā)靈活性。本應(yīng)用筆記從芯片包結(jié)構(gòu)、DEMO 例程下載使用、工程
    發(fā)表于 05-16 11:52

    菱M70 PLC增加注解的三種方法簡析

    菱M70 PLC增加注解的三種方法
    的頭像 發(fā)表于 02-26 09:59 ?982次閱讀
    <b class='flag-5'>三</b>菱M70 PLC增加注解的<b class='flag-5'>三種方法</b>簡析

    3控開關(guān)的接線方法

    詳盡、詳實(shí)、細(xì)致地介紹三種常見的控開關(guān)的接線方法。 第一接線方法是直連法。直連法是最簡單的
    的頭像 發(fā)表于 02-05 13:46 ?3824次閱讀

    嵌入式Linux開發(fā)三種方式

    嵌入式Linux開發(fā)主要有三種方式:裸機(jī)開發(fā)、SDK開發(fā)和驅(qū)動(dòng)開發(fā)。
    的頭像 發(fā)表于 01-22 14:22 ?882次閱讀

    傳統(tǒng)激光功率衰減的三種方法

    傳統(tǒng)激光功率衰減通常使用以下三種方法,分別為中性密度衰減片衰減法、偏振衰減法、鍍膜光學(xué)鏡片衰減法。
    的頭像 發(fā)表于 01-20 10:42 ?1527次閱讀
    傳統(tǒng)激光功率衰減的<b class='flag-5'>三種方法</b>

    異步電機(jī)主要的三種調(diào)速方法解析

    異步電機(jī)主要的三種調(diào)速方法解析
    的頭像 發(fā)表于 01-07 17:50 ?2098次閱讀
    異步電機(jī)主要的<b class='flag-5'>三種</b>調(diào)速<b class='flag-5'>方法</b>解析

    無人機(jī)測(cè)深的三種方法總結(jié)

    無論是陸地測(cè)繪還是海洋測(cè)繪,測(cè)繪行業(yè)都是朝著航空方向發(fā)展。下面結(jié)合搜索到的論文和相關(guān)網(wǎng)頁,總結(jié)下無人機(jī)測(cè)深的方法,總共有三種:1)機(jī)載激光雷達(dá);2)機(jī)載探地雷達(dá)(GPR);3)機(jī)載高精度測(cè)深儀。
    的頭像 發(fā)表于 01-05 11:24 ?1635次閱讀
    無人機(jī)測(cè)深的<b class='flag-5'>三種方法</b>總結(jié)

    javajvm調(diào)優(yōu)有幾種方法

    基本概念。JVM(Java Virtual Machine,Java虛擬機(jī))是Java運(yùn)行時(shí)環(huán)境的核心組件,負(fù)責(zé)解釋和執(zhí)行Java字節(jié)碼文件。JVM調(diào)優(yōu)的目標(biāo)是優(yōu)化JVM的內(nèi)存使用、垃圾回收、線程管理等方面,以提高應(yīng)用程序的性能和可用性。 下面是幾種常用的JVM
    的頭像 發(fā)表于 12-05 11:11 ?1963次閱讀

    電源的三種常用冷卻方法

    在電源領(lǐng)域,散熱至關(guān)重要,它可直接影響電源性能、可靠性和壽命。隨著電子元件的尺寸不斷縮小,功率越來越大,有效的冷卻方法對(duì)于防止過熱和確保最佳功能至關(guān)重要。在本文中,我們將深入獨(dú)具吸引力的電源冷卻領(lǐng)域,并探討三種常用方法的優(yōu)缺點(diǎn):
    的頭像 發(fā)表于 12-03 10:29 ?874次閱讀

    linux網(wǎng)絡(luò)配置的3種方法

    Linux是一流行的操作系統(tǒng),廣泛應(yīng)用于服務(wù)器和網(wǎng)絡(luò)設(shè)備中。Linux系統(tǒng)提供了多種方法來配置網(wǎng)絡(luò)連接,使得網(wǎng)絡(luò)設(shè)置更加靈活和可定制。本文將會(huì)介紹Linux網(wǎng)絡(luò)配置的三種方法,包括命令行方式
    的頭像 發(fā)表于 11-27 14:33 ?4091次閱讀

    修復(fù)鋰電池的三種方法

    電子發(fā)燒友網(wǎng)站提供《修復(fù)鋰電池的三種方法.doc》資料免費(fèi)下載
    發(fā)表于 11-15 10:40 ?5次下載
    修復(fù)鋰電池的<b class='flag-5'>三種方法</b>

    如何用三種不同的方法來用按鈕控制燈光

    在電子和自動(dòng)化中,一個(gè)常見的任務(wù)是使用按鈕來控制燈的開/關(guān)狀態(tài)。這可以用不同的方式實(shí)現(xiàn),取決于設(shè)備的類型和涉及的邏輯。在本文中,我們將比較使用單片機(jī)、PLC和硬件連接來實(shí)現(xiàn)這個(gè)任務(wù)的三種方法。我們將討論每種方法的優(yōu)缺點(diǎn),以及所需的步驟和組件。
    的頭像 發(fā)表于 11-10 11:47 ?2461次閱讀
    如何用<b class='flag-5'>三種</b>不同的<b class='flag-5'>方法</b>來用按鈕控制燈光