本帖最后由 无垠的广袤 于 2024-11-26 12:32 编辑
【Ai-WB2-32S开发板测评】简介、环境搭建、固件烧录
Ai-WB2-32S 开发板是基于 Ai-WB2-32S 模组设计的开发板,板载 串口通信 USB 转 TTL 芯片 CH340C,LDO 稳压电路、RGB 三色 LED、Reset 按键、Bootloader 按键等,所有 GPIO 引出便于调试和开发。
简介
模组
Ai-WB2-32S 是由安信可科技有限公司开发的 Wi-Fi&BT 模组,该模组搭载 BL602 芯片作为核心处理器,支持 Wi-Fi 802.11b/g/n 协议和BLE 5.0 协议。 BL602 芯片内置低功耗的 32 位 RISC CPU,276KB RAM 和丰富的外围接口, 包括SDIO,SPI,UART,I2C,IR remote,PWM,ADC,DAC,PIR 和GPIO 等。 可广泛应用于物联网(IoT)、移动设备、可穿戴电子设备、智能家居等领域。
主要特点
采用SMD-38 封装 支持IEEE 802.11 b/g/n 协议 Wi-Fi 安全支持WPS/WEP/WPA/WPA2 Personal/WPA3 支持20MHz 带宽,最高速率72.2 Mbps Bluetooth 低能耗5.0,Bluetooth Mesh 支持Station + BLE 模式、Station + SoftAP + BLE 模式 支持32-bit RISC CPU,276KB RAM 安全启动,支持使用ECC-256 签名的镜像 支持QSPI/SPI Flash 即时AES 解密(OTFAD),支持AES 128 CTR 模式 支持AES 128/192/256 位加密引擎 支持SHA-1/224/256 支持真实随机数发生器(TRNG) 公钥加速器(PKA), 支持大数基本运算, 软件提供签名,验证等应用程序接口 支持SDIO,SPI,UART,I2C,IR remote,PWM,ADC,DAC,PIR,GPIO 等 集成Wi-Fi MAC/BB/RF/PA/LNA/BT 支持多种休眠模式,深度睡眠电流12μA 通用AT 指令可快速上手 支持二次开发,集成了Windows、Linux 开发环境
参数
模组封装
模组原理图
开发板原理图
开发环境配置
这里需要注意配置环境变量时,路径中不能存在空格。
简要梳理流程:
- git clone --recursive https://gitee.com/Ai-Thinker-Open/Ai-Thinker-WB2
复制代码
使用 Git 工具克隆固件包,等待克隆完成即可关闭 git 命令窗口。
固件烧录
对于已经合成的固件,操作如下
1.选择目标固件路径 - 选择开发板串口号 - 设置串口下载波特率 - Open Uart ; 2.按住Boot键的同时,短按 RST 键,进入下载模式; 3.点击 Create & Download 按钮 - 进度条至 100% 并提示 All Success ; 4.短按 RST 键复位即可。
固件验证
串口打印
打开串口助手工具,选择开发板串口号,设置波特率为 115200,无校验位,数据位为 8,停止位为 1,打开串口,按 EN 键复位 MCU,此时输出开发板信息如下
串口调试
根据原理图可知
板载 LED 为高电平点亮,RGB 对应的 GPIO 引脚分别为 IO14、IO17、IO3 根据 GPIO 输出配置指令协议 - AT+SYSGPIOWRITE=<pin>,<level>
复制代码
响应为 OK 可实现对应 GPIO 输出电平的控制。
二次开发实现闪灯
1.打开 Eclipse IDE 软件,新建 RISC-V 工程并导入目标 SDK 文件夹; 2.配置 Windows 构建工具,工具链路径; 3.配置 SDK 项目的 C/C++ 构建工具、工具链路径、目标工程路径等; 4.清洁 Clean Project、代码编写、和构建 Build 工程。
代码
- #include <stdio.h>
- #include <string.h>
- #include <FreeRTOS.h>
- #include <task.h>
- #include <bl_gpio.h>
- #define GPIO_LED_PIN 3
- void blink_test(void *param)
- {
- uint8_t value = 1;
- while (1)
- {
- bl_gpio_enable_output(GPIO_LED_PIN, 0, 0);
- printf("Turning the LED %s! \r\n", value == 1 ? "ON" : "OFF");
- bl_gpio_output_set(GPIO_LED_PIN, value);
- value = !value;
- vTaskDelay(200);
- }
- }
- void main(void)
- {
- xTaskCreate(blink_test, "blink", 1024, NULL, 15, NULL);
- }
复制代码
修改 GPIO_LED_PIN 定义和 vTaskDelay 函数可以调整目标GPIO引脚和延迟时间。
固件烧录配置
加载目标固件,配置串口参数,打开串口,按下 BOOT 和 RST 按键进入烧录模式,点击 创建和下载 按钮,待进度条完成,按 RST 键复位即可。
效果
延时设定为 vTaskDelay(1000);
调整延时为 vTaskDelay(200);
同时,串口输出该时刻的 LED 状态 ON 或 OFF .
|