RT-Thread Studio 初次使用项目介绍 Vision Board

1 RA8D1 Vision Board简介

Vision-Board 开发板是 RT-Thread 推出基于瑞萨 Cortex-M85 架构 RA8D1 芯片,拥有Helium和TrustZone技术的加持,性能非常强大。

  • 内核:480 MHz Arm Cortex-M85,包含Helium和TrustZone技术
  • 存储:集成2MB/1MB闪存和1MB SRAM(包括TCM,512KB ECC保护)
  • 外设:兼容xSPI的四线OSPI(带XIP和即时解密/DOTF)、CAN-FD、以太网、USBFS/HS、16位摄像头接口和I3C等
  • 高阶安全性:卓越的加密算法、TrustZone、不可变存储、带DPA/SPA攻击保护的防篡改功能、安全调试、安全工厂编程和生命周期管理支持

SDK包里集成了OpenMV机器视觉例程,配合MicroPython 解释器,使其可以流畅地开发机器视觉应用。

1.png

2 更新RA8D1 Vision Board SDK

打开RT-Thread Studio ,打开SDK管理器。

安装最新的RT-Thread源码包。

2.png

安装Vision Board 开发板支持包。

3.png

下载安装≥0.2.3版本的PyOCD烧录工具。

4.png

3 新建Vision Board 工程

新建Vision Board 工程,选择左上角文件->新建->RT-Thread 项目->基于开发板,可以创建示例工程和模板工程。

5.png

笔者这里是基于模板工程,新建工程后如下图所示。

6.png

进行工程的编译。

7.png

编译无误后,就可以尽心固件下载。

8.png

下载成功后,接上串口打印信息如下。

9.png

4 编译问题解决

问题一:error: unknown type name 'clock_t'

10.png

具体的类型值是在sys/_types.h中定义的,需要包含sys/_types.h 这个头函数,因为在types 中宏定义了这个 #define _SYS_TYPES_H, 导致sys/_types.h这个头文件没有被引用,

在构建配置里面添加_POSIX_C_SOURCE=1 就可以了

11.png

问题二:error: 'NULL' undeclared (first use in this function)

12.png

缺少相应的头文件导致的。

#include <stddef.h>

在cstdlib.c中添加相应的头文件即可。

### Vision Board 排针接口硬件连接说明 Vision Board 是一款基于瑞萨 Cortex-M85 架构 RA8D1 芯片的开发板,广泛应用于机器视觉领域。其排针接口设计旨在支持多种外设扩展功能,以下是关于 Vision Board 排针接口的相关硬件信息和连接方式: #### 1. **OV5645 摄像头模块连接** 对于 OV5645 模块的连接,需将其通过 MIPI 适配器上的 J4 进行对接。具体来说,I2C2_SDA 和 I2C2_SCL 需要分别对应到 MIPI 适配器上的 CAM2_SDA 和 CAM2_SCL 引脚[^1]。 ```plaintext MIPI Adapter Pinout (J4): CAM2_SDA -> I2C2_SDA CAM2_SCL -> I2C2_SCL ``` 这种配置允许摄像头模块与主板之间实现高效的通信协议交互,从而满足图像采集需求。 #### 2. **通用 GPIO 接口定义** Vision Board 的排针通常集成了多个功能引脚,包括但不限于 GPIO、UART、SPI、PWM 等信号线。这些引脚的具体分配如下表所示(假设为标准布局): | 功能 | 描述 | |------------|--------------------------| | GPIO | 可编程输入/输出 | | UART_TX | 串口发送 | | UART_RX | 串口接收 | | SPI_MOSI | 主设备数据输出 | | SPI_MISO | 从设备数据输入 | | SPI_CLK | 同步时钟 | | SPI_CS | 片选信号 | 具体的引脚编号以及对应的电气特性可以参考官方文档或原理图文件[^2]。 #### 3. **电源与接地处理** 为了确保稳定运行,在连接外部设备时需要注意供电电压范围及共地设计。一般情况下,Vision Board 提供了 3.3V 和 GND 输出端子用于驱动低功耗传感器或其他配件。务必确认目标器件的工作条件与其匹配后再接入电路。 --- ### 示例代码:初始化GPIO控制LED灯闪烁 如果计划利用某个特定的GPIO来操作外围组件,则可以通过以下示例程序完成基本设置: ```c #include <rtthread.h> #include <board.h> #define LED_PIN GET_PIN(B, 0) int main(void) { rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT); while(1){ rt_pin_write(LED_PIN, PIN_HIGH); rt_thread_mdelay(500); /* 延迟500ms */ rt_pin_write(LED_PIN, PIN_LOW); rt_thread_mdelay(500); /* 延迟500ms */ } } ``` 此片段展示了如何借助RT-Thread框架下的API函数管理指定管脚状态变化过程中的时间间隔调整方法。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值