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

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

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

應(yīng)用筆記|米爾Remi Pi FreeRTOS應(yīng)用開(kāi)發(fā)

米爾電子 ? 2024-05-23 08:01 ? 次閱讀

1.概述

Remi Pi瑞米派采用瑞薩RZ/G2L作為核心處理器,該處理器搭載雙核Cortex-A55@1.2GHz+Cortex-M33@200MHz處理器,其內(nèi)部集成高性能3D加速引擎Mail-G31 GPU(500MHz)和視頻處理單元(支持H.264硬件編解碼),16位的DDR4-1600 / DDR3L-1333內(nèi)存控制器、千兆以太網(wǎng)控制器、USB、CAN、SD卡、MIPI-CSI等外設(shè)接口,在工業(yè)、醫(yī)療、電力等行業(yè)都得到廣泛的應(yīng)用。

在開(kāi)發(fā)階段,建議配合核心板配套的評(píng)估套件 MYD-YG2L23-8E1D-120-C-REMI來(lái)加速開(kāi)發(fā)。評(píng)估套件的詳細(xì)信息請(qǐng)?jiān)L問(wèn):

  • https://www.myir.cn/shows/23/14.html

本文主要介紹如何搭建協(xié)處理器Cortex-M33的開(kāi)發(fā)環(huán)境以及如何在Cortex-M33核上運(yùn)行一個(gè)FreeRTOS示例。

2.協(xié)處理器Cortex-M33

2.1.1. 開(kāi)發(fā)環(huán)境搭建

Cortex M33核開(kāi)發(fā)主要使用的是瑞薩官方的e2 studio工具,可以到瑞薩官網(wǎng)進(jìn)行下載,https://www.renesas.cn/cn/zh/software-tool/e2studio-information-rz-family?dow_secondary=visible#download,也可以到米爾該平臺(tái)下的資源包03_Tools/myir tools路徑下獲取setup_e2_studio_2024-01_1.exe和RZG_FSP_Packs_v2.0.0.exe文件,雙擊打開(kāi)setup_e2_studio_2024-01_1.exe,選擇[All Users],如圖2-1:

a39f8a50-1897-11ef-bebc-92fbcf53809c.png圖2-1. 安裝選擇

選擇[Custom Install]->[Next],如圖2-2:

a3bb5bf4-1897-11ef-bebc-92fbcf53809c.png圖2-2. 路徑指定

選擇[Change...],用于指定安裝路徑,指定安裝路徑后,點(diǎn)擊OK繼續(xù),如圖2-3:

a3dc59ee-1897-11ef-bebc-92fbcf53809c.png

圖2-3. 路徑選擇

選擇要安裝的設(shè)備族,單擊[Next]按鈕繼續(xù),如圖2-4:

a3f2722e-1897-11ef-bebc-92fbcf53809c.png圖2-4. 設(shè)備族選擇

額外的功能選擇需要安裝的“額外功能”(即:語(yǔ)言包、SVN & Git支持……),點(diǎn)擊next繼續(xù),如圖2-5:

a3f61226-1897-11ef-bebc-92fbcf53809c.png圖2-5. 額外功能選擇

選擇要安裝的組件,然后單擊[Next]按鈕繼續(xù),請(qǐng)檢查是否確實(shí)選擇了“Renesas FSP Smartl Configurator Core”,否則,F(xiàn)SP將無(wú)法在e2 studio上成功構(gòu)建,如圖2-6:

a3f9a17a-1897-11ef-bebc-92fbcf53809c.png圖2-6. FSP選擇

選擇要安裝的其他軟件(即編譯器、實(shí)用程序、QE…),點(diǎn)擊next繼續(xù),如圖2-7:

a407746c-1897-11ef-bebc-92fbcf53809c.png圖2-7. 編譯器選擇

許可協(xié)議閱讀并接受軟件許可協(xié)議,點(diǎn)擊[Next]按鈕繼續(xù),如圖2-8:

a425928a-1897-11ef-bebc-92fbcf53809c.png圖2-8. 許可協(xié)議選擇

選擇開(kāi)始菜單的快捷方式名稱(chēng),如圖2-9:

a42930de-1897-11ef-bebc-92fbcf53809c.png圖2-9. 快捷方式選擇

選擇開(kāi)始安裝,如圖2-10:

a43de9ca-1897-11ef-bebc-92fbcf53809c.png圖2-10. 開(kāi)始安裝

安裝過(guò)程會(huì)彈出安裝GNU ARM 10.3-2021.10嵌入式工具鏈的界面,根據(jù)具體情況安裝即可,如圖2-11:

a44175cc-1897-11ef-bebc-92fbcf53809c.png圖2-11. 工具鏈選擇

安裝工具鏈完成,如圖2-12:

a452f9d2-1897-11ef-bebc-92fbcf53809c.png圖2-12. 工具鏈安裝完成

e2 studio工具安裝完成,如圖2-13:

a47cb75e-1897-11ef-bebc-92fbcf53809c.png圖2-13.?e2 studio安裝完成

2.2.2. FSP安裝

雙擊03_Tools/myir tools路徑下的RZG_FSP_Packs_v2.0.0.exe文件,進(jìn)行fsp包的安裝,如圖2-14:

a494dbb8-1897-11ef-bebc-92fbcf53809c.png圖2-14. fsp安裝

3.FreeRTOS示例

3.1.1. 創(chuàng)建一個(gè)新的工程

本節(jié)主要以點(diǎn)燈為例進(jìn)行介紹。新創(chuàng)建工程之前,需要根據(jù)第2章節(jié)搭建好環(huán)境,打開(kāi) e2 studio 工具,選擇以后創(chuàng)建新的工程要工作的目錄,具體根據(jù)自己的情況選擇,注意,這里不能有中文路 徑,否則有可能會(huì)出現(xiàn)編譯工程失敗的現(xiàn)象,如圖3-1:

a4bfaad2-1897-11ef-bebc-92fbcf53809c.png圖3-1. 工程路徑選擇

依次點(diǎn)擊[File]->[New]->[C/C++ Project]->[Renesas RZ] > [Renesas RZ/G C/C++ FSP Project],如圖3-2:

a4c32518-1897-11ef-bebc-92fbcf53809c.png

圖3-2. 新建工程選擇窗口

命名工程,如圖3-3:

a4c6879e-1897-11ef-bebc-92fbcf53809c.png圖3-3. 工程命名

FSP版本,工具鏈等相關(guān)參數(shù)配置,如圖3-4:

a4ca78f4-1897-11ef-bebc-92fbcf53809c.png圖3-4.?FSP、工具鏈選擇

選擇構(gòu)建工件和RTOS,如果不選用RTOS,則選用No RTOS,如圖3-5:

a4e58ab8-1897-11ef-bebc-92fbcf53809c.png圖3-5.?RTOS選擇

選擇RTOS模板并完成,如圖3-6:

a4e92fec-1897-11ef-bebc-92fbcf53809c.png圖3-6. RTOS模板

創(chuàng)建工程成功,如圖3-7:

a4ffd12a-1897-11ef-bebc-92fbcf53809c.png圖3-7. 創(chuàng)建工程成功

3.1.2. 配置gpio

由底板原理圖可知道P43_1這個(gè)GPIO的高低電平可以控制一盞燈的亮滅,gpio的參數(shù)配置如圖3-8:

a50fd85e-1897-11ef-bebc-92fbcf53809c.png圖3-8. P43_1配置

3.1.3. 創(chuàng)建led_task0任務(wù)

依次選Stacks->New Thread來(lái)創(chuàng)建一個(gè)任務(wù),如圖3-9:

a52f41d0-1897-11ef-bebc-92fbcf53809c.png圖3-9. 創(chuàng)建一個(gè)任務(wù)

重新根據(jù)自己的需要命名任務(wù)名稱(chēng),如圖3-10:

a548df46-1897-11ef-bebc-92fbcf53809c.png圖3-10. 重新命名任務(wù)名稱(chēng)

3.1.4. 代碼生成與編譯

生成代碼

點(diǎn)擊Generate Project Content來(lái)生成代碼即可,如圖3-11:

a573f9ba-1897-11ef-bebc-92fbcf53809c.png圖3-11. 代碼生成

生成源碼結(jié)構(gòu)如圖3-12:

a59cb742-1897-11ef-bebc-92fbcf53809c.png圖3-12. 代碼結(jié)構(gòu)

以上pin_data.c里面即是配置gpio的代碼生成,生成的freertos代碼如圖3-13:

a5a0e2b8-1897-11ef-bebc-92fbcf53809c.png圖3-13. rtos代碼結(jié)構(gòu)

在main.c中會(huì)進(jìn)行任務(wù)的創(chuàng)建與調(diào)度,這部分生成代碼時(shí)已有,不需要重新手動(dòng)增加,如圖3-14:

a5a4d5bc-1897-11ef-bebc-92fbcf53809c.png圖3-14.任務(wù)調(diào)度函數(shù)

增加控制led代碼

以上代碼生成后,對(duì)應(yīng)的gpio配置,rtos的相關(guān)代碼都會(huì)自動(dòng)配置好的了,只需要在led_task0_entry.c中添加控制led部分代碼即可,如圖3-15:

R_IOPORT_PinWrite (&g_ioport_ctrl, BSP_IO_PORT_43_PIN_01, BSP_IO_LEVEL_LOW);vTaskDelay(500);R_IOPORT_PinWrite (&g_ioport_ctrl, BSP_IO_PORT_43_PIN_01, BSP_IO_LEVEL_HIGH);vTaskDelay(500);

a5b2e3a0-1897-11ef-bebc-92fbcf53809c.png圖3-15.增加led控制代碼

增加postbuild.sh腳本

右鍵點(diǎn)擊script后,選擇New->File,增加postbuild.sh腳本,如圖3-16:

a5d9e766-1897-11ef-bebc-92fbcf53809c.png

圖3-16.增加postbuild.sh

postbuild.sh內(nèi)容如圖3-17:

echo "Post build script started"if [ -n "$BuildArtifactFileName" ]; theninputfilename=$BuildArtifactFileNamefiif [ -n "$BUILDARTIFACTFILENAME" ]; theninputfilename=$BUILDARTIFACTFILENAMEfifilebody=${inputfilename%.*}arm-none-eabi-objcopy -O binary -j .text.secure_vector ${inputfilename} ${filebody}_secure_vector.binarm-none-eabi-objcopy -O binary -j .text.non_secure_vector ${inputfilename} ${filebody}_non_secure_vector.binarm-none-eabi-objcopy -O binary -j .text.secure_code ${inputfilename} ${filebody}_secure_code.binarm-none-eabi-objcopy -O binary -j .text.non_secure_code -j .data ${inputfilename} ${filebody}_non_secure_code.bin

a5dd8e3e-1897-11ef-bebc-92fbcf53809c.png圖3-17. postbuild.sh內(nèi)容

l編譯代碼

依次點(diǎn)擊Project->Build Project進(jìn)行編譯,編譯成功如圖3-18:

a604e09c-1897-11ef-bebc-92fbcf53809c.png

圖3-18.源碼編譯成功

l查看編譯生成的文件

編譯生成文件如圖3-19:

a6097878-1897-11ef-bebc-92fbcf53809c.png

圖3-19. 編譯生成文件

3.1.5. 運(yùn)行freertos程序

點(diǎn)擊Project->Build Project,進(jìn)行工程的編譯,編譯成功會(huì)生成一個(gè)debug目錄,里面存放的是編譯出來(lái)的二進(jìn)制文件。

把debug生成的如下文件拷貝到sd卡上,用于在uboot進(jìn)行CM33工程調(diào)用。

GPIO_non_secure_code.binGPIO_non_secure_vector.binGPIO_secure_code.binGPIO_secure_vector.bin

把sd卡插入到開(kāi)發(fā)板的sd卡槽(J6接口),啟動(dòng)板子并在uboot階段執(zhí)行如下調(diào)用。

查看sd卡里面的內(nèi)容,如下

=> switch_sdhi1 sdcardswitch to sdcard=> ls mmc 1:1 System Volume Information/ 64 GPIO_secure_vector.bin 16926 GPIO_non_secure_code.bin 1984 GPIO_non_secure_vector.bin 480 GPIO_secure_code.bin
4 file(s), 1 dir(s)

加載編譯出來(lái)的固件,如下:

=> dcache off=> mmc dev 1switch to partitions #0, OKmmc1 is current device=> fatload mmc 1:1 0x0001FF80 GPIO_secure_vector.bin64 bytes read in 24 ms (2 KiB/s)=> fatload mmc 1:1 0x42EFF440 GPIO_secure_code.bin480 bytes read in 25 ms (18.6 KiB/s)=> fatload mmc 1:1 0x00010000 GPIO_non_secure_vector.bin1984 bytes read in 26 ms (74.2 KiB/s)=> fatload mmc 1:1 0x40010000 GPIO_non_secure_code.bin16926 bytes read in 29 ms (569.3 KiB/s)=> cm33 start_debug 0x1001FF80 0x00010000

當(dāng)加載完以上命令之后可以看到藍(lán)燈在閃爍,如圖3-20:

a618d07a-1897-11ef-bebc-92fbcf53809c.png圖3-20.藍(lán)燈閃爍

a64001fe-1897-11ef-bebc-92fbcf53809c.jpg

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

    關(guān)注

    68

    文章

    19286

    瀏覽量

    229811
  • RTOS
    +關(guān)注

    關(guān)注

    22

    文章

    813

    瀏覽量

    119631
  • 米爾
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    7932
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    米爾-瑞米派兼容樹(shù)莓派擴(kuò)展模塊-試用體驗(yàn)】初始開(kāi)發(fā)板_米爾-瑞米派兼容樹(shù)莓派擴(kuò)展模塊

    (HMI)和具有視頻功能的嵌入式設(shè)備等應(yīng)用。 米爾電子和瑞薩電子共同定義和開(kāi)發(fā)了瑞薩第一款MPU生態(tài)開(kāi)發(fā)板——瑞米派(Remi Pi)正式上
    發(fā)表于 04-29 11:42

    米爾-瑞米派兼容樹(shù)莓派擴(kuò)展模塊-試用體驗(yàn)】米爾瑞米派Remi Pi系統(tǒng)與Ethercat移植

    米爾瑞米派** Remi Pi** 瑞薩第一款MPU生態(tài)板卡,兼容樹(shù)莓派擴(kuò)展模塊 采用瑞薩RZ/G2L工業(yè)級(jí)處理器,便于企業(yè)客戶(hù)產(chǎn)品開(kāi)發(fā); Remi
    發(fā)表于 04-29 12:04

    瑞米派實(shí)時(shí)系統(tǒng)與EtherCAT移植-米爾Remi Pi

    。 米爾瑞米派 Remi Pi瑞薩第一款MPU生態(tài)板卡,兼容樹(shù)莓派擴(kuò)展模塊采用瑞薩RZ/G2L工業(yè)級(jí)處理器,便于企業(yè)客戶(hù)產(chǎn)品開(kāi)發(fā);Remi
    發(fā)表于 04-30 18:14

    米爾瑞米派集聚5種操作系統(tǒng),兼顧學(xué)習(xí)開(kāi)發(fā)和項(xiàng)目產(chǎn)品需要的派

    ,燒錄等 Remi Pi FreeRTOS應(yīng)用開(kāi)發(fā)筆記包含環(huán)境搭建,工程創(chuàng)建等 Remi Pi實(shí)
    發(fā)表于 07-05 17:26

    領(lǐng)萬(wàn)元大獎(jiǎng)!米爾電子Remi Pi 瑞米派創(chuàng)意秀

    創(chuàng)意秀、瑞米派、Remi Pi、米爾電子、樹(shù)莓派 2024年,米爾電子和瑞薩電子共同定義和開(kāi)發(fā)了瑞薩第一款MPU生態(tài)
    發(fā)表于 09-02 14:58

    Embedded Pi 開(kāi)發(fā)板試用活動(dòng)相關(guān)資料

    Coocox開(kāi)發(fā)平臺(tái)應(yīng)用筆記:添加ADC功能RPIEPICoocox開(kāi)發(fā)平臺(tái)應(yīng)用筆記:如何將程序嵌入PI與RaspberryPi
    發(fā)表于 10-19 17:17

    FreeRTOS使用筆記和局部注釋翻譯

    FreeRTOS使用筆記和局部注釋翻譯
    發(fā)表于 09-18 08:02

    【轉(zhuǎn)載】AT32 FreeRTOS應(yīng)用筆記

    AN0025—AT32 FreeRTOS應(yīng)用筆記本指導(dǎo)手冊(cè)描述了如何在A(yíng)T32F4xx系列MCU上使用FreeRTOS。FreeRTOS是一款開(kāi)源的嵌入式實(shí)時(shí)操作系統(tǒng),目前在各種嵌入式
    發(fā)表于 08-16 11:56

    freeRTOS使用筆記分享

    freeRTOS使用筆記一(移植篇)目錄freeRTOS使用筆記一(移植篇)一,移植準(zhǔn)備(1)從官網(wǎng)或者github獲取源碼(2)創(chuàng)建自己的工程目錄二,開(kāi)始移植(1)復(fù)制源碼(2)修改
    發(fā)表于 01-27 07:49

    freeRTOS使用筆記一(移植篇)

    freeRTOS使用筆記一(移植篇)
    發(fā)表于 12-03 14:06 ?18次下載
    <b class='flag-5'>freeRTOS</b>使<b class='flag-5'>用筆記</b>一(移植篇)

    【轉(zhuǎn)載】AT32 FreeRTOS應(yīng)用筆記

    AN0025—AT32 FreeRTOS應(yīng)用筆記本指導(dǎo)手冊(cè)描述了如何在A(yíng)T32F4xx系列MCU上使用FreeRTOS。FreeRTOS是一款開(kāi)源的嵌入式實(shí)時(shí)操作系統(tǒng),目前在各種嵌入式
    發(fā)表于 12-07 15:21 ?15次下載
    【轉(zhuǎn)載】AT32 <b class='flag-5'>FreeRTOS</b>應(yīng)<b class='flag-5'>用筆記</b>

    N32G457系列GCC開(kāi)發(fā)環(huán)境應(yīng)用筆記

    N32G457系列GCC開(kāi)發(fā)環(huán)境應(yīng)用筆記
    發(fā)表于 11-10 19:51 ?5次下載
    N32G457系列GCC<b class='flag-5'>開(kāi)發(fā)</b>環(huán)境應(yīng)<b class='flag-5'>用筆記</b>

    米爾電子和瑞薩電子推出首款MPU生態(tài)開(kāi)發(fā)板瑞米派

    近日,米爾電子和瑞薩電子共同定義和開(kāi)發(fā)了瑞薩第一款MPU生態(tài)開(kāi)發(fā)板——瑞米派(Remi Pi)正式上市了!在各種
    的頭像 發(fā)表于 01-25 09:21 ?1103次閱讀

    米爾更新面向工業(yè)產(chǎn)品的軟件系統(tǒng)-基于瑞米派(Remi Pi

    米爾電子發(fā)布的瑞薩第一款MPU生態(tài)板卡——瑞米派(Remi Pi)自上市 當(dāng)天200套售罄 ,獲得不少新老用戶(hù)的青睞。為感謝大家的支持,米爾 加推300套 瑞米派活動(dòng),以 補(bǔ)貼價(jià) 回饋
    的頭像 發(fā)表于 03-15 18:25 ?886次閱讀
    <b class='flag-5'>米爾</b>更新面向工業(yè)產(chǎn)品的軟件系統(tǒng)-基于瑞米派(<b class='flag-5'>Remi</b> <b class='flag-5'>Pi</b>)

    米爾瑞米派Remi Pi Ubuntu系統(tǒng)移植指南

    1.概述Linux系統(tǒng)平臺(tái)上有許多開(kāi)源的系統(tǒng)構(gòu)建框架,這些框架方便了開(kāi)發(fā)者進(jìn)行嵌入式系統(tǒng)的構(gòu)建和定制化開(kāi)發(fā),目前比較常見(jiàn)的有Buildroot,Yocto,OpenEmbedded等等。同時(shí)更多
    的頭像 發(fā)表于 04-29 08:01 ?924次閱讀
    <b class='flag-5'>米爾</b>瑞米派<b class='flag-5'>Remi</b> <b class='flag-5'>Pi</b> Ubuntu系統(tǒng)移植指南