一、简介
Vision-Board 开发板是 RT-Thread 推出基于瑞萨 Cortex-M85 架构 RA8D1 芯片,为工程师们提供了一个灵活、全面的开发平台,助力开发者在机器视觉领域获得更深层次的体验。
Vision Board搭载全球首颗 480 MHz Arm Cortex-M85芯片,拥有Helium和TrustZone技术的加持。SDK包里集成了OpenMV机器视觉例程,配合MicroPython 解释器,使其可以流畅地开发机器视觉应用。
二、环境搭建
(一)创建工程
通过RT-Thread官方提供的RT-Studio IDE,开发者可以很轻松的搭建基于Vision-Board开发板的工程。
至于开发板SDK和各种工具(包括ARM CC, PyOCD等)的更新,直接参考官方指南(Vision-Board (rt-thread.org)),比较清楚。
(二)SPI配置
R7FA8D1BHECBD SPI内部框图如下:
因为目的是测试SPI,看了下板子的SPI引出情况,树莓派引脚看了下没硬件SPI,只有几个软SPI没意思,放弃。然后看到RW007的针脚上给了个SPI1,好就这个测试。
需要在RT-Studio中选择打开SPI1总线。
(三)FSP配置
瑞萨的这个RASC功能还是很强大,堪比STM的CubeMX。配置Vision-Board开发板需要更新FSP到5.1版本。在建好后的工程中,打开RASC来配置具体外设驱动。
首先在Pins选项中配置好SPI1相关pin,选择混合模式。
然后在Stacks选项中新建r_spi_b类型的SPI1,具体属性如下:
选择好之后,点击产生工程代码按钮,生成相关驱动源文件。
三、SPI测试
测试SPI主控的外部loopback,直接短接SPI1的MISO和MOSI针脚,测试数据发送是否能收到。
#define SPI_NAME "spi10" #define CS_PIN BSP_IO_PORT_04_PIN_13 static struct rt_spi_device *spi_dev; /* attach spi device */ static int rt_spi_device_init(void) { struct rt_spi_configuration cfg; rt_hw_spi_device_attach("spi1", SPI_NAME, CS_PIN); cfg.data_width = 8; cfg.mode = RT_SPI_MASTER | RT_SPI_MODE_0 | RT_SPI_MSB | RT_SPI_NO_CS; cfg.max_hz = 1 *1000 *1000; spi_dev = (struct rt_spi_device *)rt_device_find(SPI_NAME); if (RT_NULL == spi_dev) { rt_kprintf("spi sample run failed! can't find %s device!n", SPI_NAME); return -RT_ERROR; } rt_spi_configure(spi_dev, &cfg); return RT_EOK; } INIT_APP_EXPORT(rt_spi_device_init); /* spi loopback mode test case */ static int spi_sample(int argc, char **argv) { rt_uint8_t t_buf[32], r_buf[32]; int i = 0; static struct rt_spi_message msg1; for (i = 0; i < sizeof(t_buf); i++) { t_buf[i] = i; } msg1.send_buf = &t_buf; msg1.recv_buf = &r_buf; msg1.length = sizeof(t_buf); msg1.cs_take = 1; msg1.cs_release = 1; msg1.next = RT_NULL; rt_spi_transfer_message(spi_dev, &msg1); rt_kprintf("spi rbuf : "); for (i = 0; i < sizeof(r_buf); i++) { rt_kprintf("%x ", r_buf[i]); } rt_kprintf("nspi loopback mode test over!n"); return RT_EOK; } MSH_CMD_EXPORT(spi_sample, spi loopback test);
编译后生成可执行文件,下载到Vision Board开发板:
四、运行测试
打开串口连上Vision Board开发板,还是熟悉的logo:
list device可以看到SPI1总线和SPI10设备都在。
接下来根据威廉希尔官方网站
图,用镊子将SPI的MISO和MOSI针脚连起来。
输入测试命令spi_sample,即可得到测试结果:
五、结论
本文通过创建RT-Studio工程,实现了Vision Board上的SPI设备驱动配置和简单的SPI主控的外部loopback功能测试,依托于RT-Studio和FSP强大的功能,用户可以很方便的完成功能实现。
审核编辑 黄宇
-
芯片
+关注
关注
455文章
50771浏览量
423389 -
测试
+关注
关注
8文章
5295浏览量
126621 -
机器视觉
+关注
关注
162文章
4369浏览量
120300 -
SPI
+关注
关注
17文章
1706浏览量
91551
发布评论请先 登录
相关推荐
【瑞萨RA8D1 CPK开发板】RA8D1移植ThreadX操作系统
【瑞萨RA8D1 CPK开发板试用】开箱与点灯
【Vision Board创客营连载体验】基于RA8D1-Vision Board的自动路径规划小车
基于瑞萨电子RA系列的野火耀阳RA8D1开发板产品简介

《RA8D1 Vision Board开发实践指南》上线啦

【Vision Board创客营连载体验】RA8D1-Vision Board开箱使用
【Vision Board创客营连载体验】RA8D1 Vision Board Camera 初体验
【Vision Board 创客营】Vision Board上的DAC实践

【Vision Board创客营连载体验】RA8D1 Vision Board 实现 FAL 同时调用片上以及外挂 Flash
【Vision Board创客营连载体验】RA8D1 Vision Board初体验
【Vision Board创客营连载体验】RA8D1 Vision Board上的SPI实践
瑞萨RA8D1 CEU介绍与使用说明

评论