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

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

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

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

痞子衡嵌入式 ? 來源:痞子衡嵌入式 ? 2024-08-08 15:18 ? 次閱讀

大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線聯(lián)合調(diào)試i.MXRT1170雙核工程的三種方法。

兩年前痞子衡寫過一篇《i.MXRT1170下在線聯(lián)合調(diào)試雙核工程的三種方法(IAR篇)》,那篇文章詳細(xì)介紹了 IAR 下調(diào)試 RT1170 雙核工程的幾種方法?,F(xiàn)如今,免費(fèi)的 MCUXpresso IDE 用戶越來越多,而且說實(shí)話,MCUXpresso IDE 也確實(shí)功能越來越完善,日常嵌入式開發(fā)的幾乎所有需求都能夠滿足。今天痞子衡就繼續(xù)給大家介紹 MCUXpresso IDE 下雙核工程聯(lián)調(diào)的三種方法:

一、測試準(zhǔn)備

按 《i.MXRT1170下在線聯(lián)合調(diào)試雙核工程的三種方法(IAR篇)》 一文里第一節(jié)的測試準(zhǔn)備,痞子衡這次的環(huán)境如下:

集成開發(fā)環(huán)境:MCUXpresso IDE v11.10.x,點(diǎn)此下載

軟件開發(fā)包:SDK_2_16_000_MIMXRT1170-EVKB(Toolchain要包含MCUXpresso IDE),點(diǎn)此下載

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

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

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

二、在MCUXpresso IDE下調(diào)試

2.1 通用辦法:雙核工程無關(guān)聯(lián),調(diào)試器分別加載

第一種方法依舊是單純借助外部調(diào)試器來做加載,主核工程和從核工程之間無任何依賴關(guān)系(一般情況下主核是 XIP 工程,從核是 Non-XIP 工程)。我們選擇 SDK 包里如下兩個(gè) hello_world 普通工程來做測試(SDK 包里并沒有現(xiàn)成的 MCUXpresso IDE 工程文件,需要自己導(dǎo)出,詳情參考 《MCUXpresso IDE下SDK工程導(dǎo)入與workspace管理機(jī)制》 一文):

主核例程導(dǎo)出源路徑:SDK_2_16_000_MIMXRT1170-EVKBoardsevkbmimxrt1170demo_appshello_worldcm7
從核例程導(dǎo)出源路徑:SDK_2_16_000_MIMXRT1170-EVKBoardsevkbmimxrt1170demo_appshello_worldcm4

上次測試 IAR 工具鏈時(shí),SDK 版本還是 2.11,如今已經(jīng)演化到了 2.16,現(xiàn)在配套腳本設(shè)計(jì)得更完善了,主核工程和從核工程下載先后順序無限制。痞子衡使用了板載 DAP-Link 調(diào)試器分別調(diào)試雙核工程,過程非常絲滑。這主要得益于如下兩個(gè) .scp 腳本文件(完成主從核連接與激活工作):

85f6c588-4dc4-11ef-b8af-92fbcf53809c.png

有小伙伴可能會(huì)疑惑,這兩個(gè) .scp 文件到底是放在哪里的?因?yàn)樵?MCUXpresso IDE 安裝目錄下以及導(dǎo)出的 hello world 工程目錄下都找不到它們的身影,其實(shí)它們就藏在安裝 MCUXpresso IDE 時(shí)自動(dòng)同步安裝的 LinkServer 驅(qū)動(dòng)里面(LinkServer_1.6.114inariesScripts),這些腳本是共用的,如果你想修改為專用腳本,可以拷貝到工程目錄下,然后啟用下圖里的 Custom Path。

8606ef76-4dc4-11ef-b8af-92fbcf53809c.png

2.2 專用方法:雙核工程有關(guān)聯(lián),IDE多核組件鏈接,主核加載從核

第二種方法需要借助主核代碼來給從核做加載,此時(shí)主核工程和從核工程之間有互相鏈接關(guān)系(依舊為主核 XIP 工程,從核 Non-XIP 工程),這里需要借助 MCUXpresso IDE 軟件里自帶的多核組件。我們首先從 SDK 里導(dǎo)出 hello world 多核例程:

主核例程導(dǎo)出源路徑:SDK_2_16_000_MIMXRT1170-EVKBoardsevkmimxrt1170multicore_exampleshello_worldcm7
從核例程導(dǎo)出源路徑:SDK_2_16_000_MIMXRT1170-EVKBoardsevkmimxrt1170multicore_exampleshello_worldcm4
86202c7a-4dc4-11ef-b8af-92fbcf53809c.png

可以分別打開主核和從核例程的工程選項(xiàng),找到 Multicore 設(shè)置,可以看到從核配置為 M4SLAVE,主核勾選了 M4SLAVE 工程對應(yīng)的 axf 文件路徑,此為兩個(gè)工程的鏈接關(guān)系:

863f83ae-4dc4-11ef-b8af-92fbcf53809c.png

至于從核代碼加載過程,可以打開主核工程的鏈接文件,相比一般獨(dú)立工程鏈接文件,其多了對從核工程編譯出來的二進(jìn)制數(shù)據(jù)(包含text和data)的鏈接處理,拷貝動(dòng)作是在主核工程 startup_mimxrt1176_cm7.c 文件 ResetISR() 函數(shù)中的 data bss 段初始化過程中一起完成的,激活從核動(dòng)作則是 main 函數(shù)里 MCMGR_StartCore() 函數(shù)實(shí)現(xiàn)的。

8643bf50-4dc4-11ef-b8af-92fbcf53809c.png

2.3 通用方法:雙核工程無關(guān)聯(lián),主核激活從核

目前 v2.16 SDK 包里相比之前增加了如下兩個(gè) hello_world_secondary_core_boot 多核例程,以往的多核例程,從核均是 Non-XIP 工程,而這個(gè)新增例程里從核工程也是 XIP 例程:

主核例程導(dǎo)出源路徑:SDK_2_16_000_MIMXRT1170-EVKBoardsevkmimxrt1170demo_appshello_world_secondary_core_bootcm7
從核例程導(dǎo)出源路徑:SDK_2_16_000_MIMXRT1170-EVKBoardsevkmimxrt1170demo_appshello_world_secondary_core_bootcm4

因?yàn)橹鲝暮斯こ叹?XIP 工程,在調(diào)試時(shí)需要先將從核工程下載進(jìn) Flash,然后再下載主核工程進(jìn) Flash 并且沿用主核工程里的 XIP 頭做啟動(dòng)配置。因?yàn)榇a加載是調(diào)試器完成的,所以兩個(gè)工程間并無直接關(guān)聯(lián),不過因?yàn)樽罱K還是需要主核執(zhí)行代碼去完成從核激活工作,因此從核程序存放地址(CORE1_BOOT_ADDRESS)是需要 hardcode 在主核代碼里的。

8659f4aa-4dc4-11ef-b8af-92fbcf53809c.png

至此,MCUXpresso IDE下在線聯(lián)合調(diào)試i.MXRT1170雙核工程的三種方法痞子衡便介紹完畢了,掌聲在哪里~~~

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

    關(guān)注

    0

    文章

    334

    瀏覽量

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

    關(guān)注

    1

    文章

    300

    瀏覽量

    23667
  • J-Link
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

    22093
  • mcuxpresso
    +關(guān)注

    關(guān)注

    1

    文章

    38

    瀏覽量

    4138

原文標(biāo)題:MCUXpresso IDE下在線聯(lián)合調(diào)試雙核MCU工程的三種方法

文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    啟動(dòng)Redis的三種方法

    Redis筆記(1)——安裝、卸載、三種方法啟動(dòng)Redis,Redis命令使用(干貨十足),Redis兩種方法設(shè)置密碼,時(shí)間復(fù)雜度(更完善哦~)
    發(fā)表于 06-08 16:09

    MCUXpresso IDE下在線調(diào)試時(shí)使用不同復(fù)位策略的現(xiàn)象分享

      大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線調(diào)試時(shí)使用不同復(fù)位策略的現(xiàn)象總結(jié)。  本篇實(shí)際上是《IAR
    發(fā)表于 01-25 07:37

    不同復(fù)位類型設(shè)置對MCUXpresso IDE在線調(diào)試的影響是什么

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線調(diào)試時(shí)使用不同復(fù)位策略的現(xiàn)象總結(jié)。本篇實(shí)際上是《IAR
    發(fā)表于 02-07 06:10

    分享MCUXpresso IDE下將關(guān)鍵函數(shù)重定向到RAM中執(zhí)行的幾種方法

    重定向到RAM中執(zhí)行的三種方法》,有讀者在文章下面留言,希望也講一講 MCUXpresso IDE 下函數(shù)重定向到 RAM 中執(zhí)行的方法。我們知道函數(shù)重定向的實(shí)現(xiàn)需要借助
    發(fā)表于 02-10 06:44

    記錄一下MCU存在ROM中的bootloader的三種方法

    網(wǎng)上查到的直接進(jìn)入TIVA系列MCU存在ROM中的bootloader的三種方法,記錄一下。使用 TM4C ROM bootloader 的種方式:Flash Empty當(dāng) MCU
    發(fā)表于 02-14 06:45

    噪聲系數(shù)測量的三種方法

    噪聲系數(shù)測量的三種方法 本文介紹了測量噪聲系數(shù)的三種方法:增益法、Y
    發(fā)表于 05-07 13:38 ?2142次閱讀

    解決電池問題有三種方法

    解決電池問題有三種方法      對于手機(jī)電池問題如何解決,業(yè)內(nèi)人士指出有以下三種方法:   一、發(fā)明新型電池。目前有日本生產(chǎn)商已經(jīng)展示了概念性的燃
    發(fā)表于 11-10 14:26 ?945次閱讀

    MCUXpresso IDE在Flash調(diào)試的注意事項(xiàng)

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是 MCUXpresso IDE 下使用 J-Link 下載算法在 Flash 調(diào)試注意事項(xiàng)。 介紹一下如何使用新生成的 flash
    的頭像 發(fā)表于 12-23 13:53 ?982次閱讀

    實(shí)體關(guān)系聯(lián)合抽取取得SOTA的三種方法

    三種方法,以做總結(jié)。?? 先總體對三種方法做個(gè)比較:*表示Exact Matching 以下將對上面提到的篇文章依次進(jìn)行詳細(xì)解讀。 CasRel 論文:A Novel Cascade Binary
    的頭像 發(fā)表于 02-10 17:08 ?1.2w次閱讀
    實(shí)體關(guān)系<b class='flag-5'>聯(lián)合</b>抽取取得SOTA的<b class='flag-5'>三種方法</b>

    python統(tǒng)計(jì)詞頻的三種方法

    python統(tǒng)計(jì)詞頻的三種方法方法。
    發(fā)表于 05-25 14:33 ?2次下載

    痞子衡嵌入式:MCUXpresso IDE下在線調(diào)試時(shí)使用不同復(fù)位策略的現(xiàn)象總結(jié)

      大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線調(diào)試時(shí)使用不同復(fù)位策略的現(xiàn)象總結(jié)?! ”酒獙?shí)際上是《IAR
    發(fā)表于 11-30 18:06 ?14次下載
    痞子衡嵌入式:<b class='flag-5'>MCUXpresso</b> <b class='flag-5'>IDE</b><b class='flag-5'>下在線</b><b class='flag-5'>調(diào)試</b>時(shí)使用不同復(fù)位策略的現(xiàn)象總結(jié)

    不同復(fù)位類型設(shè)置對MCUXpresso IDE在線調(diào)試有何影響?

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線調(diào)試時(shí)使用不同復(fù)位策略的現(xiàn)象總結(jié)。本篇實(shí)際上是《IAR
    發(fā)表于 12-04 12:21 ?8次下載
    不同復(fù)位類型設(shè)置對<b class='flag-5'>MCUXpresso</b> <b class='flag-5'>IDE</b><b class='flag-5'>在線</b><b class='flag-5'>調(diào)試</b>有何影響?

    痞子衡嵌入式:MCUXpresso IDE下將關(guān)鍵函數(shù)重定向到RAM中執(zhí)行的幾種方法

    重定向到RAM中執(zhí)行的三種方法》,有讀者在文章下面留言,希望也講一講 MCUXpresso IDE 下函數(shù)重定向到 RAM 中執(zhí)行的方法。我們知道函數(shù)重定向的實(shí)現(xiàn)需要借助
    發(fā)表于 12-06 19:36 ?9次下載
    痞子衡嵌入式:<b class='flag-5'>MCUXpresso</b> <b class='flag-5'>IDE</b>下將關(guān)鍵函數(shù)重定向到RAM中執(zhí)行的幾<b class='flag-5'>種方法</b>

    IAR開發(fā)環(huán)境下調(diào)試工程方法

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是i.MXRT1170下在線聯(lián)合調(diào)試工程方法(基于IAR)。
    的頭像 發(fā)表于 06-20 11:32 ?3788次閱讀

    噪聲系數(shù)測量的三種方法

    本文介紹了測量噪聲系數(shù)的三種方法:增益法、Y系數(shù)法和噪聲系數(shù)測試儀法。這三種方法的比較以表格的形式給出。
    的頭像 發(fā)表于 05-18 11:02 ?1246次閱讀
    噪聲系數(shù)測量的<b class='flag-5'>三種方法</b>