嵌入式技术论坛
直播中

jjll652

8年用户 1386经验值
私信 关注
[经验]

Renesas CPK-RA6M4开发板之SDIO模块评测

首先感谢RT-Thread和Renesas给我这次评测的机会,很荣幸成为本次评测的一员。

本次评测的开发板为Renesas的CPK-RA6M4开发板,它是一款Renesas官方基于RA6M4 MCU群组设计的一款中国本地评估板。如下图所示:

图1 CPK-RA6M4开发板

该板板载资源相对来说也比较丰富了:

板载MCU为:R7FA6M4AF3CFB,200MHz,Arm Cortex®-M33 内核,1MB 代码闪存, 256kB SRAM

开发板集成了J-link调试器,可以使用配套赠送的MicroUSB电缆很方便的下载以及调试程序,如图1中所示的USB调试端口。

板中还自带了红色用户LED指示灯,绿色电源LED指示灯,红色调试LED指示灯,一个用户按钮,一个复位按钮,模拟电位计,数字光线传感器,还有两个Digilent Pmod连接器,便于扩展功能。另外还配备了Arduino连接器以及双排针引脚引出。

本次评测我所需要评测的模块为:SDIO模块。

RA6M4的SDIO模块简单介绍

RA6M4的SDIO模块根据手册应该称为SDHI(SD/MMC Host Interface),该接口提供了MCU连接各种外部存储卡所需要的功能。SDHI可以支持1-bit和4-bit总线用于连接SD、SDHC以及SDXC不同格式的存储卡,也可以支持1-bit、4-bit和8-bit的MMC总线,用于供eMMC4.51(JEDEC标准JESD84-B451)设备的接入与访问。

图2 SDHI(SD/MMC Host Interface)框图

评测所需要的环境和相关软件

1.RT-Thread studio及SD Manager中Renesas:CPK-RA6M4的bsp,版本为1.2.0(在线比较慢,我是离线下载然后再导入的),还需要另外两个包,如图3红框所示:

图3 Renesas:CPK-RA6M4 BSP(1.2.0)

2.setup_fsp_v3_5_0_rasc_v2021-10.exe和CPK_RA6M4_BSP_FSP3.5.0.zip

下载完成安装setup_fsp_v3_5_0_rasc_v2021-10.exe,安装好了之后将CPK_RA6M4_BSP_FSP3.5.0.zip解压,将里面的internal目录内的内容对应的拷贝到fsp_v3.5.0内对应目录增加,这样就可以使用FSP配置CPK-RA6M4开发板的相关引脚配置了,类似stm32cubemx的功能。

环境搭好就可以开始干活啦,我的评测任务是SDIO,详见下面步骤

评测步骤:

1.打开RT-Thread Studio,新建基于RT-Thread的项目,项目名称ra6m4_sdio,选择基于开发板,开发板选择CPK-RA6M4,BSP选择1.2.0,类型选择模板工程,其他默认,点击完成。

2.配置RA Smart Configurator路径,如图4所示,右击RA Smart Configurator,弹出RA Smart Configurator,点击并选择FSP3.5.0的安装路径。

图4 修改RA Smart Configurator路径

只有修改了这个路径,才能在RT-Thread Studio中使用FSP修改引脚配置并同步到RT-Thread Studio创建的ra6m4的工程。

3.双击RA Smart Configurator,就会打开芯片的配置界面。如图5所示:

图5 RA Smart Configurator配置界面

4.配置芯片SDHI功能,首先在pin中关闭了一些功能,如IIC和SPI,因为有的引脚和SDHI引脚重复了,然后在pin中找到Storage:SDHI下面的SDHI0,在右边的pin configuration中的Operation Mode选择SD_MMC 1-Bit,引脚如图6所示:

图6 SDHI引脚配置

5.配置SDHI功能所需要的stack configuration,这里的配置会自动生成SDHI的相关驱动,包括中断等,在stack标签页右侧点击new stack,点击storage下面的SD/MMC(r_sdhi),具体配置如图7所示:

图7 配置r_sdhi驱动

6.点击g_sdmmc0 SD/MMC(r_sdhi)下面的Add_Transfer_Driver(DMA or DTC),点击new,选择Transfer (r_dmac),如图8所示:

图8 配置r_dmac驱动

7.到这里FSP的配置就完成了,点击右上角的Generate Project Content,就会自动生成SDHI的相关引脚配置和相关驱动并同步到RT-Thread Studio的RA6M4_SDIO工程内了,如图9所示:

图9 配置自动生成并同步的相关文件

下面就全部进入RT-Thread Studio操作了:

8.双击工程的RT-Thread Settings,点亮DFS、Fatfs、串口、Pin、软件模拟RTC、SDIO,如图10 所示:

图10 RTT Settings(1)

9.打开详细配置,依次如下面图示配置:

图11 图10 RTT Settings(2)

图12 图10 RTT Settings(3)

图13 图10 RTT Settings(4)

10.保存,编译,下载,打开串口终端,即可显示如图14所示:

图14 运行的RT-Thread和SD card初始化

11.测试,相关命令如下:

mkfs -t elm sd0 初始化sd卡为fat32格式

mount sd0 / elm 将sd卡挂在到/目录

ehco “hello” hello.txt 将hello输入到hello.txt文件

cat hello.txt 显示hello.txt文件的内容

ls 显示目录内的内容

mkdir ra6m4 创建ra6m4目录

cd ra6m4 进入ra6m4目录

具体测试如图15所示:

图15 sd卡测试

最后附上实物运行图(图16)和RT-Thread Studio的ra6m4_sdio工程源码,使用import导入即可

图16 实物运行图

附上sd卡原理图及对应引脚,如图17所示

图17 sd卡原理图及RA6M4对应引脚

图中1-bit使用蓝色引脚,4-bit再加上红色引脚,4-bit要同时修改stack里面为4-bit,以及RT-Thread Settings里硬件-芯片设备驱动-Enable SDHI下面的1-bit禁能。

心得体会:

总的来说,难点在于对ra6m4不熟悉,不熟悉fsp的使用,在慢慢熟悉了之后,用起来还是挺方便的,再者RT-Thread的驱动框架比较完善,在有相应驱动的情况下用起来还是比较得心应手的,但是如果没有做好的驱动,自己一步一步增加的话,还是很有难度的。得力于RT-Thread完善的驱动,使用上非常便利,很适合快速开发应用。后面还会再多试试其它的外设应用,也会多多参与进来。

原作者:itschina999

更多回帖

发帖
×
20
完善资料,
赚取积分