一、簡介
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,具體屬性如下:
選擇好之后,點擊產(chǎn)生工程代碼按鈕,生成相關驅動源文件。
三、SPI測試
測試SPI主控的外部loopback,直接短接SPI1的MISO和MOSI針腳,測試數(shù)據(jù)發(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設備都在。
接下來根據(jù)電路圖,用鑷子將SPI的MISO和MOSI針腳連起來。
輸入測試命令spi_sample,即可得到測試結果:
五、結論
本文通過創(chuàng)建RT-Studio工程,實現(xiàn)了Vision Board上的SPI設備驅動配置和簡單的SPI主控的外部loopback功能測試,依托于RT-Studio和FSP強大的功能,用戶可以很方便的完成功能實現(xiàn)。
審核編輯 黃宇
-
芯片
+關注
關注
460文章
52529瀏覽量
441363 -
測試
+關注
關注
8文章
5708瀏覽量
128929 -
機器視覺
+關注
關注
163文章
4598瀏覽量
122962 -
SPI
+關注
關注
17文章
1805瀏覽量
96073
發(fā)布評論請先 登錄
瑞薩RA8D1 MCU的OSPI Flash適配指南

vision board用keil進行固件燒錄時,為什么產(chǎn)生燒錄失?。?/a>
瑞薩RA8系列教程 | 基于 Keil 開發(fā) RA8單片機

CAN loopback模式測試
瑞薩電子RA8E1和RA8E2 MCU新品解讀

【瑞薩RA8D1 CPK開發(fā)板】RA8D1移植ThreadX操作系統(tǒng)
如何在RA8D1 MIPI LCD上顯示任意內容

【瑞薩RA8D1 CPK開發(fā)板試用】開箱與點燈
LVGL適配到OpenMV工程的實現(xiàn)方法

評論