0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

应用笔记|米尔Remi Pi FreeRTOS应用开发

米尔电子 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内存控制器、千兆以太网控制器、USBCANSD卡、MIPI-CSI等外设接口,在工业、医疗、电力等行业都得到广泛的应用。

在开发阶段,建议配合核心板配套的评估套件 MYD-YG2L23-8E1D-120-C-REMI来加速开发。评估套件的详细信息请访问:

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

本文主要介绍如何搭建协处理器Cortex-M33的开发环境以及如何在Cortex-M33核上运行一个FreeRTOS示例。

2.协处理器Cortex-M33

2.1.1. 开发环境搭建

Cortex M33核开发主要使用的是瑞萨官方的e2 studio工具,可以到瑞萨官网进行下载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继续,如图2-3:

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

图2-3. 路径选择

选择要安装的设备族,单击[Next]按钮继续,如图2-4:

a3f2722e-1897-11ef-bebc-92fbcf53809c.png图2-4. 设备族选择

额外的功能选择需要安装的“额外功能”(即:语言包、SVN & Git支持……),点击next继续,如图2-5:

a3f61226-1897-11ef-bebc-92fbcf53809c.png图2-5. 额外功能选择

选择要安装的组件,然后单击[Next]按钮继续,请检查是否确实选择了“Renesas FSP Smartl Configurator Core”,否则,FSP将无法在e2 studio上成功构建,如图2-6:

a3f9a17a-1897-11ef-bebc-92fbcf53809c.png图2-6. FSP选择

选择要安装的其他软件(即编译器、实用程序、QE…),点击next继续,如图2-7:

a407746c-1897-11ef-bebc-92fbcf53809c.png图2-7. 编译器选择

许可协议阅读并接受软件许可协议,点击[Next]按钮继续,如图2-8:

a425928a-1897-11ef-bebc-92fbcf53809c.png图2-8. 许可协议选择

选择开始菜单的快捷方式名称,如图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嵌入式工具链的界面,根据具体情况安装即可,如图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. 创建一个新的工程

本节主要以点灯为例进行介绍。新创建工程之前,需要根据第2章节搭建好环境,打开 e2 studio 工具,选择以后创建新的工程要工作的目录,具体根据自己的情况选择,注意,这里不能有中文路 径,否则有可能会出现编译工程失败的现象,如图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版本,工具链等相关参数配置,如图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模板

创建工程成功,如图3-7:

a4ffd12a-1897-11ef-bebc-92fbcf53809c.png图3-7. 创建工程成功

3.1.2. 配置gpio

由底板原理图可知道P43_1这个GPIO的高低电平可以控制一盏灯的亮灭,gpio的参数配置如图3-8:

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

3.1.3. 创建led_task0任务

依次选Stacks->New Thread来创建一个任务,如图3-9:

a52f41d0-1897-11ef-bebc-92fbcf53809c.png图3-9. 创建一个任务

重新根据自己的需要命名任务名称,如图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中会进行任务的创建与调度,这部分生成代码时已有,不需要重新手动增加,如图3-14:

a5a4d5bc-1897-11ef-bebc-92fbcf53809c.png图3-14.任务调度函数

增加控制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卡插入到开发板的sd卡槽(J6接口),启动板子并在uboot阶段执行如下调用。

查看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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19096

    浏览量

    228793
  • RTOS
    +关注

    关注

    21

    文章

    809

    浏览量

    119358
  • 米尔
    +关注

    关注

    0

    文章

    47

    浏览量

    7901
收藏 人收藏

    评论

    相关推荐

    米尔-瑞米派兼容树莓派扩展模块-试用体验】初始开发板_米尔-瑞米派兼容树莓派扩展模块

    (HMI)和具有视频功能的嵌入式设备等应用。 米尔电子和瑞萨电子共同定义和开发了瑞萨第一款MPU生态开发板——瑞米派(Remi Pi)正式上
    发表于 04-29 11:42

    米尔-瑞米派兼容树莓派扩展模块-试用体验】米尔瑞米派Remi Pi系统与Ethercat移植

    米尔瑞米派** Remi Pi** 瑞萨第一款MPU生态板卡,兼容树莓派扩展模块 采用瑞萨RZ/G2L工业级处理器,便于企业客户产品开发; Remi
    发表于 04-29 12:04

    瑞米派实时系统与EtherCAT移植-米尔Remi Pi

    米尔瑞米派 Remi Pi瑞萨第一款MPU生态板卡,兼容树莓派扩展模块采用瑞萨RZ/G2L工业级处理器,便于企业客户产品开发Remi
    发表于 04-30 18:14

    米尔瑞米派集聚5种操作系统,兼顾学习开发和项目产品需要的派

    ,烧录等 Remi Pi FreeRTOS应用开发笔记包含环境搭建,工程创建等 Remi Pi
    发表于 07-05 17:26

    领万元大奖!米尔电子Remi Pi 瑞米派创意秀

    创意秀、瑞米派、Remi Pi米尔电子、树莓派 2024年,米尔电子和瑞萨电子共同定义和开发了瑞萨第一款MPU生态
    发表于 09-02 14:58

    Embedded Pi 开发板试用活动相关资料

    Coocox开发平台应用笔记:添加ADC功能RPIEPICoocox开发平台应用笔记:如何将程序嵌入PI与RaspberryPi
    发表于 10-19 17:17

    FreeRTOS使用笔记和局部注释翻译

    FreeRTOS使用笔记和局部注释翻译
    发表于 09-18 08:02

    【转载】AT32 FreeRTOS用笔记

    AN0025—AT32 FreeRTOS用笔记本指导手册描述了如何在AT32F4xx系列MCU上使用FreeRTOSFreeRTOS是一款开源的嵌入式实时操作系统,目前在各种嵌入式
    发表于 08-16 11:56

    freeRTOS使用笔记分享

    freeRTOS使用笔记一(移植篇)目录freeRTOS使用笔记一(移植篇)一,移植准备(1)从官网或者github获取源码(2)创建自己的工程目录二,开始移植(1)复制源码(2)修改
    发表于 01-27 07:49

    freeRTOS使用笔记一(移植篇)

    freeRTOS使用笔记一(移植篇)
    发表于 12-03 14:06 18次下载
    <b class='flag-5'>freeRTOS</b>使<b class='flag-5'>用笔记</b>一(移植篇)

    【转载】AT32 FreeRTOS用笔记

    AN0025—AT32 FreeRTOS用笔记本指导手册描述了如何在AT32F4xx系列MCU上使用FreeRTOSFreeRTOS是一款开源的嵌入式实时操作系统,目前在各种嵌入式
    发表于 12-07 15:21 15次下载
    【转载】AT32 <b class='flag-5'>FreeRTOS</b>应<b class='flag-5'>用笔记</b>

    N32G457系列GCC开发环境应用笔记

    N32G457系列GCC开发环境应用笔记
    发表于 11-10 19:51 5次下载
    N32G457系列GCC<b class='flag-5'>开发</b>环境应<b class='flag-5'>用笔记</b>

    米尔电子和瑞萨电子推出首款MPU生态开发板瑞米派

    近日,米尔电子和瑞萨电子共同定义和开发了瑞萨第一款MPU生态开发板——瑞米派(Remi Pi)正式上市了!在各种
    的头像 发表于 01-25 09:21 998次阅读

    米尔更新面向工业产品的软件系统-基于瑞米派(Remi Pi

    米尔电子发布的瑞萨第一款MPU生态板卡——瑞米派(Remi Pi)自上市 当天200套售罄 ,获得不少新老用户的青睐。为感谢大家的支持,米尔 加推300套 瑞米派活动,以 补贴价 回馈
    的头像 发表于 03-15 18:25 839次阅读
    <b class='flag-5'>米尔</b>更新面向工业产品的软件系统-基于瑞米派(<b class='flag-5'>Remi</b> <b class='flag-5'>Pi</b>)

    米尔瑞米派Remi Pi Ubuntu系统移植指南

    1.概述Linux系统平台上有许多开源的系统构建框架,这些框架方便了开发者进行嵌入式系统的构建和定制化开发,目前比较常见的有Buildroot,Yocto,OpenEmbedded等等。同时更多
    的头像 发表于 04-29 08:01 842次阅读
    <b class='flag-5'>米尔</b>瑞米派<b class='flag-5'>Remi</b> <b class='flag-5'>Pi</b> Ubuntu系统移植指南