提交 cb3b3181 编写于 作者: H HonestQiao 提交者: skylarCai

add espressif_esp32_c3 for ESP32-C3

上级 66a7a380
@page espressif_esp32_c3 ESP32-C3编译支持
[更正文档](https://gitee.com/alios-things/hardware/chip/espressif_esp32_c3/README.md)      [贡献说明](https://help.aliyun.com/document_detail/302301.html)
# 概述
espressif_esp32_c为HaaS-Python提供ESP32-C3编译支持
## 版权信息
> Apache license v2.0
进行ESP32-C3编译,需要安装ESP-IDF v4.4环境,并修改必要的文件(2个),具体操作,请详细查看 hardware/board/nodemcu32s_c3README.md
Import('defconfig')
defconfig.library_yaml()
#!/usr/bin/env bash
# store workdir path
workdir=$PWD
echo "workdir = ${workdir}"
# get shelldir path
shelldir=$(cd $(dirname ${BASH_SOURCE[0]}); pwd )
echo "shelldir = ${shelldir}"
cd ${shelldir}/esp-idf
./install.sh
cd ${workdir}
\ No newline at end of file
## 第一部分: 基础信息
name: espressif_esp32_c3 # <必选项> 包名称 (符合C语言变量命名规则),长度少于等于64字节
version: dev_aos # <必选项> 组件版本号
description: esp-idf for esp32-c3 # <必选项> 建议至少20字以上
type: chip # <必选项> 组件类型,为:solution, chip, board, common, sdk
tag: 核心模块 # <可选项> 组件分类,缺省值: ''
keywords: # <可选项> 标签,会影响到组件被搜索的效果,合理的标签很重要
- base
license: Apache license v2.0 # <可选项> 源代码的许可证,要确保所有代码、文件的许可证不冲突。如:MIT,Apache license v2.0,BSD
# 指定该组件依赖的组件及版本,版本支持条件比较,支持:>=v1.0, >v1.0, ==v1.0, <=v1.0, <v1.0, v1.0
# 未指定条件时,默认为 ==,如 v1.0 与 ==v1.0
# depends: # <可选项> 该组件依赖其他的组件,合理的依赖才能保证组件能编译、使用
# - libc_stub: dev_aos
# - aos: >=v7.2.0
## 第四部分:编译连接信息
# build_config: # <可选项> 编译配置项
# include: # <可选项> 编译时,影响编译器的-I 参数 ,全局有效
# - src # include 只能是该软件包下的目录,不能使用外部目录
# internal_include: # <可选项> 编译时,影响编译器的-I 参数 ,组件内有效
# - include
# cflag: '' # <可选项> C 编译器所需要要的编译参数
# cxxflag: '' # <可选项> CXX 编译器所需要要的编译参数
# asmflag: '' # <可选项> 汇编器所需要要参数
# define: # <可选项> 宏定义, 增加编译器的-D 选项,如:
# XXX: 1 # -DXXX=1
# AAA: 1 # -DAAA
# STR: "abc" # -DSTR="abc"
# libs: # 该组件中支持的二进制静态库,如:libxxx.a, libyyy.a
# - xxx # -lxxx
# - yyy # -lyyy
# libpath: # 指定静态库所在的路径(相对于该组件路径)
# - libs # -Llibs
build_config:
cflag: >
-march=rv32imc -ffunction-sections -fdata-sections -Wall -Wextra -Wno-unused-parameter
-Wno-sign-compare -ggdb -nostartfiles -Wno-format -O2 -fstrict-volatile-bitfields
-fno-jump-tables -fno-tree-switch-conversion -std=gnu99 -Wno-old-style-declaration
-Wno-clobbered -Wno-deprecated-declarations -Wno-missing-field-initializers -DKERNEL=FREERTOS
cxxflag: >
-march=rv32imc -ffunction-sections -fdata-sections -Wall -Wextra -Wno-unused-parameter
-Wno-sign-compare -ggdb -nostartfiles -Wno-format -O2 -fstrict-volatile-bitfields
-fno-jump-tables -fno-tree-switch-conversion -std=gnu99 -Wno-old-style-declaration
-Wno-clobbered -Wno-deprecated-declarations -Wno-missing-field-initializers
-std=gnu++11 -fno-exceptions -fno-rtti -fpermissive -DKERNEL=FREERTOS
ldflag: >
-march=rv32imc -nostartfiles --specs=nosys.specs -Wl,--cref -Wl,--Map="aos.map" -Wl,--gc-sections
-fno-rtti -fno-lto -Wl,--wrap=vPortCleanUpTCB
-uesp_app_desc -upthread_include_pthread_impl -upthread_include_pthread_cond_impl -u__ubsan_include
-upthread_include_pthread_local_storage_impl -upthread_include_pthread_rwlock_impl
-u__cxx_fatal_exception -uvfs_include_syscalls_impl -uapp_main -unewlib_include_heap_impl
-unewlib_include_syscalls_impl -unewlib_include_pthread_impl -unewlib_include_assert_impl
-u__cxa_guard_dummy -Tmemory.ld -Tsections.ld -Tesp32c3.rom.ld -Tesp32c3.rom.api.ld
-Tesp32c3.rom.libgcc.ld -Tesp32c3.rom.newlib.ld -Tesp32c3.rom.version.ld -Tesp32c3.rom.eco3.ld
-Tesp32c3.peripherals.ld -Wl,--undefined=uxTopUsedPriority
-Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting -Wl,--wrap=__register_frame_info_bases
-Wl,--wrap=__register_frame_info -Wl,--wrap=__register_frame
-Wl,--wrap=__register_frame_info_table_bases -Wl,--wrap=__register_frame_info_table
-Wl,--wrap=__register_frame_table -Wl,--wrap=__deregister_frame_info_bases
-Wl,--wrap=__deregister_frame_info -Wl,--wrap=_Unwind_Find_FDE -Wl,--wrap=_Unwind_GetGR
-Wl,--wrap=_Unwind_GetCFA -Wl,--wrap=_Unwind_GetIP -Wl,--wrap=_Unwind_GetIPInfo
-Wl,--wrap=_Unwind_GetRegionStart -Wl,--wrap=_Unwind_GetDataRelBase
-Wl,--wrap=_Unwind_GetTextRelBase -Wl,--wrap=_Unwind_SetIP -Wl,--wrap=_Unwind_SetGR
-Wl,--wrap=_Unwind_GetLanguageSpecificData -Wl,--wrap=_Unwind_FindEnclosingFunction
-Wl,--wrap=_Unwind_Resume -Wl,--wrap=_Unwind_RaiseException
-Wl,--wrap=_Unwind_DeleteException -Wl,--wrap=_Unwind_ForcedUnwind
-Wl,--wrap=_Unwind_Resume_or_Rethrow -Wl,--wrap=_Unwind_Backtrace
-Wl,--wrap=__cxa_call_unexpected -Wl,--wrap=__gxx_personality_v0
-lstdc++ -lgcc -lgcov -lc -lm -z muldefs
include:
- esp-idf/components/newlib/platform_include
- esp-idf/components/freertos/include
- esp-idf/components/freertos/include/esp_additions/freertos
- esp-idf/components/freertos/port/riscv/include
- esp-idf/components/freertos/include/esp_additions
- esp-idf/components/esp_hw_support/include
- esp-idf/components/esp_hw_support/include/soc
- esp-idf/components/esp_hw_support/include/soc/esp32c3
- esp-idf/components/esp_hw_support/port/esp32c3
- esp-idf/components/esp_hw_support/port/esp32c3/private_include
- esp-idf/components/heap/include
- esp-idf/components/log/include
- esp-idf/components/lwip/include/apps
- esp-idf/components/lwip/include/apps/sntp
- esp-idf/components/lwip/lwip/src/include
- esp-idf/components/lwip/port/esp32/include
- esp-idf/components/lwip/port/esp32/include/arch
- esp-idf/components/soc/include
- esp-idf/components/soc/esp32c3
- esp-idf/components/soc/esp32c3/include
- esp-idf/components/hal/esp32c3/include
- esp-idf/components/hal/include
- esp-idf/components/hal/platform_port/include
- esp-idf/components/esp_rom/include
- esp-idf/components/esp_rom/include/esp32c3
- esp-idf/components/esp_rom/esp32c3
- esp-idf/components/esp_common/include
- esp-idf/components/esp_system/include
- esp-idf/components/esp_system/port/soc
- esp-idf/components/esp_system/port/include/riscv
- esp-idf/components/esp_system/port/public_compat
- esp-idf/components/riscv/include
- esp-idf/components/driver/include
- esp-idf/components/driver/esp32c3/include
- esp-idf/components/esp_pm/include
- esp-idf/components/esp_ringbuf/include
- esp-idf/components/efuse/include
- esp-idf/components/efuse/esp32c3/include
- esp-idf/components/vfs/include
- esp-idf/components/esp_wifi/include
- esp-idf/components/esp_event/include
- esp-idf/components/esp_netif/include
- esp-idf/components/esp_eth/include
- esp-idf/components/tcpip_adapter/include
- esp-idf/components/esp_phy/include
- esp-idf/components/esp_phy/esp32c3/include
- esp-idf/components/esp_ipc/include
- esp-idf/components/app_trace/include
- esp-idf/components/esp_timer/include
- esp-idf/components/app_update/include
- esp-idf/components/spi_flash/include
- esp-idf/components/bootloader_support/include
- esp-idf/components/bt/common/osi/include
- esp-idf/components/bt/include/esp32c3/include
- esp-idf/components/bt/common/api/include/api
- esp-idf/components/bt/common/btc/profile/esp/blufi/include
- esp-idf/components/bt/common/btc/profile/esp/include
- esp-idf/components/bt/host/nimble/nimble/porting/nimble/include
- esp-idf/components/bt/host/nimble/port/include
- esp-idf/components/bt/host/nimble/nimble/nimble/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/services/ans/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/services/bas/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/services/dis/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/services/gap/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/services/gatt/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/services/ias/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/services/ipss/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/services/lls/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/services/tps/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/util/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/store/ram/include
- esp-idf/components/bt/host/nimble/nimble/nimble/host/store/config/include
- esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include
- esp-idf/components/bt/host/nimble/esp-hci/include
- esp-idf/components/nvs_flash/include
- esp-idf/components/mbedtls/port/include
- esp-idf/components/mbedtls/mbedtls/include
- esp-idf/components/mbedtls/esp_crt_bundle/include
- esp-idf/components/mdns/include
- esp-idf/components/console
- esp-idf/components/sdmmc/include
- esp-idf/components/fatfs/vfs
- esp-idf/components/fatfs/src
- esp-idf/components/wear_levelling/include
- esp-idf/components/json/cJSON
- esp-idf/components/soc/esp32s3/include
libs:
- esp_ringbuf
- efuse
- esp_ipc
- driver
- esp_pm
- mbedtls
- mbedcrypto
- mbedx509
- coexist
- core
- espnow
- mesh
- net80211
- pp
- smartconfig
- wapi
- app_update
- bootloader_support
- spi_flash
- nvs_flash
- pthread
- esp_gdbstub
- espcoredump
- esp_phy
- esp_system
- esp_rom
- hal
- vfs
- esp_eth
- tcpip_adapter
- esp_netif
- esp_event
- wpa_supplicant
- esp_wifi
- console
- lwip
- log
- heap
- soc
- esp_hw_support
- riscv
- esp_common
- esp_timer
- freertos
- newlib
- cxx
- app_trace
- asio
- bt
- cbor
- unity
- cmock
- coap
- nghttp
- esp-tls
- esp_adc_cal
- esp_hid
- tcp_transport
- esp_http_client
- esp_http_server
- esp_https_ota
- esp_lcd
- protobuf-c
- protocomm
- mdns
- esp_local_ctrl
- sdmmc
- esp_serial_slave_link
- esp_websocket_client
- expat
- wear_levelling
- fatfs
- freemodbus
- jsmn
- json
- liblibsodium
- mqtt
- openssl
- spiffs
- wifi_provisioning
- main
- btdm_app
- btbb
- phy
libpath:
- esp-idf/components/bt/controller/lib_esp32c3_family/esp32c3
- esp-idf/components/esp_phy/lib/esp32c3
- esp-idf/components/esp_wifi/lib/esp32c3
- esp-idf/components/soc/esp32c3/ld
- esp-idf/components/esp_rom/esp32c3/ld
## 第五部分:配置信息
def_config: # 组件的可配置项
IDF_VER: "8153bfe4"
ESP_PLATFORM: 1
OS_FREERTOS: 1
MBEDTLS_CONFIG_FILE: "mbedtls/esp_config.h"
CONFIG_ESP_DISPATCHER_DELEGATE_TASK_CORE: 0
CONFIG_ESP_DISPATCHER_DELEGATE_TASK_PRIO: 10
CONFIG_ESP_DISPATCHER_DELEGATE_STACK_SIZE: 4096
hw_info:
arch_name: riscv
cpu_name: ESP32-C3
toolchain_prefix: riscv32-esp-elf
vendor_name: espressif
ld_script: espressif_idf.lds
## 第六部分:安装信息
# install:
# - dest: include/ # 安装的目的路径 dest是相当路径,通常是相对于YoC SDK 安装目录
# source: # 安装源列表
# - src/*.h # 支持通配符,相对路径
# install:
# - dest: "include"
# source:
# - hal/2ndboot/*.h
# - aos/*.h
# - aos/arch/*.h
# - drivers/platform/hal/*.h
# - drivers/platform/cmsis/inc/*.h
# - drivers/rtos/rhino/cmsis/*.h
# - drivers/utils/hwtimer_list/*.h
# - drivers/platform/hal/haas1000/*.h
# - drivers/services/wifi_app/alsa_adapter/*.h
# - dest: "lib"
# source:
# - drivers/libmcuhaas1000.a ? <!CONFIG_A7_DSP_ENABLE>
# - drivers/libmcuhaas1000_a7.a ? <CONFIG_A7_DSP_ENABLE>
## 第七部分:导出部分
# export:
# - dest: "<SOLUTION_PATH>/generated/data" # 安装的目的路径 dest是相当路径
# source: # 安装源列表
# - "bootimgs/boot"
# - "bootimgs/tee"
# - "bootimgs/mtb"
# - "configs/config.yaml"
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册