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

完善資料讓更多小伙伴認(rèn)識你,還能領(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)的三種方法:

一、測試準(zhǔn)備

首先需要準(zhǔn)備好測試環(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 普通工程來做測試:

主核工程: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: 對于J-Link調(diào)試器,雙核工程分別調(diào)試沒有問題;但是對于DAP-Link調(diào)試器,當(dāng)?shù)谝粋€(gè)工程正在調(diào)試時(shí),第二個(gè)工程無法直接調(diào)試(會提示找不到可用的 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è)對于兩個(gè)核都是共享的,建議合理分配資源,盡量不要像本次測試這樣,兩個(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 會自動(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 多核例程來做測試:

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

在多核示例里,從核工程選項(xiàng) Output Converter / Output 里會指定生成 hello_world_cm4.bin,然后主核工程選項(xiàng) Linker /Input 里會輸入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ī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • IAR
    IAR
    +關(guān)注

    關(guān)注

    5

    文章

    354

    瀏覽量

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

    關(guān)注

    1

    文章

    305

    瀏覽量

    23782

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    FPGA頻率測量的三種方法

    1、FPGA頻率測量? 頻率測量在電子設(shè)計(jì)和測量領(lǐng)域中經(jīng)常用到,因此對頻率測量方法的研究在實(shí)際工程應(yīng)用中具有重要意義。 通常的頻率測量方法三種:直接測量法,間接測量法,等精度測量法。
    的頭像 發(fā)表于 01-09 09:37 ?91次閱讀
    FPGA頻率測量的<b class='flag-5'>三種方法</b>

    怎么用Clion開發(fā)APM32

    APM32 官方 SDK 中提供了三種開發(fā)環(huán)境:Keil、IAR 和 Eclipse。不否認(rèn)這三種環(huán)境
    的頭像 發(fā)表于 12-17 09:19 ?950次閱讀
    怎么用Clion<b class='flag-5'>開發(fā)</b>APM32

    三種封裝形式的400G光模塊概述

    本文主要就三種封裝形式(QSFP-DD、OSFP、QSFP112)的400G光模塊做了簡單的梳理,從為什么會有400G光模塊問世?400G光模塊在三種封裝形式的各個(gè)具體型號(以短距離為主,最遠(yuǎn)2km),
    的頭像 發(fā)表于 11-11 11:35 ?471次閱讀
    <b class='flag-5'>三種</b>封裝形式<b class='flag-5'>下</b>的400G光模塊概述

    光纖測試方法有哪三種

    光纖測試是確保光纖通信系統(tǒng)性能和可靠性的重要環(huán)節(jié)。光纖測試方法多樣,主要包括插入損耗測試、回波損耗測試和光纖端面檢查。以下是對這三種測試方法的介紹: 1. 插入損耗測試 插入損耗測試是測量光纖鏈路中
    的頭像 發(fā)表于 09-24 09:31 ?1028次閱讀

    簡述三種esp32的開發(fā)方式是什么

    ESP32是一款由樂鑫(Espressif)推出的低功耗、高性能的Wi-Fi和藍(lán)牙雙模無線通信芯片,廣泛應(yīng)用于物聯(lián)網(wǎng)、智能家居、智能硬件等領(lǐng)域。本文將詳細(xì)介紹三種ESP32的開發(fā)方式:Arduino
    的頭像 發(fā)表于 08-20 09:11 ?3647次閱讀

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

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

    數(shù)字示波器的測量方法有哪三種

    數(shù)字示波器是一廣泛應(yīng)用于電子測量領(lǐng)域的儀器,它能夠?qū)崟r(shí)顯示電壓波形,幫助工程師和技術(shù)人員對電子信號進(jìn)行分析和測量。數(shù)字示波器的測量方法有很多種,不同的測量方法適用于不同的應(yīng)用場景。以
    的頭像 發(fā)表于 07-17 18:02 ?1815次閱讀

    信號調(dià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)是一將低頻信號的幅度變化映射到高頻載波信號的
    的頭像 發(fā)表于 06-03 09:38 ?4550次閱讀

    芯海通用 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 ?1124次閱讀
    <b class='flag-5'>三</b>菱M70 PLC增加注解的<b class='flag-5'>三種方法</b>簡析

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

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

    求助,在TASKING軟件里如何建立多核工程并能實(shí)現(xiàn)3個(gè)核運(yùn)行?

    論壇里看到有基于BaseFramework框架的多核工程,但是怎么在TASKING里直接創(chuàng)建工程?我在TASKING里新建多核工程,并通過SoftwarePlatform插件代碼生成來生成完整的各種
    發(fā)表于 02-05 09:09

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

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

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

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