一、簡介
Vision-Board 開發(fā)板是 RT-Thread 推出基于瑞薩 Cortex-M85 架構 RA8D1 芯片,為工程師們提供了一個靈活、全面的開發(fā)平臺,助力開發(fā)者在機器視覺領域獲得更深層次的體驗。

Vision Board搭載全球首顆 480 MHz Arm Cortex-M85芯片,擁有Helium和TrustZone技術的加持。SDK包里集成了OpenMV機器視覺例程,配合MicroPython 解釋器,使其可以流暢地開發(fā)機器視覺應用。
二、環(huán)境搭建
(一)創(chuàng)建工程
通過RT-Thread官方提供的RT-Studio IDE,開發(fā)者可以很輕松的搭建基于Vision-Board開發(fā)板的工程。

至于開發(fā)板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開發(fā)板需要更新FSP到5.1版本。在建好后的工程中,打開RASC來配置具體外設驅動。
首先在Pins選項中配置好SPI1相關pin,選擇混合模式。

然后在Stacks選項中新建r_spi_b類型的SPI1,具體屬性如下:

選擇好之后,點擊產生工程代碼按鈕,生成相關驅動源文件。

三、SPI測試
測試SPI主控的外部loopback,直接短接SPI1的MISO和MOSI針腳,測試數據發(fā)送是否能收到。
#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);
編譯后生成可執(zhí)行文件,下載到Vision Board開發(fā)板:

四、運行測試
打開串口連上Vision Board開發(fā)板,還是熟悉的logo:

list device可以看到SPI1總線和SPI10設備都在。
接下來根據電路圖,用鑷子將SPI的MISO和MOSI針腳連起來。

輸入測試命令spi_sample,即可得到測試結果:

五、結論
本文通過創(chuàng)建RT-Studio工程,實現了Vision Board上的SPI設備驅動配置和簡單的SPI主控的外部loopback功能測試,依托于RT-Studio和FSP強大的功能,用戶可以很方便的完成功能實現。
審核編輯 黃宇
-
芯片
+關注
關注
463文章
54345瀏覽量
468650 -
測試
+關注
關注
9文章
6350瀏覽量
131616 -
機器視覺
+關注
關注
165文章
4822瀏覽量
126403 -
SPI
+關注
關注
17文章
1897瀏覽量
101993
發(fā)布評論請先 登錄
Renesas RA8D1微控制器:高性能與安全的完美結合
【CPKCOR-RA8D1】基于CPKCOR-RA8D1的GNSS RTK系統設計
【CPKCOR-RA8D1】基礎串口打印測試
【CPKCOR-RA8D1】指紋掃描器
【CPKCOR-RA8D1】+ 基礎串口打印測試
【CPKCOR-RA8D1】2、屏幕測試報告
【CPKCOR-RA8D1】+ 5. 使用RA8D1實現UDS診斷協議14229
使用瑞薩RA8D1開發(fā)板實現人臉識別的應用演示
【CPKCOR-RA8D1】+ 3.RA8D1 測試MCU跑分性能 coremark
【CPKCOR-RA8D1】RA8D1開箱測試報告
【CPKCOR-RA8D1】+ 2.串口輸出測試
【CPKCOR-RA8D1】+ 1.RA8D1開箱點燈
【有獎評測 】最強Cortex-M85單片機!RA8D1套件(顯示屏+攝像頭)免費評測
RA8D1 Vision Board上的SPI loopback測試
評論