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

描述

目录

一、Ubuntu安装

二、编译

三、烧录固件到设备

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

五、开发资料

PART 01   Ubuntu安装

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

1   安装VMware Workstation Pro

下载 VMware Workstation Pro 16

虚拟机

虚拟机

虚拟机

剩下的一直点下一步直到安装完成即可

激活:打开VMware Workstation Pro ->帮助->输入许可证密钥。

学习用途:百度一下“vmware workstation 16许可证密钥”。

商业用途:到VMware官网购买正版许可证。

2   安装Ubuntu

直接下载安装好的Ubuntu20.04

百度网盘

提取码:z22u

下载完成后解压缩

打开VMware Workstation Pro -> 文件 -> 打开 -> 选择下载并解压好的Ubuntu文件路径

虚拟机

直接开机即可,用户名和密码都是axk

虚拟机

Ubuntu虚拟机已经安装好Ai-WB2系列模组的开发环境,sdk位于主目录 -> bl_iot_sdk

虚拟机

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

{ 无需重新安装Ubuntu

SDK获取:git clone https://github.com/bouffalolab/bl_iot_sdk.git

打开终端,安装make,命令:sudo apt-get update、sudo apt-get install make

安装串口工具,此处选用cutecom,执行命令:sudo apt-get install cutecom

在 Linux 中添加用户到 dialout,执行命令:sudo usermod -a -G dialout $USER }

PART 02   编译

进入需要编译的工程目录,如进入hello world工程,命令:cd customer_app/get-start/helloworld,进行编译,命令./genromap

出现以下日志说明已经编译成功

虚拟机

编译生成的固件在build_out文件夹内: helloworld.bin

PART 03   烧录固件到设备

1   方式一:用命令行烧录

模组接线

虚拟机

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

开发板进入烧录模式:

接USB到电脑,同时按下BURN和EN两个按键,先松开EN按键再松开BURN按键

将设备连接到虚拟机

虚拟机

设置串口日志波特率 :

tools/flash_tool/chips/bl602/device_tree/bl_factory_params_IoTKitA_40M.dts,在uart{ }中设置,这里设置为115200

虚拟机

烧录执行命令行:

虚拟机

出现以下日志表示烧录成功

虚拟机

烧录完成后打开串口助手:sudo cutecom

在cutecom中设置好波特率后打开串口

虚拟机

复位模组后打印helloworld

虚拟机

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

下载软件

模组接线

虚拟机

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

开发板接线:

直接把usb接到电脑即可

需要烧录的Parttion Table、Factory Params、Boot2 Bin文件分别位于:

v1.7.4-releasechipsl602partitionpartition_cfg_4M.toml

v1.7.4-releasechipsl602device_treel_factory_params_IoTKitA_40M.dts

v1.7.4-releasechipsl602uiltin_imgsoot2_isp_v5.6oot2_isp_release.bin

编译生成的应用层固件烧录到Firmware Bin

注意:烧录工具和固件不要放到中文路径内

虚拟机

日志串口默认波特率为2000000,如果需要修改日志串口波特率可以在文件v1.7.4-releasechipsl602device_treel_factory_params_IoTKitA_40M.dts内修改,修改后重新下载即可。

虚拟机

PART 04   自定义工程如何修改Makefile

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

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

需求:

更改工程路径,把helloworld路径由bl_iot_sdk/customer_app/get-start/helloworld改为bl_iot_sdk/Ai-WB2-Demo/helloworld

增加一个文件夹component,component文件夹内新增hello.c和hello.h文件,把helloworld打印放到hello.c内

实现:

设置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)/…/…

在component组件添加到Makeflie

INCLUDE_COMPONENTS += component

EXTRA_COMPONENT_DIRS += $(PROJECT_PATH)/component

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

虚拟机

完整工程见:

https://gitee.com/chencong_cc/Ai-WB2-Demo.git

PART 05   开发资料

安信可官网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

审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分