Ameba SDKs

GitHub

finger_icon IoT SDK

Introduction

The SDK consists of four parts:

  • project

  • component

  • tools

  • doc

SDK
    ├── amebadxxx_gcc_project       project for build image, include: maekfile, ld, utils, library, etc.
    ├── component                   FreeRTOS, SoC, mbed API, Wi-Fi, network, etc.
    ├── tools                       Tools
    └── doc                         Documents

project

The project name is amebadplus_gcc_project, and the project includes the following items:

Item

Description

Makefile

Compile the project with one command

menuconfig

Used to configure the project

project_km4

KM4 project files

project_km0

KM0 project files

utils

J-Link script for connecting to CPU

Note

  • project_xx/inc/FreeRTOSConfig.h: configure FreeRTOS

  • project_xx/inc/platform_autoconf.h: generated by make menuconfig

  • project_xx/inc/build_info.h: some build information

component

Items

Description

at_cmd

AT commands

audio

Drivers of alc5616/alc5640/alc5651/alc5660/alc5679/alc5680/sgtl5000

bluetooth

BT related source code and library

example

Utility examples: audio/network/ota/usb/…

file_system

File system: fatfs/littlefs/ftl/kv/vfs…

lwip

LWIP APIs and driver codes

network

  • cJSON

  • coap

  • dhcp

  • http2

  • httpc

  • httpd

  • mDNS

  • mqtt

  • ping

  • iperf

  • sntp

  • websocket

  • xml

os

FreeRTOS source codes

soc

  • app: monitor and shell

  • bootloader

  • cmsis: Arm headers, including Arm CPU registers and operations

  • cmsis-dsp: Arm CMSIS-DSP source codes

  • fwlib: user configuration, low level drivers, such as Audio Codec/SPORTS/UART/I2C/SPI/Timer/PWM …

  • img3: files for image3 (if exists)

  • hal: mbed APIs source codes, header files

  • misc: misc file like crashdump/ota/pmu …

  • swlib: standard software library supported by ROM code, such as _memcpy/_memcmp …

ssl

mbed TLS

utils

IPC: util for multicore communication

wifi

  • Wi-Fi driver interface

  • Wi-Fi promisc mode interface

  • Wi-Fi fast connection

tools

Items

Description

TraceTool

Tools used to print logs and send commands

ImageTool

Image tool

DownloadServer

Used to send image to the device based on socket by OTA function

DownloadServer (HTTP)

Used to send image to the device based on HTTP by OTA function

iperf

iperf for Wi-Fi performance test

littlefs

Tools to make littlefs file system

Critical Header Files

Items

Description

Location

basic_types.h

  • SUCCESS/FAIL

  • TRUE/FALSE

  • ENABLE/DISABLE

  • ON/OFF

  • NULL

  • u8/u16/u32/u64

  • BOOL

  • BIT x

component/soc/amebaXXX/fwlib/include

section_config.h

Section definition used in link script:

  • BOOT_RAM_DATA_SECTION

  • IMAGE2_RAM_TEXT_SECTION

ameba_soc.h

Peripheral header files for raw APIs

Raw APIs have more features than mbed APIs, which just
have basic features.

If you want to use raw APIs, this header must be included.

mbed API headers

Peripheral header files for mbed APIs.

If you want to use mbed APIs, related headers must be included.

component/soc/amebaXXX/hal