Armino 1.2.0

We are pleased to announce the release of Armino version 1.2.0.

备注

Armino is not designed from scratch, the baseline of Armino 1.2.0 is Beken Wi-Fi SDK v3.0, which has been used by many customers around the world. A lot of enhancements and changes have been made in Armino 1.2.0 compares to it’s baseline, that’s what we annouced in this release notes.

Major enhancements with this release include:

  • Support new software architecture, such as components and middleware etc

  • Support boot for RISC-V

  • Support new APIs for following drivers:

    • ADC

    • GPIO

    • DMA

    • UART

    • SPI

    • QSPI

    • Timer

    • TRNG

    • MailBox

    • Interrupt

    • Watchdog

    • Efusea

    • PWM

    • Vault

  • Support Wi-Fi 6 stack

  • Support new APIs for Wi-Fi

  • Support new APIs for BLE

  • Support BLE 5.x stack

  • Support POSIX for FreeRTOS

  • Upgrade FreeRTOS to v10.0

  • Upgrade LWIP to v2.1.2

  • Support CMake build

  • Support Kconfig and per-soc and per-project configuration

  • Support new documentation

The following sections provide detailed lists of changes by component.

Software Architecture

The software architecture has been redesigned:

  • A dedicated layer components has been added, it’s used to contain the reusable or service related modules.

  • A dedicated layer middleware has been added, it works as the adapter between hardware and other components.

  • A dedicated layer projects has been added to contains all applications, projects or examples.

  • The FreeRTOS have been moved to Armino, Armino supports FreeRTOS by default.

FreeRTOS

The FreeRTOS has been upgrade from v9.0 to v10.0.

Posix APIs

The POSIX APIs has been supported.

Wi-Fi

  • Support Wi-Fi 6 stack

  • Support new Wi-Fi APIs

BLE

Driver

The driver architecture has been redesigned:

  • The driver has been divided to 3 layers, the Driver layer, HAL layer and SoC Layer.

  • Some driver of the peripherals are re-implemented based on the new driver architecture, such as ADC etc.

ADC

ADC are re-designed in this release, here are the new ADC APIs:

GPIO

GPIO are re-designed in this release, here are the new GPIO APIs:

PWM

PWM are re-designed in this release, here are the new PWM APIs:

DMA

DMA are re-designed in this release, here are the new DMA APIs:

UART

UART are re-designed in this release, here are the new UART APIs:

SPI

SPI are re-designed in this release, here are the new SPI APIs:

QSPI

QSPI driver are re-designed in this release, here are the new QSPI APIs:

Timer

Timer driver are re-designed in this release, here are the new Timer APIs:

TRNG

TRNG driver are re-designed in this release, here are the new TRNG APIs:

EFUSE

Efuse driver are re-designed in this release, here are the new Efuse APIs:

MailBox

Mailbox driver are re-designed in this release, here are the new Mailbox APIs:

  • mailbox_init()

  • mailbox_deinit()

  • mailbox_set_param()

  • mailbox_recv_callback_register()

  • mailbox_recv_callback_unregister()

  • mailbox_send()

Interrupt

Interrupt control are re-designed in this release, here are the new Interrupt APIs:

Watchdog

Watchdog are re-designed in this release, here are the new Watchdog APIs:

Build System

The legacy GNU Makefile build system has been removed and the CMake build system has been supported.

Log

Following log APIs have been added:

  • BK_LOGI

  • BK_LOGD

  • BK_LOGV

Event

Following Event APIs have been added:

Netif

Following Netif APIs have been added:

Documentation

New documentation framework has been added to this release.

Examples

Following examples has been added: