文章目录
一、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
我们这里以Ubuntu 20.04.6 LTS版本安装为例,镜像获取链接为:Ubuntu 20.04.6 LTS,若是该链接的无效,则访问ubuntu官网,桌面版资源获取链接:https://releases.ubuntu.com/jammy/
获取镜像以后,即可安装ubuntu系统了。VMWare下安装Ubuntu方法参考链接:在VMware上安装Ubuntu详细教程
以下为我们做的已搭建好的Ai-M61/Ai-M62开发环境的可移动ubuntu系统虚拟器,资源获取请联系安信可工作人员。
在VMware软件中打开系统启动文件即可,具体操作如下:打开VMware Workstation Pro -> 文件 -> 打开 -> 选择下载并解压好的Ubuntu文件路径
直接开机即可,用户名和密码都是123
Ubuntu虚拟机已经安装好Ai-M61/Ai-M62系列模组的开发环境,sdk位于主目录 -> bouffalo_sdk/
下面括号内内容针对阅读此博文前已安装过Ubuntu的用户
{
- 无需重新安装Ubuntu
- 创建M61或者M62SDK以及工具链存放文件夹:
mkdir bl61x
- 进入“bl61x”文件夹下:
cd bl61x
,获取SDK:git clone https://github.com/bouffalolab/bouffalo_sdk.git
,完成以上操作将在“bl61x”文件夹下看到SDK存放文件夹“bouffalo_sdk”。 - 打开终端,安装make,命令:
sudo apt-get update
、sudo apt-get install make ninja-build -y
- 获取工具链:
git clone https://gitee.com/bouffalolab/toolchain_gcc_t-head_linux.git
- 复制工具链至存放系统指令的文件夹下:
sudo cp -rf toolchain_gcc_t-head_linux/ /usr/bin
- 将工具链操作目录添加至环境变量中,并写入“.bashrc”文件中:
echo "export PATH=\"$PATH:/usr/bin/toolchain_gcc_t-head_linux/bin\"" >> ~/.bashrc
- 运行一次“.bashrc”文件:
source ~/.bashrc
- 安装串口工具,此处选用cutecom,执行命令:sudo apt-get install cutecom
- 在 Linux 中添加用户到 dialout,执行命令:sudo usermod -a -G dialout $USER
}
二、编译
进入需要编译的工程目录,如进入hello world工程,命令:cd examples/helloworld
,进行编译,命令make CHIP=bl616
出现以下日志说明已经编译成功:
编译生成的固件在build/build_out文件夹内: helloworld_bl616.bin
三、烧录固件到设备
3.1 方式一:用命令行烧录
- 模组接线
USB转TTL | Ai-M62-12F
-------- | -----
VCC | 3.3V
GND | GND
TXD | RXD
RXD | TXD
RTS | EN(复位作用)
DTR | IO2(背面的小圆点)
注意IO2在模组背面的圆点上
- 开发板进入烧录模式:
接USB到电脑,同时按下BURN和EN两个按键,先松开EN按键再松开BURN按键
注:M61的操作方法同上。
实物如下图:
将设备连接到虚拟机
烧录执行命令行:
make flash CHIP=bl616
出现以下日志表示烧录成功
烧录完成后打开串口助手:sudo cutecom
在cutecom中设置好波特率后打开串口
复位模组后打印helloworld
3.2 方式二:用可视化软件烧录(windows)
下载软件:bl6xx_flash_download_tool
- 模组接线同上,这里不再赘述;
开发板接线:
直接把usb接到电脑即可。
- 双击BLDevCube.exe软件,如下图
- 选择BL616/618芯片
(1)选择BL616/618芯片
(2)点击确定
-
选择IOT的下载方式
-
关于烧录软件的参数的具体说明可以查看烧录软件中的docs目录,这里简单说一下红色框区域的参数
– Interface: 用于选择下载烧录的通信接口,可以选择 Jlink 或者 UART, 用户根据实际物理连接进行选择,默认选择UART
– Port/SN:当选择 UART 进行下载的时候这里选择与芯片连接的 COM 口号,可以点击 Refresh 按钮进行COM 号的刷新
– Uart Rate:当选择 UART 进行下载的时候,填写波特率,推荐下载频率设置成921600
– JLink Ra’te:当选择 JLink 进行下载的时候,烧写速度的配置,默认值是 1000
共需要烧录四个文件:
(1)分区文件:BL616_flash_tool/chips/bl616/partition/partition_cfg_4M.toml
(2)射频参数文件:BL616_flash_tool/chips/bl616/device_tree/bl_factory_params_IoTKitA_auto.dts
(3)boot文件:BL616_flash_tool/chips/bl616/builtin_imgs/boot2_isp_bl616_v6.5.1/boot2_isp_release.bin
(4)用户编译的APP文件:指定到刚刚编译好的helloworld_bl616.bin
烧录成功效果如下:
日志串口默认波特率为2000000,如果需要修改日志串口波特率可以在文件BL616_flash_tool\chips\bl616\device_tree\bl_factory_params_IoTKitA_auto.dts内修改,修改后重新下载即可。
配置文件选择:
四、开发资料
安信可官网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