一、簡介
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強大的功能,用戶可以很方便的完成功能實現。
審核編輯 黃宇
-
芯片
+關注
關注
456文章
51170瀏覽量
427241 -
測試
+關注
關注
8文章
5375瀏覽量
127059 -
機器視覺
+關注
關注
162文章
4405瀏覽量
120731 -
SPI
+關注
關注
17文章
1721瀏覽量
92119
發布評論請先 登錄
相關推薦
【瑞薩RA8D1 CPK開發板】RA8D1移植ThreadX操作系統
【瑞薩RA8D1 CPK開發板試用】開箱與點燈
【Vision Board創客營連載體驗】基于RA8D1-Vision Board的自動路徑規劃小車
Vision Board上的SPI設備驅動配置和SPI主控的外部loopback功能測試

基于瑞薩電子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介紹與使用說明

評論