• Ai-WB2系列模组linux开发环境搭建


    一、Ubuntu安装

    在Linux下编译速度比windows快很多,一般推荐优先使用linux环境开发。Ubuntu是非常常见Linux操作系统。这里介绍下如何快速搭建Ubuntu虚拟机。

    1.1 安装VMware Workstation Pro

    下载 VMware Workstation Pro 16
    安装
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    剩下的一直点下一步直到安装完成即可

    激活:
    打开VMware Workstation Pro ->帮助->输入许可证密钥。
    学习用途:百度一下“vmware workstation 16许可证密钥”。
    商业用途:到VMware官网购买正版许可证。

    1.2 安装Ubuntu

    直接下载安装好的Ubuntu20.04,百度网盘链接:
    链接:https://pan.baidu.com/s/1xdTNaDjWQCaK38WbjrbA-A?pwd=z22u
    提取码:z22u
    下载完成后解压缩。

    打开VMware Workstation Pro -> 文件 -> 打开 -> 选择下载并解压好的Ubuntu文件路径
    在这里插入图片描述
    直接开机即可,用户名和密码都是axk
    在这里插入图片描述
    Ubuntu虚拟机已经安装好Ai-WB2系列模组的开发环境,sdk位于主目录 -> bl_iot_sdk
    在这里插入图片描述

    下面括号内内容针对阅读此博文前已安装过Ubuntu的用户
    {

    1. 无需重新安装Ubuntu
    2. SDK获取:git clone https://github.com/bouffalolab/bl_iot_sdk.git
    3. 打开终端,安装make,命令:sudo apt-get update、sudo apt-get install make
    4. 安装串口工具,此处选用cutecom,执行命令:sudo apt-get install cutecom
    5. 在 Linux 中添加用户到 dialout,执行命令:sudo usermod -a -G dialout $USER

    }

    二、编译

    进入需要编译的工程目录,如进入hello world工程,命令:cd customer_app/get-start/helloworld,进行编译,命令./genromap
    出现以下日志说明已经编译成功
    在这里插入图片描述
    编译生成的固件在build_out文件夹内: helloworld.bin

    三、烧录固件到设备

    3.1 方式一:用命令行烧录
    • 模组接线
    Ai-WB2-XXUSB to TTL
    TXRX
    RXTX
    IO8DTR
    ENRTS
    VDD3.3V
    GNDGND

    注意IO8在模组背面的圆点上

    • 开发板进入烧录模式:
      接USB到电脑,同时按下BURN和EN两个按键,先松开EN按键再松开BURN按键

    将设备连接到虚拟机
    在这里插入图片描述
    设置串口日志波特率 :打开tools/flash_tool/chips/bl602/device_tree/bl_factory_params_IoTKitA_40M.dts,在uart{ }中设置,这里设置为115200
    在这里插入图片描述

    烧录执行命令行:

    make flash_only
    

    出现以下日志表示烧录成功
    在这里插入图片描述
    烧录完成后打开串口助手:sudo cutecom
    在cutecom中设置好波特率后打开串口
    在这里插入图片描述
    复位模组后打印helloworld
    在这里插入图片描述

    3.2 方式二:用可视化软件烧录(windows)

    下载软件:https://docs.ai-thinker.com/_media/ai-wb2/docs/v1.7.4-release.zip

    • 模组接线:
    Ai-WB2-XXUSB to TTL
    TXRX
    RXTX
    ENRTS
    VDD3.3V
    GNDGND

    已验证支持的串口芯片有FT232、CH340。

    开发板接线:
    直接把usb接到电脑即可。
    需要烧录的Parttion Table、Factory Params、Boot2 Bin文件分别位于:
    v1.7.4-release\chips\bl602\partition\partition_cfg_4M.toml
    v1.7.4-release\chips\bl602\device_tree\bl_factory_params_IoTKitA_40M.dts
    v1.7.4-release\chips\bl602\builtin_imgs\boot2_isp_v5.6\boot2_isp_release.bin

    编译生成的应用层固件烧录到Firmware Bin
    注意
    烧录工具和固件不要放到中文路径内
    在这里插入图片描述

    日志串口默认波特率为2000000,如果需要修改日志串口波特率可以在文件v1.7.4-release\chips\bl602\device_tree\bl_factory_params_IoTKitA_40M.dts内修改,修改后重新下载即可。
    在这里插入图片描述

    三、自定义工程如何修改Makefile

    sdk里面的例程都比较简单,把所有的源文件都放在同一个文件夹里面就可以了,但是当我们的项目比较大的时候,会有很多的.c和.h文件,都放在同一个文件夹里面就会有点乱了,这时候把不同功能模块的代码放在不同的文件夹看起来就舒服很多了,怎么实现呢?

    以最简单的helloworld工程为例,基于官方helloworld工程修改。
    需求:

    1. 更改工程路径,把helloworld路径由bl_iot_sdk/customer_app/get-start/helloworld改为bl_iot_sdk/Ai-WB2-Demo/helloworld
    2. 增加一个文件夹component,component文件夹内新增hello.c和hello.h文件,把helloworld打印放到hello.c内

    实现:

    1. 设置SDK路径
      修改helloworld内的Makeflie的sdk路径,由原来的
      BL60X_SDK_PATH_GUESS ?= $(shell pwd)
      BL60X_SDK_PATH ?= $(BL60X_SDK_PATH_GUESS)/…/…/…
      改为
      BL60X_SDK_PATH_GUESS ?= $(shell pwd)
      BL60X_SDK_PATH ?= $(BL60X_SDK_PATH_GUESS)/…/…

    2. 在component组件添加到Makeflie
      INCLUDE_COMPONENTS += component
      EXTRA_COMPONENT_DIRS += $(PROJECT_PATH)/component

    3. component文件夹内增加名为bouffalo.mk的Makeflie文件编译hello.c,bouffalo.mk内增加代码:

    COMPONENT_OBJS := $(patsubst %.c,%.o, $(COMPONENT_SRCS))
    

    完整工程见:https://gitee.com/chencong_cc/Ai-WB2-Demo.git

    四、开发资料

    安信可官网docs:https://docs.ai-thinker.com/wifi
    bouffalolab官方SDK:https://github.com/bouffalolab/bl_iot_sdk,官方例程位于customer_app文件夹内。
    编程指南:https://bouffalolab.github.io/bl_iot_sdk

  • 相关阅读:
    vscode中 vue3+ts 项目的提示失效,volar插件失效问题解决方案
    【每日一题Day358】LC2698求一个整数的惩罚数 | 递归
    【构建并发程序】4-原子变量-CAS-ABA问题
    MySQL 8.2 Command Line Client打开时一闪而过闪退问题
    ChatGPT手机电脑浏览器中使用免费的ChatGPT
    事务,不只ACID
    神经系统图 基本结构图,神经系统的组织结构图
    机器学习 - 决策树:技术全解与案例实战
    深度学习实战01-卷积神经网络(CNN)实现Mnist手写体识别
    22年7月工作笔记整理(前端)
  • 原文地址:https://blog.csdn.net/Boantong_/article/details/125604649