diff --git a/README.md b/README.md index 0701ac5..0afe8fe 100644 --- a/README.md +++ b/README.md @@ -91,11 +91,12 @@ A (mostly) complete* list of Tuya wireless module boards. ``` arduino/ -├─ / Arduino Core for specific platform -│ ├─ cores/ Core files -│ ├─ libraries/ Supported built-in libraries +├─ / Arduino Core for specific SoC +│ ├─ cores/ Wiring core files +│ ├─ libraries/ Supported built-in platform libraries ├─ libretuya/ -│ ├─ api/ LibreTuya API for Arduino frameworks +│ ├─ api/ LibreTuya API (interfaces + LT class) for Arduino frameworks +│ ├─ common/ Units common to all platforms │ ├─ compat/ Fixes for compatibility with ESP32 framework │ ├─ libraries/ Built-in platform-independent libraries boards/ @@ -109,6 +110,7 @@ builder/ │ ├─ -arduino.py Arduino Core build system ├─ arduino-common.py Builder to provide ArduinoCore-API and LibreTuya APIs ├─ main.py Main PlatformIO builder +├─ utils.py SCons utils used during the build docs/ Project documentation, guides, tips, etc. platform/ ├─ / Platform-specific configurations diff --git a/docs/platform/realtek-ambz/stdlib.md b/docs/platform/realtek-ambz/stdlib.md new file mode 100644 index 0000000..17caa3b --- /dev/null +++ b/docs/platform/realtek-ambz/stdlib.md @@ -0,0 +1,189 @@ +# C library + +The following is an auto-generated list of C standard library definitions included in the SDK. `Location` column contains the location of a matching symbol. + +## ctype.h + +### Character classification functions + +Definition | Value | Location +-----------|------------|--------- +`isalnum` | | +`isalpha` | | +`isblank` | | +`iscntrl` | | +`isdigit` | `in_range` | +`isgraph` | | +`islower` | `in_range` | +`isprint` | `in_range` | +`ispunct` | | +`isspace` | | +`isupper` | | +`isxdigit` | | + +## stdarg.h + +Definition | Value | Location +-----------|----------------------|--------- +`va_start` | `__builtin_va_start` | +`va_arg` | `__builtin_va_arg` | +`va_end` | `__builtin_va_end` | +`va_copy` | `__builtin_va_copy` | + +## stddef.h + +Definition | Value | Location +--------------|---------------------|--------- +`ptrdiff_t` | `long int` | +`size_t` | `long unsigned int` | +`max_align_t` | | +`nullptr_t` | | +`NULL` | | + +## stdint.h + +### Types + +Definition | Value | Location +-----------------|----------------------|--------- +`intmax_t` | `long int` | +`uintmax_t` | `long unsigned int` | +`int8_t` | `signed char` | +`uint8_t` | `unsigned char` | +`int16_t` | `short int` | +`uint16_t` | `short unsigned int` | +`int32_t` | `int` | +`uint32_t` | `unsigned int` | +`int64_t` | `long int` | +`uint64_t` | `long unsigned int` | +`int_least8_t` | `signed char` | +`uint_least8_t` | `unsigned char` | +`int_least16_t` | `short int` | +`uint_least16_t` | `short unsigned int` | +`int_least32_t` | `int` | +`uint_least32_t` | `unsigned int` | +`int_least64_t` | `long int` | +`uint_least64_t` | `long unsigned int` | +`int_fast8_t` | `signed char` | +`uint_fast8_t` | `unsigned char` | +`int_fast16_t` | `long int` | +`uint_fast16_t` | `long unsigned int` | +`int_fast32_t` | `long int` | +`uint_fast32_t` | `long unsigned int` | +`int_fast64_t` | `long int` | +`uint_fast64_t` | `long unsigned int` | +`intptr_t` | `long int` | +`uintptr_t` | `long unsigned int` | + +## stdio.h + +### Formatted input/output + +Definition | Value | Location +------------|-----------------|----------------- +`fprintf` | | +`fscanf` | | +`printf` | `rtl_printf` | `lib_rtlstd.a` +`scanf` | | +`snprintf` | `rtl_snprintf` | `lib_rtlstd.a` +`sprintf` | `rtl_sprintf` | `lib_rtlstd.a` +`sscanf` | `_sscanf_patch` | `lib_platform.a` +`vfprintf` | | +`vfscanf` | | +`vprintf` | | +`vscanf` | | +`vsnprintf` | `rtl_vsnprintf` | `lib_rtlstd.a` +`vsprintf` | | +`vsscanf` | | + +### Error-handling + +Definition | Value | Location +-----------|---------------|------------- +`clearerr` | `__sclearerr` | +`feof` | `__sfeof` | +`ferror` | `__sferror` | +`perror` | | `lib_mdns.a` + +## stdlib.h + +### String conversion + +Definition | Value | Location +-----------|------------------|--------- +`atof` | | +`atoi` | `prvAtoi` | ROM +`atol` | `simple_strtol` | ROM +`atoll` | | +`strtod` | | +`strtof` | | +`strtol` | `simple_strtol` | ROM +`strtold` | | +`strtoll` | | +`strtoul` | `simple_strtoul` | ROM +`strtoull` | | + +### Pseudo-random sequence generation + +Definition | Value | Location +-----------|--------|--------- +`rand` | `Rand` | ROM +`srand` | | + +### Dynamic memory management + +Definition | Value | Location +-----------|----------------|--------- +`calloc` | | +`free` | `vPortFree` | SDK +`malloc` | `pvPortMalloc` | SDK +`realloc` | | + +## string.h + +### Copying + +Definition | Value | Location +-----------|-----------------------|--------- +`memcpy` | `_memcpy` | ROM +`memmove` | `__rtl_memmove_v1_00` | ROM +`strcpy` | `_strcpy` | ROM +`strncpy` | `_strncpy` | ROM + +### Concatenation + +Definition | Value | Location +-----------|-----------------------|--------- +`strcat` | `__rtl_strcat_v1_00` | ROM +`strncat` | `__rtl_strncat_v1_00` | ROM + +### Comparison + +Definition | Value | Location +-----------|-------------|--------- +`memcmp` | `_memcmp` | ROM +`strcmp` | `prvStrCmp` | ROM +`strcoll` | | +`strncmp` | `_strncmp` | ROM +`strxfrm` | | + +### Searching + +Definition | Value | Location +-----------|----------------------|--------- +`memchr` | `__rtl_memchr_v1_00` | ROM +`strchr` | `_strchr` | ROM +`strcspn` | | +`strpbrk` | `_strpbrk` | ROM +`strrchr` | | +`strspn` | | +`strstr` | `prvStrStr` | ROM +`strtok` | `prvStrtok` | ROM + +### Other + +Definition | Value | Location +-----------|-------------|--------- +`memset` | `_memset` | ROM +`strerror` | | +`strlen` | `prvStrLen` | ROM diff --git a/mkdocs.yml b/mkdocs.yml index 8780daa..cf6b277 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -19,7 +19,8 @@ nav: - "Realtek AmebaZ Series": - "Boards": - "WR3": "boards/wr3/README.md" - - "stdlib usage": + - "C library": + - "Built-in functions": "docs/platform/realtek-ambz/stdlib.md" - "Memory management": "docs/platform/realtek-ambz/memory-management.md" - "Debugging": "docs/platform/realtek/debugging.md" - "Exception decoder": "docs/platform/realtek/exception-decoder.md"