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

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

3天内不再提示

Renesas HMI Board挑战赛—FSP工具使用

冬至子 来源:EPTmachine 作者:EPTmachine 2023-11-22 11:32 次阅读

1.1硬件平台介绍

RT-Thread瑞萨推出的HMI-Board上的主控芯片型号为R7FA6M3AH3CFB。

瑞萨电子 RA6M3 微控制器 (MCU) 群组使用高性能 Arm® Cortex®-M4 内核,提供具备 2D 加速器和 JPEG 解码器的 TFT 控制器。此外,RA6M3 MCU 提供具有单独 DMAUSB 高速接口以太网 MAC,可确保大的数据吞吐量。RA6M3 MCU 采用高效的 40nm 工艺,由开放且灵活的生态系统概念提供支持,即基于 FreeRTOS 的灵活配置软件包 (FSP),能够扩展以使用其他 RTOSes 和中间件。RA6M3 适用于需要 TFT、以太网、安全性、大型嵌入式 RAM 和 USB 高速 (HS) 的物联网应用。芯片的特性如下:

20MHz Arm® Cortex®-M4
1MB - 2MB 闪存以及 640kB SRAM
与 EEPROM 存储数据功能类似的 64kB 数据闪存
可从 100 引脚封装扩展至 176 引脚封装
具备 DMA 的以太网控制器
TFT 控制器/2D 加速器/JPEG 解码器
电容式触摸传感单元
USB 2.0 全速/USB 高速
CAN 2.0B
SCI(UART、简单 SPI、简单 I2C
SPI/ I2C 多主机接口/SDHI

在RT-Stuido的工程创建界面可以看到板卡的芯片数据手册、使用手册,以及开发板的原理图。

1.jpg

1.2 瑞萨FSP配置安装和代码生成

RT-Thread框架如下所示。

1.jpg

其中针对开发板的BSP驱动部分,使用瑞萨推出的FSP配置工具RASC来生成板卡的硬件驱动程序。在Github上的可以下载到不同版本的FSP。HMI-Board使用的RASC的版本为v3.5.0。下载完成后,采用默认安装即可。

1.3 尝试生成Keil工程

使用RASC生成的工程是面向Keil或者IAR等第三方工具,本文选择使用Keil开发环境。
在之前安装好的的FSP目录下打开rasc.exe。

1.jpg

在弹出的工程创建界面中,输入要创建的工程名称以及路径。

1.jpg

由于HMI-Board不是Renesas官方推出的开发板,在Board栏中选则“Cunstom User Board(Any Device)”,芯片选择R7FA6M3AH3CFB,IDE Project Type 选择Keil MDK Version5。

1.jpg

在RTOS选择页选择”No RTOS”,不需要操作系统支持。

1.jpg

在工程模板选择中选择“Bare Metal - Minimal”,创建出的工程不会进行任何操作,在此基础上,可以根据Renesas定义的函数接口来实现用户自定义的功能。

1.jpg

工程创建完成后在FSP Configuration的配置页中,对芯片的外设、模块、协议栈等进行添加和配置。

1.jpg

查看开发手册可以看到P209和P210上外接了两个LED灯,P205(TX)和P206(RX)为串口4的引脚。在FSP->Configuration的Stack中添加相应的IO模块和串口模块。添加完成后的模块组成如图所示。

1.jpg

模块添加完成后,需要根据硬件的参数对其进行相应的配置,主要是引脚和使用到的串口号。LED控制属于通用GPIO输出。IO模块的参数采用默认参数即可。

1.jpg

串口模块需要指定使用的串口号、波特率、数据位、校验位、停止位以及引脚等信息,模块的配置如下:

1.jpg

其他外设的配置方式与此类似,这里就不在进行介绍了。点击Generate Project Content生成相应的工程,就可以在工程使用上述模块的接口函数,不再需要自己编写底层的代码。

生成的Keil工程的目录如下图所示。

1.jpg

2.jpg

RASC会自动生成的代码都在Flex Software标签下,而工程相关的代码则存在其它的文件目录中。

注:目前使用过程中,在RASC中添加新的模块并重新生成Keil工程后,会把Keil中的配置选项重置,这对开发是一个不友好的功能,不知道该如何解决。

1.4 串口通讯和IO控制

在RASC中配置的IO和串口模块在hal_data.c中定义了xx_data.c中定义了相关模块的配置、接口和实例变量。

1.jpg

2.jpg

在瑞萨的提供的HAL库中,函数的接口定义格式为:

R__();
比如

err = R_SCI_UART_Open (&g_uart4_ctrl, &g_uart4_cfg);
err = R_SCI_UART_Write (&g_uart4_ctrl, p_msg, msg_len);
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_02_PIN_09,pin_level);
串口的中断函数在RASC声明为user_uart4_callback,定义如下:

void user_uart4_callback(uart_callback_args_t *p_args)
{
g_data_received_flag=true;
}

定义功能函数

fsp_err_t uart_ep_demo(void)
{
/* Holds level to set for pins /
bsp_io_level_t pin_level = BSP_IO_LEVEL_LOW;
while (true)
{
if(g_data_received_flag)
{
g_data_received_flag = false;
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_02_PIN_09,pin_level);
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_02_PIN_10,pin_level);
/
Toggle level for next write */
if (BSP_IO_LEVEL_LOW == pin_level)
{
pin_level = BSP_IO_LEVEL_HIGH;
}
else
{
pin_level = BSP_IO_LEVEL_LOW;
}
}
}
}

在入口函数hal_entry中调用上述的函数

void hal_entry(void)
{
/* TODO: add your own code here /
......
/
Initializing IOPORT /
err=R_IOPORT_Open(&g_ioport_ctrl,&g_bsp_pin_cfg);
if(err!=FSP_SUCCESS)
{
APP_PRINT ("rn ** IO PORT INIT FAILED ** rn");
APP_ERR_TRAP(err);
}
/
Initializing UART /
err = uart_initialize();
if (FSP_SUCCESS != err)
{
APP_PRINT ("rn ** UART INIT FAILED ** rn");
APP_ERR_TRAP(err);
}
/
User defined function to demonstrate UART functionality /
err = uart_ep_demo();
if (FSP_SUCCESS != err)
{
APP_PRINT ("rn ** UART EP Demo FAILED ** rn");
deinit_uart();
APP_ERR_TRAP(err);
}
#if BSP_TZ_SECURE_BUILD
/
Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}

编译前勾选使用“Use MicroLIB”

1.jpg

编译完成后,在下载时需要在调试器的配置界面设定以下参数,这些参数中的RAM项和指定MCU的SRAM空间分布相关,需要查看使用手册来确定。

1.jpg

下载后运行,通过串口发送任意字符,可以观察到板卡上的LED灯在闪烁。

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

    关注

    2

    文章

    799

    浏览量

    37857
  • EEPROM
    +关注

    关注

    9

    文章

    1020

    浏览量

    81574
  • 电容式触摸
    +关注

    关注

    0

    文章

    40

    浏览量

    18722
  • 以太网控制器

    关注

    0

    文章

    39

    浏览量

    12724
  • RT-Thread
    +关注

    关注

    31

    文章

    1286

    浏览量

    40103
收藏 人收藏

    评论

    相关推荐

    【获奖名单】瑞萨RA4M2物联网网关设计挑战赛获奖名单公布!

    瑞萨RA4M2(Cortex-M33内核MCU)物联网网关设计挑战赛已于3月5日结束,经官方评审,现公布获奖用户及作品,恭喜以下参赛者:第一名:奖金+荣誉证书+纪念礼品(3000元1名)华仔
    发表于 03-13 11:27

    LabVIEW挑战赛正式开赛,台北总决赛等着你!

    LabVIEW挑战赛正式开赛,大奖等你来拿!{:4_103:}一、赛事简介:LabVIEW挑战赛,是由GSDzone.net专业的图形化系统设计门户网站与***专业的LabVIEW社区LabVIEW
    发表于 05-23 10:56

    【DIGILENT挑战赛】+电子相框

    ,DRAM 等,引脚和约束都已经配置好的,可以让我们最快速的使用这个板子。请参考【DIGILENT挑战赛】arty artix 7- 35t 测试第2篇 添加 board 文件(2)添加软核处理器
    发表于 05-03 20:10

    征集“沈阳编程挑战赛”志愿者,科普IoT相关工具及技术

    jlpeng@gizwits.com邮件格式:沈阳编程挑战赛志愿者申请---姓名邮件正文中请附上下表所示内容(可复制)姓名[/td]电话邮箱所在单位/学校年龄收件地址自我介绍[td=72]项目经历物联网或电子类相关项目经历介绍,可
    发表于 10-24 11:51

    5天通过VR学习原理图设计挑战赛

    5天通过VR学习原理图设计挑战赛搞事情,搞大事情,你敢来我就敢免费!5天通过VR完成原理图设计挑战赛,完成挑战学费全免。活动仅剩5天,快来参与挑战吧。详情戳:http://t.elec
    发表于 04-08 19:01

    5天通过VR学习原理图挑战赛

    5天通过VR完成原理图设计挑战赛,完成挑战学费全免。活动仅剩5天,快来参与挑战吧。详情戳:http://t.elecfans.com/c770.html?elecfans_trackid=lt
    发表于 04-08 19:04

    分享3天LabVIEW人脸识别挑战赛设计心得,赢取学院课程福利!

    `不知不觉,龙哥《3天教你学会LabVIEW人脸识别挑战赛》第1期,活动已经接近尾声啦,相信在紧张又激烈的3天学习过程中,大家对如何使用LabVIEW独立搭建人脸识别系统,有了一些自己的学习体会。特
    发表于 04-26 17:19

    等个有“源”人|OpenHarmony 成长计划学生挑战赛报名启动

    OpenAtom OpenHarmony(以下简称“OpenHarmony)开源开发者成长计划—解决方案学生挑战赛(以下简称“本大赛”或“成长计划学生挑战赛”)的使命是使用OpenHarmony技术
    发表于 06-13 10:22

    等个有“源”人|OpenHarmony 成长计划学生挑战赛报名启动

    OpenAtom OpenHarmony(以下简称“OpenHarmony)开源开发者成长计划—解决方案学生挑战赛(以下简称“本大赛”或“成长计划学生挑战赛”)的使命是使用OpenHarmony技术
    发表于 06-13 11:24

    #Altium声源跟踪小车挑战赛 活动手册

    “Altium声源跟踪小车”挑战赛,是由Altium、华秋电子共同举办的实战训练营。旨在帮助用户从单纯的“视频学习”,拓展为“直播学习+实践挑战”。活动流程1.线上直播培训阶段
    发表于 10-31 14:15

    【获奖公示】华秋PCB多层板设计挑战赛获奖名单

    经过李增老师细心评审,本次挑战赛的排名已出炉,以下为排名得分及作品,恭喜所有获奖者!第一名:获奖者:卿小小_9e6作品:【PCB多层板设计挑战赛】+FPGA控制器得分:98分 李增老师点评:板子
    发表于 11-22 14:19

    【RA4M2设计挑战赛】搭建开发环境MDK+ST_LINK

    【 RA4M2 设计挑战赛 】搭建开发环境MDK+ST_LINK本人有幸参加由电子发烧友和RA工作室共同主办的RA4M2设计挑战赛,也是首次接触瑞萨RA4M2处理器。下面介绍一下RA4M2开发环境
    发表于 02-27 00:27

    【精品合集】瑞萨RA4M2物联网网关设计挑战赛作品合集

    大赛详情:瑞萨RA4M2(Cortex-M33内核MCU)物联网网关设计挑战赛【资料合集】瑞萨RA4M2物联网网关设计挑战赛参考资料作品:作者:hehung【RA4M2设计挑战赛】1. RASC配置
    发表于 03-07 14:33

    【RA4M2设计挑战赛】获奖感言

    深入的认识,特别是MCU的SDK,设计得非常巧妙,值得学习的地方还有很多,还需要我话很多时间去研究。最后感谢举办方的认可,让我获了奖,感谢各位老师的认可。2 奖品展示RA4M2设计挑战赛的奖品很丰富,有
    发表于 04-02 21:56

    Renesas GUI挑战—天气日历设计

    本次参加HMI-Boardt挑战赛,提交的作品是天气万年历,实现的功能主要有以下几点
    的头像 发表于 09-15 15:53 1307次阅读
    <b class='flag-5'>Renesas</b> GUI<b class='flag-5'>挑战</b>—天气日历设计