rt-thread即将发布一系列ra6m3外设驱动的实践指南,我们将使用瑞萨ra6m3 hmi-board 开发板,带领大家上手rt-thread设备驱动。
【硬件介绍】1. 开发板描述
hmi-board 为 rt-thread 联合瑞萨推出的高性价比图形评估套件,相比较于传统的 hmi + 主控板,一套硬件即可实现 hmi + iot + 控制 的全套能力。依托于瑞萨高性能芯片 ra6m3 及 rt-thread 软件生态,hmi board 不仅硬件性能强劲,同时软件生态丰富,助力开发者快速开发出 gui 智能硬件产品。
hmi-board 搭载 2m flash 大容量主控芯片 ra6m3,内置 2d 加速、jpeg 编解码器、lcd 控制器等模块,助力图形应用开发,并且板载 tft 显示屏和音频接口,可以让开发者在 hmi 领域大展身手;此外,hmi-board 还板载以太网接口、高速 wifi 模块,让开发板具备连接云端能力;同时,hmi-board 还 有丰富的拓展接口,包括 can 、arduino 接口以及两路 pmod 接口等,可以让开发者方便地扩展各种外设,从而实现更加灵活的控制方式。通过 hmi-board 开发板,开发者可以轻松实现 gui 智能硬件产品。
2. 硬件配置
ra6m3(r7fa6m3ah3cfb):cortex-m4 内核,120mhz 主频,具有 2mb flash/640kb ram,集成 tft 控制器、2d 加速器和 jpeg 解码器。
4.3 寸 lcd (rgb 888)
板载仿真器以太网rw007 (spi 高速 wifi)usb-device
tf crad
can
1 路麦克风,1 路扬声器
arduino 扩展接口2 路 pmod 扩展接口4 个按键:3 个用户按键,一个复位按键
【开发环境】
实验前需要下载:
rt-thread studio 安装包https://www.rt-thread.org/download.html#download-rt-thread-studiora smart configuratorhttps://github.com/renesas/fsp/releases/tag/v3.5.0(注意文件名称为:setup_fsp_v3_5_0_rasc_v2021-10.exe 其它版本不能正常使用)
串口自动识别安装:
如何使用 rt-thread studio:
如果你还不熟悉rt-thread studio的使用方式,请查看rt-thread studio 初步上手使用说明:https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/hw-board/ra6m3-hmi-board/ra6m3-hmi-board?id=%e4%bd%bf%e7%94%a8%e8%af%b4%e6%98%8e
【瑞萨 ra6m3 上的 uart 实践】串口是 mcu 上最常见和使用最为频繁的外设之一,可以用作打印调试信息、远程登陆、控制支持串口通讯的外设等功能,了解和掌握串口是嵌入式开发中的一项必备技能。
本章内容:使用 rt-thread studio 创建开发板的程序,编写 uart 的程序,实现串口打印数据的功能,同时使用 finsh shell 控制开发板上的 led。
模块介绍:开发板上提供了两个串口连接,分别是在 p109 和 p110 的串口 9,通过调试器的虚拟串口与上位机通讯。(uart9 为默认日志输出端口)
另一个串口位于 p205 和 p206 的串口 4,txd 和 rxd 引脚引出到 ardinuo 接口上,在开发板上也直接标出了。
【开发软件】
根据《实践指南说明》安装 fsp3.5.0 和 rt-thread studio(2.2.6)。
步骤说明安装好开发环境后,首先对 rt-thread studio 的 sdk manager 中安装包进行检查,确定相关的软件支持包已经安装。
新建工程点击工具栏中的 文件 -> 新建 ->rt-thread 项目
选择目标开发板以及工程默认位置,这里一定要选择 hmi_board,对应的 bsp 版本为 1.0.3, 如果选择 ra6m3-hmi-board, 对应的 bsp 版本为 1.0.2,在使用串口时有 bug 存在,会导致程序无法正常运行。
给项目一个合适的名字
点击完成后,就可以得到一个打印信息、支持 finsh 以及一秒钟翻转 led 的程序。
这个程序是一个完整的程序,点击编译后可以直接下载运行。在此基础上我们就可以根据自己的需要编写相应的驱动程序。
如果在下载过程中遇到上述问题,可以通过更新 pyocd 的版本来修正,这一问题的原因是 pyocd 的版本过低导致。安装 0.2.0 的 pyocd 添加对瑞萨的支持就可以解决这个问题。
由 rt-thread studio 创建的软件工程本身就是一个演示了 led 翻转和串口功能的例程,我们上来就可以得到可以运行的使用了串口输出信息的程序。需要注意的是,rtthread 为了方便开发者调试,在系统中嵌入了 finsh 这个简易的控制台程序,根据用户使能的模块提供了不同的控制指令。
新创建的工程编译通过后:利用板载的 daplink 将固件烧写到开发板上。在串口终端中输入 help,可以查看当前支持的指令。其中 list 的功能很多,后面跟随不同的参数可以实现不同的功能。
如图所示,可以产看当前系统中的线程、定时器、信号量、互斥量、事件、邮箱、消息队列以及设备的实例个数。可以帮助开发者掌握当前系统的运行状态。另外 reboot 功能可以减少设备上下电的次数,方便远程调试。
finsh 的除了上述已经定义好的功能,还支持自定义函数,可以帮助开发者自定义一些测试函数,方便针对特定情境进行测试。
开发板默认使用 uart9 作为调试串口,在开发板上的 ardinuo 接口上,引出了 uart4。开发板默认是不开启 uart4,为了能使用 uart4,首先使用 fsp 工具配置相关的引脚。
点击工程中的 ra smart configurator,可以启动代码配置工具对 mcu 的外设进行配置。
在 stack 栏中的 new stack->connnectivity->uart 添加新的 uart 实例。
修改 general 栏中的通道和设备名称。
在 pins 引脚栏中设定使用的引脚和引脚的工作模式。
点击右上角 “generate project content”,即可关闭 fsp 工具。回到工程中点击 rt-thread settings,对工程中要使用的硬件进行配置。
在配置界面的硬件一栏中勾选 enable uart4。
保存文件后,就可以在工程中添加 uart4,并在工程调用相关的串口函数。
【编写测试程序】通过串口发送字符串,是嵌入式应用中的基本程序,检验串口是否正常工作。在 hal_entry.c 中添加以下代码:硬件连接如图:
下面使用 finsh 的自定义功能实现 uart4 的回环功能。具体的代码如下:
代码验证:
串口打印的效果如下图所示。
finsh 自定义函数功能测试,在串口界面中输入控制指令。
测试效果如图所示:
章节总结使用 rt-thread 和 fsp 进行开始还是很方便的,在 fsp 中修改相关引脚的功能,rt-thread 中使用配置工具对 bsp 进行使能。同时 rt-thread 官网上还有详细的文档和示例代码,帮助新手快速搭建工程和入门嵌入式开发是一个不错的选择。
【购买hmi board】:
rt-thread x 瑞萨线下培训报名火热进行中,详情请点击:【线下培训】上海临港:rt-thread × 瑞萨 工业监视器 ra6m3 hmi board解决方案
———————end———————
点击阅读原文查看更多
原文标题:瑞萨 ra6m3 开发实践指南-uart实践
文章出处:【微信公众号:rtthread物联网操作系统】欢迎添加关注!文章转载请注明出处。
再投240亿美元,紫光成都存储器制造基地成又一个长江存储!
大数据和人工智能:商业的未来
荣耀V10全面屏面板曝光,麒麟970处理器搭配5.7英寸全面屏
汽车空调系统部件储液干燥器的组成结构以及故障检修
前端总线频率,Front Side Bus(FSB)
瑞萨 RA6M3 开发实践指南-UART实践
锂电隔膜缺陷在线检测设备的原理及功能
金山云推出 VR+8K 直播电商解决方案和主观画质评测平台
爱立信已完成了对德国凯仕林天线和滤波器业务的收购交易
12nm芯片手机有哪些
!租售/收购HP8673A信号源HP8673A 小兵/李S
如何设计一个nmos管和一个pmos管的开关电路
PLC电梯控制系统设计
动力电池趋势:磷酸铁锂与三元电池将会长期并存
OPPO回应旗下芯片公司关停 ZEKU业务线2000人整体裁撤
三星note8评测:三星note8发布这么久,你们是否知道亮点在哪里?
5G将如何为更广泛行业带来创新变革?
家电产品AiP8F102G和AiP8M102G的差异与优点
基于LN074B探测器实现电灯节能自动开关的设计
中标宁德时代1.9亿项目,大族激光有多牛?