Introduction

The SDK consists of four parts, and the contents and descriptions of each part are summarized in the following sections.

  • project

  • component

  • tools

  • doc

├── amebadplus_gcc_project      KM4/KM0 projects, utils, library, etc.
├── component                   FreeRTOS, SoC, mbed API, Wi-Fi, network, etc.
├── tools                       Tools
└── doc                         Documents

project

The project name of RTL8721Dx is amebadplus_gcc_project.

Item

Description

Makefile

Compile the project with one command

menuconfig

Used to configure the project

project_km4

KM4 project files

  • src/main.c

  • inc:

    • FreeRTOSConfig.h: configure FreeRTOS

    • main.h

    • platform_autoconf.h: generated by make menuconfig

    • build_info.h: some build information

  • Makefile

  • Link script

  • Bin files

  • Library

project_km0

KM0 project files

utils

J-Link script for connecting to KM4 and KM0

component

Items

Description

at_cmd

AT commands

bluetooth

BT related source code and library

example

Utility examples: audio/network/ota/peripheral example/…

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/Timer/PWM…

  • hal: mbed APIs source codes, header files

  • img3: files for image3 (if exists)

  • 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

All the critical header files listed below are located at {SDK}\component\.

Items

Description

Location

basic_types.h

  • SUCCESS/FAIL

  • TRUE/FALSE

  • ENABLE/DISABLE

  • ON/OFF

  • NULL

  • u8/u16/u32/u64

  • BOOL

  • BIT x

\soc\amebadplus\fwlib\include

section_config.h

Section definition used in link script:

  • BOOT_RAM_DATA_SECTION

  • IMAGE2_RAM_TEXT_SECTION

\soc\amebadplus\fwlib\include

mbed API headers

Peripheral header files for mbed APIs.

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

\soc\amebadplus\hal

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.

\soc\amebadplus\fwlib\include