文章目录

  • 一、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. 在Visual Studio设置隐藏cmd,GTK程序有效
  2. springMVC参数的传递方式(1.通过@PathVariabl获取路径参数,2.@ModelAttribute获取数据,3.HttpServletRequest取参,4@RequestParam)
  3. 【设计模式】装饰器模式的使用
  4. 图像工程之图像处理 CH1绪论
  5. python fsolve说明_Python fsolve()抱怨形状.为什么?
  6. linux下拷贝文件的时候出现权限不够,如何解决
  7. VB.NET工作笔记009---硬件设备写码工具编写_使用串口通信_发送AT指令
  8. python finally的作用_Python finally
  9. 2020年5月机器视觉工作阶段性总结
  10. ActiveX如何调用引用该ActiveX的网页中的JavaScript函数
  11. hb100 微波雷达arduino_【Arduino】108种传感器系列实验(03)-微波雷达感应开关...-Arduino中文社区 - Powered by Discuz!...
  12. C++ SLT之map的用法总结
  13. 2020/03/01 03-Django模板DTL使用
  14. javaweb基于JSP+Servlet开发水费管理系统+论文 大作业 毕业设计
  15. 安卓期末大作业——校园二手街APP设计和实现
  16. Matlab逆向归纳法,6.完全信息动态博弈—逆向归纳法和子博弈完美均衡.ppt
  17. qq邮件如何设置html阅读,如何得知对方是否已阅读QQ邮件?
  18. 安装Linux 乌班图 Ubuntu 系统
  19. 四轮转向系统横摆角速度控制simulink仿真模型,利用滑模控制算法,基于八自由度车辆模型
  20. 【正点原子FPGA连载】第三十一章RTC实时时钟数码管显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

热门文章

  1. 【小沐学C++】C++获取计算机硬件信息(Linux)
  2. dscp值_值得收藏 网络服务质量QOS分类中的DSCP详解
  3. SPI全双工与半双工
  4. ORACLE的sign函数
  5. android应用权限杂谈
  6. 微信小程序“课堂管理小助手”设计 学生考勤签到考试课件
  7. html给看板娘添加语音,如何在网页上插入一个看板娘
  8. 如何查询安卓手机型号以及如何修改型号跟品牌
  9. 又双叒叕升级了,Nine 2.0.3正式上线!
  10. linux 已打开文件图标管理,Nautilus 3.27.4文件管理器发布,不支持管理桌面图标