快速入门

[English]

本文档以 BK7236 开发板为例,通过一个简单的示例项目向您展示:

  • 代码,工具链下载;

  • 编译环境搭建;

  • 工程配置;

  • 固件编译与烧录;

概述

BK7236 SoC 芯片支持以下功能:

  • 2.4G Wi-Fi 6

  • 低功耗蓝牙 5.4

  • ARMv8-M Star (M33F) MCU

  • 丰富的外设

  • 内置 TrustEngine 安全引擎

BK7236 采用 22 nm 工艺制成,具有最佳的功耗性能,射频性能,稳定性,通用性,可靠性, 和最高级别的安全(PSA Level 2),适用于各种应用场景和不同功耗,安全需求。

博通集成为用户提供完整的软,硬件资源,进行 BK7236 硬件设备开发。其中,软件开发环境 Armino 旨在协助用户快速开发物联网(IoT)应用,可满足用户对 Wi-Fi,蓝牙,低功耗,安全 等方面的要求。

准备工作

硬件:

  • BK7236 开发板;

  • 串口烧录工具;

  • 电脑(Windows 与 Ubuntu);

备注

Armino 仅支持在 Linux 平台编译,仅支持在 Windows 平台进行固件烧录。 因此,您需要两台电脑,一台 Linux 平台,一台 Windows 平台; 当然,您也可以只使用 Windows 平台,在 Windows 平台上安装 Linux 虚拟机。

软件:

  • ARM GCC 工具链,用于编译 BK7236 版本;

  • 构建工具,包含 CMake;

  • Armino 源代码;

  • 串口烧录软件;

开发板简介

点击下列链接了解 Armino 支持的开发板详细信息:

下载 Armino 代码

您可从 gitlab 上下载 Armino:

mkdir -p ~/armino
cd ~/armino
git clone http://gitlab.bekencorp.com/wifi/armino.git

您也可从 github 上下载 Armino:

mkdir -p ~/armino
cd ~/armino
git clone https://github.com/bekencorp/armino.git

备注

1。 Gitlab 下载的为最新的 Armino 代码,仅授权帐号才能下载,请找项目接口人申请下载权限。 2。 Github 下载的为稳定,经过内部充分验证的版本。

构建编译环境

备注

Armino,当前支持Linux环境下编译,本章节将以 Ubuntu 20.04 LTS 版本为例,介绍整个编译环境的搭建。

安装工具链

点击 下载 下载 BK7236 工具链。

工具包下载后,通过如下操作命令解压至 /opt/ 目录下:

$ sudo tar -zxvf downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 -C /

备注

工具链默认路径在 middleware/soc/bk7236/bk7236.defconfig 文件中定义,您也可以在项目配置文件中更改工具链路径:

CONFIG_TOOLCHAIN_PATH="/opt/gcc-arm-none-eabi-9-2020-q2-update/bin"

安装依赖库

在终端输入下述命令安装 python3,CMake,Ninja 以及依赖库:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install build-essential cmake python3 python3-pip doxygen ninja-build libc6:i386 libstdc++6:i386 libncurses5-dev lib32z1 -y

安装 python 依赖库

在 Armino 根目录下输入下述命令安装 python 依赖库:

sudo pip3 install sphinx_rtd_theme future breathe blockdiag sphinxcontrib-seqdiag sphinxcontrib-actdiag sphinxcontrib-nwdiag sphinxcontrib.blockdiag

如果您的 Python 默认为 Python2,请使用下述命令更改成 Python3:

sudo ln -s /usr/bin/python3 /usr/bin/python

编译工程

在终端下输入下述命令编译 Armino projects/app 工程:

cd ~/armino
make bk7236

app 工程功能:

  • 启动 WiFi/BLE;

  • 初始化常见驱动;

  • 启动默认 CLI;

您可以通过 PROJECT 参数来编译 projects 下其他工程,如 make bk7236 PROJECT=security/secureboot 可以编译 projects/security/secureboot 工程。

配置工程

您可以通过工程配置文件来进行更改 Armino 默认配置或者针对不同芯片进行差异化配置:

工程配置文件 Override 芯片配置文件 Override 默认配置
如: config >> bk7236.defconfig >> KConfig
+ 工程配置文件示例:
    projects/app/config/bk7236/config
+ 芯片配置文件示例:
    middleware/soc/bk7236/bk7236.defconfig
+ KConfig 配置文件示例:
    middleware/arch/cm33/Kconfig
    components/bk_cli/Kconfig

点击 Kconfig 配置 进一步了解 Armino 配置。

新建工程

BK7236 默认工程为 projects/app,新建工程可参考 projects/harmony 工程

烧录代码

在 Windows 平台上, Armino 目前支持 UART 烧录。

通过串口烧录

备注

Armino 支持 UART 烧录,推荐使用 CH340 串口工具小板进行下载。

串口烧录工具如下图所示:

Uart

UART

烧录工具(BKFIL)获取:

http://dl.bekencorp.com/tools/flash/ 在此目录下获取最新版本,如:BEKEN_BKFIL_V2.0.7.5_20221220.zip

BKFIL.exe 界面及相关配置如下图所示:

BKFIL GUI

BKFIL GUI

烧录串口 UART1,点击 烧录 进行版本烧录, 烧录完成之后掉电重启设备。

点击 BKFIL 进一步了解 Armino 烧录工具。

串口 Log 及 Command Line

目前 BK7236 平台,串口 Log 及 Cli 命令输入在 UART1 口;可通过 help 命令查看支持命令列表。