一、簡介
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文章
50812瀏覽量
423585 -
測試
+關注
關注
8文章
5303瀏覽量
126644 -
機器視覺
+關注
關注
162文章
4372瀏覽量
120313 -
SPI
+關注
關注
17文章
1706瀏覽量
91578
發布評論請先 登錄
相關推薦
評論