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

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

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

AWorksLP 樣例詳解(MR6750)——雙核燒錄

ZLG致遠(yuǎn)電子 ? 2023-09-21 08:26 ? 次閱讀

AWorksLP 對外設(shè)進(jìn)行了高度抽象化,為同一類外設(shè)提供了相同的接口,應(yīng)用程序可以輕松跨平臺。本文以MR6750平臺為例,介紹AWorksLP 雙核燒錄的方法。

92f45f0c-5815-11ee-9788-92fbcf53809c.jpg ?簡介

MR6750雙核是集成了兩個RISC-V處理器,是兩個完全獨(dú)立的CPU,故HPM雙核工程是Core0工程和Core1工程兩個獨(dú)立的工程。因此HPM雙核工程編譯,其實(shí)是兩個獨(dú)立的單核工程的編譯。用戶只需要建立core0和core1的各自工程編譯調(diào)試即可。


9301a16c-5815-11ee-9788-92fbcf53809c.jpg ?雙核固件燒錄

雙核的例程是由hart0啟動hart1 的方式, 所以需要兩個固件,即hart0的固件與hart1 的固件。采用匯編incbin "xxx.bin"的方式,將hart1 的固件包含在hart0的固件中,所以最終hart0與hart1 的固件合并成一個elf 或者bin 文件,由調(diào)試器下載芯片中hart0的固件是在flash 中運(yùn)行,hart1 的固件是在SDRAM 中運(yùn)行。

注: HPM6750總是從hart0啟動,因此hart0是主核,hart1 是從核,hart1 作為從核不能自主啟動,必須由hart0來啟動。

{SDK}\demos\multi-core路徑下為6750雙核例程,hello例程是最基礎(chǔ)的雙核例程,openamp和rpc是兩種多核處理器框架、本小節(jié)將基于hello例程介紹雙核的程序如何燒錄。

9310e190-5815-11ee-9788-92fbcf53809c.png

圖1例程目錄

1.創(chuàng)建工程

AWorksLPSDK相關(guān)使用請參考《AWorksLPSDK快速入門(MR6450)——開箱體驗(yàn)》一文,本文不在贅述。

hello目錄下有兩個工程,hart0和hart1,分別對應(yīng)主核和從核的工程、在選擇板卡時需要選擇EPC6750-AWI-muti板卡。

931c42c4-5815-11ee-9788-92fbcf53809c.png

圖2選擇板卡

2. 編譯hart1固件在hart1工程的配置中選擇輸出文件類型為Raw binary。9323609a-5815-11ee-9788-92fbcf53809c.png圖3Hart1工程配置Hart1工程選擇2 sdram_hart1_debug編譯方式,從核的程序?qū)⒃赟DRAM中運(yùn)行。編譯完成后將會在當(dāng)前工程目錄下的hart1\project_eclipse\sdram_hart1_debug路徑下生成HPM6750-MULTI-HART1.bin文件。

932cd0f8-5815-11ee-9788-92fbcf53809c.png

圖4編譯方式

將HPM6750-MULTI-HART1.bin固件拷貝到對應(yīng)的板卡路徑中的source文件中、{SDK}\platforms\platform-hpm-aworks-lp\boards\EPC6750-AWI-muti\source。

注意:hpm_hart1_image.S文件中的名稱要與從核的固件名稱相同。

9335463e-5815-11ee-9788-92fbcf53809c.png圖5拷貝固件3. 編譯hart0固件

將hart1固件拷貝完成后、編譯hart0固件。主核的程序?qū)⒃趂lash中運(yùn)行、燒錄完成后按一下復(fù)位鍵。

933f0f70-5815-11ee-9788-92fbcf53809c.png

圖6hart0編譯4. 例程Hart1的工程源碼如下,在從核中間隔1秒在對應(yīng)的串口中打印”hart1:hello world!\n”。

int aw_main(){ aw_kprintf("\r\napplication Start.............. \r\n");
while(1) {
aw_kprintf("hart1: hello world!\n"); aw_mdelay(1000); }
return 0;
}

Hart0的工程源碼如下在__start_hart1(void)函數(shù)中使用aw_open接口打開核從核、打開后在對應(yīng)的調(diào)試串口中打印”hart0:hello world!\n”。

static void __start_hart1(void){ int fd; fd = aw_open("/dev/multi_core", AW_O_RDWR, 0); if (fd < 0) { ? ? ? ?aw_kprintf("open error, fd: %d\n", fd); ? ?} ? ?aw_kprintf("open multi_core ok!\n");}
int aw_main(){ aw_kprintf("\r\napplication Start.............. \r\n");
__start_hart1();
while(1) {
aw_kprintf("hart0: hello world!\n"); aw_mdelay(1000); }
return 0;
}

在{SDK}\platforms\platform-hpm-aworks-lp\boards\EPC6750-AWI-muti\EPC6750-AWI-muti.dts文件中定義了hart0和hart1兩個工程分別使用的調(diào)試串口號、當(dāng)使用hart1工程時調(diào)試串口為uart13,當(dāng)使用hart0工程時調(diào)試串口為uart0。

注意:若使用的時EPC6750-AWI-L評估板,評估板的uart13串口對應(yīng)的硬件接的是485,需在gui上使能485功能才能使用,也可直接將uart13改為uart5在排針上有對應(yīng)接口直接使用即可。

934fd29c-5815-11ee-9788-92fbcf53809c.png圖7調(diào)試串口代碼運(yùn)行后hart0和hart1所對應(yīng)的串口的打印信息分別為:935bebe0-5815-11ee-9788-92fbcf53809c.png圖8串口打印信息

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

    關(guān)注

    68

    文章

    19032

    瀏覽量

    228450
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8355

    瀏覽量

    150517
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1015

    瀏覽量

    45601
收藏 人收藏

    評論

    相關(guān)推薦

    dsp和單核dsp的區(qū)別

    DSP(Digital Signal Processor,數(shù)字信號處理器)與單核DSP在多個方面存在顯著差異,這些差異主要體現(xiàn)在處理能力、任務(wù)分配、資源利用以及適用場景等方面。 一、處理能力
    的頭像 發(fā)表于 09-24 16:14 ?283次閱讀

    STM32H743與STM32H745在外部電路上是否完全一,是否可以不更換外部電路的情況下實(shí)現(xiàn)直接替換呢?

    請教下STM32H743與STM32H745在外部電路上是否完全一,是否可以不更換外部電路的情況下實(shí)現(xiàn)直接替換呢? 如果電路需要有變化,能否發(fā)個文檔進(jìn)行說明呢?
    發(fā)表于 04-07 08:17

    STM32H747如何用JLINK調(diào)試?

    1.我之前是在STM32H747的官方開發(fā)板discover上進(jìn)行調(diào)試,板子上自帶了STlink調(diào)試器,按照官方文檔配置可以進(jìn)行調(diào)試 2.目前自己設(shè)計(jì)的板子上是調(diào)試接口是SWD接口,手上只有
    發(fā)表于 03-28 08:58

    PSoC架構(gòu)中都可以訪問全部外設(shè)嗎?

    你好!如標(biāo)題:PSoC 架構(gòu)中兩個內(nèi)核對芯片的全部外設(shè)都有直接訪問能力嘛?如果都可以直接訪問,那IPC模塊的主要應(yīng)用場景是哪些呢?
    發(fā)表于 02-02 11:44

    stlink燒錄燒錄步驟

    燒錄器是一種常用于嵌入式系統(tǒng)開發(fā)的工具,能夠?qū)⒊绦虼a燒錄到芯片中。STLINK是STMicroelectronics公司推出的一款燒錄器,用于燒錄STM32系列單片機(jī)。以下是STLI
    的頭像 發(fā)表于 01-08 14:51 ?1.2w次閱讀

    【2023電子工程師大會】基于RK3568的OH開發(fā)及ppt

    【2023電子工程師大會】基于RK3568的OH開發(fā)及ppt
    發(fā)表于 01-03 16:31 ?23次下載

    stc51單片機(jī)怎么燒錄

    燒錄STC51單片機(jī)是一項(xiàng)常見的操作,下面將詳細(xì)介紹如何進(jìn)行燒錄以及所需的步驟和工具。本文將按照如下順序進(jìn)行詳解: STC51單片機(jī)簡介 硬件燒錄工具介紹 硬件
    的頭像 發(fā)表于 01-02 17:41 ?2678次閱讀

    燒錄完成的盤裝芯片是怎么運(yùn)輸?shù)?盤裝燒錄機(jī)

    芯片燒錄
    acroview123
    發(fā)布于 :2023年12月11日 19:13:20

    在線燒錄和離線燒錄怎么選擇

    對于工程師和電子生產(chǎn)企業(yè)來說,給芯片寫入程序,即燒錄是日常工作中必不可少的工作。在線燒錄和離線燒錄是兩種常見的數(shù)據(jù)寫入方法,它們在原理、作用和使用方面有著不同的特點(diǎn),因此在實(shí)際應(yīng)用中需要根據(jù)具體需求進(jìn)行選擇。
    的頭像 發(fā)表于 11-29 19:39 ?1513次閱讀
    在線<b class='flag-5'>燒錄</b>和離線<b class='flag-5'>燒錄</b>怎么選擇

    AWorksLP應(yīng)用筆記:重定向printf函數(shù)

    printf函數(shù)作為標(biāo)準(zhǔn)庫定義的格式化輸出方式,本文將介紹其在AWorksLP下默認(rèn)適配以及重映射至熱拔插設(shè)備端口的實(shí)現(xiàn)。默認(rèn)適配AWorksLP中默認(rèn)已經(jīng)對printf函數(shù)完成相關(guān)適配工作,且默認(rèn)
    的頭像 發(fā)表于 11-25 08:24 ?539次閱讀
    <b class='flag-5'>AWorksLP</b>應(yīng)用筆記:重定向printf函數(shù)

    如何驗(yàn)證燒錄的數(shù)據(jù)是否正確

    為驗(yàn)證燒錄進(jìn)去的數(shù)據(jù)是否正確,我們一般有兩種方式:checksum和readout。下面我們以Flashrunner2.0為,來講講兩者的區(qū)別。
    的頭像 發(fā)表于 11-22 18:20 ?2886次閱讀
    如何驗(yàn)證<b class='flag-5'>燒錄</b>的數(shù)據(jù)是否正確

    lpc54110怎樣進(jìn)行的軟件燒錄?

    如題,怎樣給第二個燒錄系統(tǒng)
    發(fā)表于 11-10 06:22

    無法用start gui生成雙例程

    當(dāng)我嘗試用start gui生成一個支行的hello程序來學(xué)習(xí)的時候,發(fā)生提示錯誤,如下圖所示: 改選6750evk等其它板子也不行,提示的錯誤一。 請教各位大佬,這是什么情況,
    發(fā)表于 10-29 11:16

    亮鉆科技D-3568主板燒錄教程

    本固件燒錄教程,針對基于瑞芯微平臺的主板,以亮鉆科技的D-3568主板為,燒錄方式采用常用的USB OTG,整個教程僅3個步驟,緊跟步驟操作,輕松上手。
    的頭像 發(fā)表于 10-27 09:35 ?2646次閱讀
    亮鉆科技D-3568主板<b class='flag-5'>燒錄</b>教程

    MindSDK應(yīng)用基礎(chǔ)——TIM模塊

    MindSDK應(yīng)用基礎(chǔ)——TIM模塊
    的頭像 發(fā)表于 10-25 16:25 ?498次閱讀