【Ai-WB2-32S开发板测评】简介、环境搭建、固件烧录

[复制链接]
查看943 | 回复8 | 2024-11-26 11:39:54 | 显示全部楼层 |阅读模式
本帖最后由 无垠的广袤 于 2024-11-26 12:32 编辑

【Ai-WB2-32S开发板测评】简介、环境搭建、固件烧录


Ai-WB2-32S 开发板是基于 Ai-WB2-32S 模组设计的开发板,板载 串口通信 USB 转 TTL 芯片 CH340C,LDO 稳压电路、RGB 三色 LED、Reset 按键、Bootloader 按键等,所有 GPIO 引出便于调试和开发。

简介


top.jpg
bottom.jpg

模组


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 开发环境


参数



table.png




模组封装


top_module.png

bottom_module.png




模组原理图


SCH_ai-wb2-32s_v1.0.jpg

开发板原理图


SCH.png

开发环境配置


参考官方 Windows 系统环境配置教程:https://blog.csdn.net/Boantong_/article/details/128480919

这里需要注意配置环境变量时,路径中不能存在空格。

简要梳理流程:

  • Eclipse IDE 软件的 下载 与安装;
  • msys2 软件的 下载 与安装,并输入如下代码回车,安装 git 和 make,
    pacman -S git
    pacman -S make
    以便实现开发文件部署和程序编译;
  • Ai-WB2 系列 SDK 开发包部署,在目标部署磁盘右键,选择 Open Git Bash here ,键入如下指令


  1. git clone --recursive https://gitee.com/Ai-Thinker-Open/Ai-Thinker-WB2
复制代码


使用 Git 工具克隆固件包,等待克隆完成即可关闭 git 命令窗口。

固件烧录


对于已经合成的固件,操作如下

burn.png

1.选择目标固件路径 - 选择开发板串口号 - 设置串口下载波特率 - Open Uart ;
2.按住Boot键的同时,短按 RST 键,进入下载模式;
3.点击 Create & Download 按钮 - 进度条至 100% 并提示 All Success ;
4.短按 RST 键复位即可。

固件验证


串口打印


打开串口助手工具,选择开发板串口号,设置波特率为 115200,无校验位,数据位为 8,停止位为 1,打开串口,按 EN 键复位 MCU,此时输出开发板信息如下

AT.png

串口调试


根据原理图可知

RGB.png

板载 LED 为高电平点亮,RGB 对应的 GPIO 引脚分别为 IO14、IO17、IO3
根据 GPIO 输出配置指令协议
  1. AT+SYSGPIOWRITE=<pin>,<level>
复制代码

响应为 OK
可实现对应 GPIO 输出电平的控制。
详见:AT 指令集 .

二次开发实现闪灯


1.打开 Eclipse IDE 软件,新建 RISC-V 工程并导入目标 SDK 文件夹;
2.配置 Windows 构建工具,工具链路径;
3.配置 SDK 项目的 C/C++ 构建工具、工具链路径、目标工程路径等;
4.清洁 Clean Project、代码编写、和构建 Build 工程。

代码


  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <FreeRTOS.h>
  4. #include <task.h>
  5. #include <bl_gpio.h>

  6. #define GPIO_LED_PIN 3

  7. void blink_test(void *param)
  8. {
  9.     uint8_t value = 1;
  10.     while (1)
  11.     {
  12.         bl_gpio_enable_output(GPIO_LED_PIN, 0, 0);
  13.         printf("Turning the LED %s! \r\n", value == 1 ? "ON" : "OFF");
  14.         bl_gpio_output_set(GPIO_LED_PIN, value);
  15.         value = !value;
  16.         vTaskDelay(200);
  17.     }
  18. }

  19. void main(void)
  20. {
  21.     xTaskCreate(blink_test, "blink", 1024, NULL, 15, NULL);
  22. }
复制代码


修改 GPIO_LED_PIN 定义和 vTaskDelay 函数可以调整目标GPIO引脚和延迟时间。

固件烧录配置


Burn_blink.png

加载目标固件,配置串口参数,打开串口,按下 BOOT 和 RST 按键进入烧录模式,点击 创建和下载 按钮,待进度条完成,按 RST 键复位即可。

效果


延时设定为 vTaskDelay(1000);

blink_slow.gif

调整延时为 vTaskDelay(200);

blink_fast.gif

同时,串口输出该时刻的 LED 状态 ON 或 OFF .

MCU开发者和爱好者
回复

使用道具 举报

爱笑 | 2024-11-26 13:51:20 | 显示全部楼层
很好~
用心做好保姆工作
回复

使用道具 举报

lovzx | 2024-11-26 16:34:48 | 显示全部楼层
学习
回复

使用道具 举报

大猫的鱼 | 2024-11-26 18:12:05 | 显示全部楼层
回复

使用道具 举报

fengqi | 2024-11-26 22:17:10 | 显示全部楼层
收到
回复

使用道具 举报

hrqwe | 2024-11-27 02:52:52 | 显示全部楼层
帖子很详细
日拱一卒,功不唐捐
回复 支持 反对

使用道具 举报

lazy | 2024-11-28 08:52:06 | 显示全部楼层
回复

使用道具 举报

干簧管 | 2024-11-28 08:59:17 | 显示全部楼层
回复

使用道具 举报

1055173307 | 2024-11-30 14:32:20 | 显示全部楼层
学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则