文章目录

  • 一、Ubuntu安装
    • 1.1 安装VMware Workstation Pro
    • 1.2 安装Ubuntu
  • 二、编译
  • 三、烧录固件到设备
    • 3.1 方式一:用命令行烧录
    • 3.2 方式二:用可视化软件烧录(windows)
  • 三、自定义工程如何修改Makefile
  • 四、开发资料

一、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-XX USB to TTL
TX RX
RX TX
IO8 DTR
EN RTS
VDD 3.3V
GND GND

注意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-XX USB to TTL
TX RX
RX TX
EN RTS
VDD 3.3V
GND GND

已验证支持的串口芯片有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

Ai-WB2系列模组linux开发环境搭建相关推荐

  1. 嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)

    目录 一.安装VMware 1.VMware介绍 2.安装VMware16.0.0 二.安装ubuntu16.04.3 LTS 1.Ubuntu介绍 2.下载安装包iso 3.安装 四.新安装Ubun ...

  2. Linux开发环境搭建(一)之安装CentOS桌面版

    前言 最近接手一个项目,需要对接大华的摄像头,该摄像头外部依赖库及其加载方式会根据运行环境的不同而改变.项目开发使用Windows系统,项目运行则是在Linux系统,因此,开发好的项目根本无法部署到L ...

  3. 嵌入式linux编译环境搭建,嵌入式Linux开发环境搭建

    整理下嵌入式Linux开发环境搭建过程笔记. 一.制作u-boot.bin文件: tar xjf u-boot-1.1.6.tar.bz2 cd u-boot-1.1.6 patch -p1 < ...

  4. 嵌入式linux开发环境搭建——VirtualBox虚拟机网络环境解析

    嵌入式linux开发环境搭建--VirtualBox虚拟机网络环境解析 本博文转自:Pandoras Box http://blog.csdn.net/yxc135/article/details/8 ...

  5. Django Python MySQL Linux 开发环境搭建

    Django Python MySQL Linux 开发环境搭建 1.安装Python 进行Python开发,首先必须安装python,对于linux 或者Mac 用户,python已经预装. 在命令 ...

  6. 嵌入式Linux开发环境搭建-4-嵌入式编程基础知识

    嵌入式Linux开发环境搭建-4-嵌入式编程基础知识 1.安装代码编辑器 2.交叉编译工作使用 1.安装代码编辑器 参考文档 ubuntu几款好用的代码编辑器_百度经验 安装sublime text ...

  7. 51单片机开发系列一-51单片机开发环境搭建以及入门汇编代码

    51单片机开发系列一 51单片机开发环境搭建以及入门汇编代码 象棋小子    1048272975 1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称.目前教科书基 ...

  8. 嵌入式Linux开发环境搭建-曹国辉-专题视频课程

    嵌入式Linux开发环境搭建-1199人已学习 课程介绍         系统讲解嵌入式Linux开发环境搭建方法,包括虚拟机安装,ubuntu安装,交叉编译器安装及配置,嵌入式QT开发环境的构建,u ...

  9. Linux开发环境搭建步骤

    虐我千百遍的Linux开发环境搭建步骤一定要做一篇记录 详细步骤如下: (1)在home下新建一个文件夹tmp 在里面放入下载的arm-linux-gcc安装包 (2)执行命令cd tmp (3)执行 ...

最新文章

  1. 【Ant Design Pro 四】react 点击事件传参
  2. 如何利用扬声器构建深度学习网络?
  3. Android webview基础知识
  4. mxnet可视化模型中间层feature map输出
  5. 使用OpenCV进行图像创建、保存和复制
  6. java飞机大战流程图_JAVA课程设计-飞机大战
  7. 素数路(prime)
  8. PyCharm PyQt5创建主窗口源代码
  9. AI智能语音客服机器人系统/方案/案列/技术/项目
  10. Android App开发常用尺寸规范
  11. 记微信小程序动态表单实现
  12. MapReducer的map和reducer的几种写法模板以及自定义数据类型
  13. 在html中下面那是段落标签,【单选题】在 HTML 中,下面是段落标签的是 A. 与 B. 与 C. 与 D. 与...
  14. Palm 与 webOS 之死
  15. C语言求sgn函数,sgnx(sgn函数)
  16. 电脑摄像头识别二维码OpenCV程序
  17. Kdevelop使用方法
  18. 华为起诉Verizon侵权在美开庭,涉及光传输网络
  19. iOS开发-审核被拒原因总结[持续更新]
  20. 你知道要去学人工智能,但你却无从入手,对吗?

热门文章

  1. 汽车汽配行业B2B电子商务系统营销渠道自动化,综合提升B2B平台交易效率
  2. android 图片墙拼贴,‎App Store 上的“照片墙 - 照片拼贴拼图”
  3. [一起学习pytorch吧]之torch.sign函数
  4. 苹果发布第二代平板电脑 iPad 2
  5. ARM STM32F中ADC中 规则通道 注入通道 序列寄存器(SQR JSQR)的使用方法
  6. 计算机网络 第二章、物理层
  7. 关于ModifyStyleEx无效的问题
  8. 2016年中资管机构规模排名哪家强(名单)
  9. 那些转行软件测试成功且拿到多个offer的小伙伴五大共性,​说点掏窝心子的话
  10. 列举微型计算机的主要性能指标,计算机基础考大纲.ppt