Ameba SDKs

GitHub

finger_icon IoT SDK

概述

SDK由以下四部分组成:

  • project

  • component

  • tools

  • doc

SDK
    ├── amebadxxx_gcc_project       用于配置、编译生成image, 包含maekfile、ld、utils、library等
    ├── component                   FreeRTOS、SoC、mbed API、Wi-Fi、network等组件
    ├── tools                       工具
    └── doc                         文档

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

备注

  • project_xx/inc/FreeRTOSConfig.h: 用于配置 FreeRTOS

  • project_xx/inc/platform_autoconf.h: 为 make menuconfig 自动生成

  • project_xx/inc/build_info.h: 一些编译信息,如版本信息等

component

Items

Description

at_cmd

AT commands

audio

audio codec 驱动,包含:alc5616/alc5640/alc5651/alc5660/alc5679/alc5680/sgtl5000

bluetooth

BT 相关的源代码 和 library

example

应用示例,包含: audio/network/ota/usb/…

file_system

文件系统,包含: fatfs/littlefs/ftl/kv/vfs…

lwip

LWIP APIs 和源代码

network

  • cJSON

  • coap

  • dhcp

  • http2

  • httpc

  • httpd

  • mDNS

  • mqtt

  • ping

  • iperf

  • sntp

  • websocket

  • xml

os

FreeRTOS 源代码

soc

  • app: monitor 和 shell

  • bootloader

  • cmsis: Arm 头文件, 包含 Arm CPU 寄存器以及相关操作API

  • cmsis-dsp: Arm CMSIS-DSP 源代码

  • fwlib: 底层驱动程序,比如:Audio Codec/SPORTS/UART/I2C/SPI/Timer/PWM …

  • img3: image3 (可能没有)

  • hal: mbed APIs 源代码及头文件

  • misc: misc 文件,比如 crashdump/ota/pmu …

  • swlib: 被ROM支持的standard software 库函数,比如: _memcpy/_memcmp …

ssl

mbed TLS

utils

IPC: 多核之间通信

wifi

  • Wi-Fi API

  • Wi-Fi promisc API

  • Wi-Fi 快速连线(重置后)

tools

Items

Description

TraceTool

用于打印log和发送指令

ImageTool

用于Image下载

DownloadServer

基于socket的 OTA server 程序

DownloadServer (HTTP)

基于HTTP的 OTA server 程序

iperf

用于Wi-Fi吞吐量测试

littlefs

littlefs 文件系统生成

关键头文件

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的定义:

  • BOOT_RAM_DATA_SECTION

  • IMAGE2_RAM_TEXT_SECTION

ameba_soc.h

提供底层驱动的Raw API

相对于mbed APIs, Raw API提供更灵活丰富和高效的硬件配置接口

mbed API headers

基于Raw API的高级封装接口,提供的功能相对单一,推荐使用Raw API

component/soc/amebaXXX/hal