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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

應用筆記|米爾Remi Pi FreeRTOS應用開發(fā)

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

1.概述

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

在開發(fā)階段,建議配合核心板配套的評估套件 MYD-YG2L23-8E1D-120-C-REMI來加速開發(fā)。評估套件的詳細信息請訪問:

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

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

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

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

Cortex M33核開發(fā)主要使用的是瑞薩官方的e2 studio工具,可以到瑞薩官網(wǎng)進行下載,https://www.renesas.cn/cn/zh/software-tool/e2studio-information-rz-family?dow_secondary=visible#download,也可以到米爾該平臺下的資源包03_Tools/myir tools路徑下獲取setup_e2_studio_2024-01_1.exe和RZG_FSP_Packs_v2.0.0.exe文件,雙擊打開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...],用于指定安裝路徑,指定安裝路徑后,點擊OK繼續(xù),如圖2-3:

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

圖2-3. 路徑選擇

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

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

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

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

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

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

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

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

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

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

選擇開始菜單的快捷方式名稱,如圖2-9:

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

選擇開始安裝,如圖2-10:

a43de9ca-1897-11ef-bebc-92fbcf53809c.png圖2-10. 開始安裝

安裝過程會彈出安裝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文件,進行fsp包的安裝,如圖2-14:

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

3.FreeRTOS示例

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

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

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

依次點擊[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版本,工具鏈等相關參數(shù)配置,如圖3-4:

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

選擇構建工件和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這個GPIO的高低電平可以控制一盞燈的亮滅,gpio的參數(shù)配置如圖3-8:

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

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

依次選Stacks->New Thread來創(chuàng)建一個任務,如圖3-9:

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

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

a548df46-1897-11ef-bebc-92fbcf53809c.png圖3-10. 重新命名任務名稱

3.1.4. 代碼生成與編譯

生成代碼

點擊Generate Project Content來生成代碼即可,如圖3-11:

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

生成源碼結構如圖3-12:

a59cb742-1897-11ef-bebc-92fbcf53809c.png圖3-12. 代碼結構

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

a5a0e2b8-1897-11ef-bebc-92fbcf53809c.png圖3-13. rtos代碼結構

在main.c中會進行任務的創(chuàng)建與調度,這部分生成代碼時已有,不需要重新手動增加,如圖3-14:

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

增加控制led代碼

以上代碼生成后,對應的gpio配置,rtos的相關代碼都會自動配置好的了,只需要在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腳本

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

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

圖3-16.增加postbuild.sh

postbuild.sh內容如圖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內容

l編譯代碼

依次點擊Project->Build Project進行編譯,編譯成功如圖3-18:

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

圖3-18.源碼編譯成功

l查看編譯生成的文件

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

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

圖3-19. 編譯生成文件

3.1.5. 運行freertos程序

點擊Project->Build Project,進行工程的編譯,編譯成功會生成一個debug目錄,里面存放的是編譯出來的二進制文件。

把debug生成的如下文件拷貝到sd卡上,用于在uboot進行CM33工程調用。

GPIO_non_secure_code.binGPIO_non_secure_vector.binGPIO_secure_code.binGPIO_secure_vector.bin

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

查看sd卡里面的內容,如下

=> 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)

加載編譯出來的固件,如下:

=> 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

當加載完以上命令之后可以看到藍燈在閃爍,如圖3-20:

a618d07a-1897-11ef-bebc-92fbcf53809c.png圖3-20.藍燈閃爍

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

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

    關注

    68

    文章

    19100

    瀏覽量

    228818
  • RTOS
    +關注

    關注

    21

    文章

    809

    瀏覽量

    119362
  • 米爾
    +關注

    關注

    0

    文章

    47

    瀏覽量

    7903
收藏 人收藏

    評論

    相關推薦

    米爾-瑞米派兼容樹莓派擴展模塊-試用體驗】初始開發(fā)板_米爾-瑞米派兼容樹莓派擴展模塊

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

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

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

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

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

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

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

    領萬元大獎!米爾電子Remi Pi 瑞米派創(chuàng)意秀

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

    Embedded Pi 開發(fā)板試用活動相關資料

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

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

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

    【轉載】AT32 FreeRTOS用筆記

    AN0025—AT32 FreeRTOS用筆記本指導手冊描述了如何在AT32F4xx系列MCU上使用FreeRTOS。FreeRTOS是一款開源的嵌入式實時操作系統(tǒng),目前在各種嵌入式
    發(fā)表于 08-16 11:56

    freeRTOS使用筆記分享

    freeRTOS使用筆記一(移植篇)目錄freeRTOS使用筆記一(移植篇)一,移植準備(1)從官網(wǎng)或者github獲取源碼(2)創(chuàng)建自己的工程目錄二,開始移植(1)復制源碼(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>一(移植篇)

    【轉載】AT32 FreeRTOS用筆記

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

    N32G457系列GCC開發(fā)環(huán)境應用筆記

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

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

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

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

    米爾電子發(fā)布的瑞薩第一款MPU生態(tài)板卡——瑞米派(Remi Pi)自上市 當天200套售罄 ,獲得不少新老用戶的青睞。為感謝大家的支持,米爾 加推300套 瑞米派活動,以 補貼價 回饋
    的頭像 發(fā)表于 03-15 18:25 ?844次閱讀
    <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ǒng)構建框架,這些框架方便了開發(fā)者進行嵌入式系統(tǒng)的構建和定制化開發(fā),目前比較常見的有Buildroot,Yocto,OpenEmbedded等等。同時更多
    的頭像 發(fā)表于 04-29 08:01 ?847次閱讀
    <b class='flag-5'>米爾</b>瑞米派<b class='flag-5'>Remi</b> <b class='flag-5'>Pi</b> Ubuntu系統(tǒng)移植指南