Skip to content

Commit

Permalink
feat: Support esp8266 1MB module without OTA
Browse files Browse the repository at this point in the history
  • Loading branch information
xcguang committed Feb 21, 2020
1 parent c5cd179 commit 4643353
Show file tree
Hide file tree
Showing 9 changed files with 315 additions and 3 deletions.
64 changes: 64 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,70 @@ esp8266_wroom_02_at:
# - make print_flash_cmd | tail -n 1 > build/download.config
# - make factory_bin

esp8266_1MB_at:
stage: build
image: $CI_DOCKER_REGISTRY/esp8266-ci-env-new
tags:
- build

variables:
IDF_PATH: "$CI_PROJECT_DIR/esp-idf"
GIT_STRATEGY: clone

artifacts:
paths:
- build/*.bin
- build/*.elf
- build/*.map
- build/bootloader/*.bin
- build/partition_table/*.bin
- build/customized_partitions/*.bin
- build/flasher_args.json
- build/download.config
- build/factory/*
expire_in: 6 mos

before_script:
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo -n $GITLAB_KEY >> ~/.ssh/id_rsa_base64
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
- git submodule update --init --recursive

script:
- cd main
- rm -f at_config.h
- echo -e "#ifndef __AT_CONFIG_H__" >> at_config.h
- echo -e "#define __AT_CONFIG_H__" >> at_config.h
- echo -e "#define CONFIG_ESP_AT_OTA_TOKEN_WROOM_02 \"$AT_OTA_TOKEN_WROOM_02_1024_1024\"" >> at_config.h
- echo -e "#define CONFIG_ESP_AT_OTA_SSL_TOKEN_WROOM_02 \"$AT_OTA_TOKEN_WROOM_02_1024_1024\"" >> at_config.h
- echo -e "#define CONFIG_ESP_AT_OTA_TOKEN_WROOM_S2 \"$AT_OTA_TOKEN_WROOM_S2_1024_1024\"" >> at_config.h
- echo -e "#define CONFIG_ESP_AT_OTA_SSL_TOKEN_WROOM_S2 \"$AT_OTA_TOKEN_WROOM_S2_1024_1024\"" >> at_config.h
- echo -e "#endif" >> at_config.h
- cd -

# replace submodule esp-idf to internal repository to speedup cloning
- commit_str=$(awk '/commit:/{print $0}' module_config/module_esp8266_1mb/IDF_VERSION)
- branch_str=$(awk '/branch:/{print $0}' module_config/module_esp8266_1mb/IDF_VERSION)
- git clone -b ${branch_str#*branch:} ${GITLAB_SSH_SERVER}/sdk/ESP8266_RTOS_SDK.git esp-idf
- cd esp-idf
- git checkout ${commit_str#*commit:}
# (the same regular expressions are used to set these are used in 'only:' sections below
- source ./tools/ci/configure_ci_environment.sh
# fetch the submodules (& if necessary re-fetch repo) from gitlab
# - time ./tools/ci/get-full-sources.sh
- git submodule update --init
- cd -

- export ESP_AT_PROJECT_PLATFORM=PLATFORM_ESP8266
- export ESP_AT_MODULE_NAME=ESP8266_1MB
- export ESP_AT_PROJECT_PATH=$(pwd)
- ./esp-idf/tools/idf.py build
- cp build/flash_project_args build/download.config
# - make print_flash_cmd | tail -n 1 > build/download.config
# - make factory_bin

esp8266_wroom_5V2L_at:
stage: build
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ PLATFORM_ESP32,WROVER-32,0xfcfc,1,2,78,1,13,CN,115200,22,19,15,14,-1,-1
PLATFORM_ESP32,PICO-D4,0xfcfc,1,3,78,1,13,CN,115200,22,19,15,14,-1,-1
PLATFORM_ESP32,SOLO-1,0xfcfc,1,4,78,1,13,CN,115200,17,16,15,14,-1,-1
PLATFORM_ESP8266,WROOM-02,0xfcfc,1,0,78,1,13,CN,115200,15,13,3,1,-1,-1
PLATFORM_ESP8266,WROOM-5V2L,0xfcfc,1,1,78,1,13,CN,115200,15,13,3,1,5,-1
PLATFORM_ESP8266,WROOM-5V2L,0xfcfc,1,1,78,1,13,CN,115200,15,13,3,1,5,-1
PLATFORM_ESP8266,ESP8266_1MB,0xfcfc,1,2,78,1,13,CN,115200,15,13,3,1,-1,-1
3 changes: 3 additions & 0 deletions module_config/module_esp8266_1mb/IDF_VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
branch:release/v3.3
commit:0a187af845c780ea93863b25fbbe80bf56a4cdca
repository:https://github.com/espressif/ESP8266_RTOS_SDK.git
8 changes: 8 additions & 0 deletions module_config/module_esp8266_1mb/at_customize.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Name,Type,SubType,Offset,Size
factory_param,0x40,8,0x19000,4K
client_cert,0x40,5,0x1A000,4K
client_key,0x40,6,0x1B000,4K
client_ca,0x40,7,0x1C000,4K
mqtt_cert,0x40,11,0x1D000,4K
mqtt_key,0x40,12,0x1E000,4K
mqtt_ca,0x40,13,0x1F000,4K
6 changes: 6 additions & 0 deletions module_config/module_esp8266_1mb/partitions_at.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Name, Type, SubType, Offset, Size
otadata,data,ota,0x9000,8K
phy_init, data, phy,0xf000,0x1000
nvs,data,nvs,0x10000,0x8000
at_customize,0x40,0,0x18000,0x8000
factory,app,factory,0x20000,0xE0000
114 changes: 114 additions & 0 deletions module_config/module_esp8266_1mb/sdkconfig.defaults
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
#
# Automatically generated file; DO NOT EDIT.
# Espressif IoT Development Framework Configuration
#
CONFIG_IDF_TARGET_ESP8266=y

#
# Serial flasher config
#
CONFIG_ESPTOOLPY_FLASHMODE="dio"
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y

#
# Partition Table
#
# CONFIG_PARTITION_TABLE_SINGLE_APP is not set
# CONFIG_PARTITION_TABLE_TWO_OTA is not set
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="module_config/module_esp8266_1mb/partitions_at.csv"
CONFIG_PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET=0x10000
CONFIG_PARTITION_TABLE_CUSTOM_PHY_DATA_OFFSET=0xf000
CONFIG_PARTITION_TABLE_FILENAME="module_config/module_esp8266_1mb/partitions_at.csv"
CONFIG_APP1_OFFSET=0x10000
CONFIG_APP1_SIZE=0xAF000
CONFIG_PHY_DATA_OFFSET=0xf000
CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set

CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION=y

#
# AT Customized Partitions
#
CONFIG_AT_CUSTOMIZED_PARTITION_TABLE_FILE="module_config/module_esp8266_1mb/at_customize.csv"
CONFIG_AT_CUSTOMIZED_PARTITION_TABLE_OFFSET=0x18000
#
# ESP8266-specific
#
CONFIG_CONSOLE_UART_CUSTOM=y
CONFIG_CONSOLE_UART_CUSTOM_NUM_1=y
CONFIG_CONSOLE_UART_BAUDRATE=115200

#
# FreeRTOS
#
CONFIG_FREERTOS_HZ=1000
CONFIG_USE_QUEUE_SETS=y

#
# LWIP
#
# CONFIG_L2_TO_L3_COPY is not set
CONFIG_LWIP_SO_REUSE=y
CONFIG_LWIP_SO_RCVBUF=y
CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=3
CONFIG_LWIP_IP_FRAG=y
CONFIG_LWIP_IP_REASSEMBLY=y
CONFIG_TCP_MAXRTX=6
CONFIG_TCP_SYNMAXRTX=3
CONFIG_LWIP_RAW=y
CONFIG_LWIP_NETIF_LOOPBACK=y

#
# mDNS
#
CONFIG_ENABLE_MDNS=y
CONFIG_MDNS_MAX_SERVICES=5

#
# SSL
#
CONFIG_ESP_TLS_USING_WOLFSSL=y
CONFIG_ESP_WOLFSSL_INTERNAL=y

#
# wpa_supplicant
#
CONFIG_LTM_FAST=

CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
CONFIG_MBEDTLS_RSA_BITLEN_2048=y

# ESP-TLS
CONFIG_ESP_WOLFSSL_INTERNAL=y

# MQTT
CONFIG_MQTT_USE_CUSTOM_CONFIG=y
CONFIG_MQTT_BUFFER_SIZE=512
CONFIG_MQTT_TASK_STACK_SIZE=2048

# AT
#
CONFIG_AT_ENABLE=y
CONFIG_AT_BASE_ON_UART=y
CONFIG_AT_TASK_STACK_SIZE=2048
CONFIG_AT_SSL_SERVER_SERVER_AUTH_CLIENT=n
CONFIG_AT_SSL_SERVER_CLIENT_AUTH_SERVER=n
CONFIG_AT_MQTT_COMMAND_SUPPORT=y
CONFIG_AT_OTA_SUPPORT=n
CONFIG_AT_OTA_SERVER_IP="iot.espressif.cn"
CONFIG_AT_OTA_SERVER_PORT=80
CONFIG_AT_OTA_TOKEN_KEY="dd93253c287f725de50d4071a05dd28b72056ca7"
CONFIG_AT_OTA_SSL_TOKEN_KEY="dd93253c287f725de50d4071a05dd28b72056ca7"
CONFIG_AT_SOCKET_MAX_CONN_NUM=5
CONFIG_ESP_AT_FW_VERSION="2.0.0"

#######
CONFIG_SUPPORT_TERMIOS=n
CONFIG_NEWLIB_LIBRARY_LEVEL_FLOAT_NANO=y
CONFIG_ESP_ERR_TO_NAME_LOOKUP=n

CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
116 changes: 116 additions & 0 deletions module_config/module_esp8266_1mb/sdkconfig_silence.defaults
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
#
# Automatically generated file; DO NOT EDIT.
# Espressif IoT Development Framework Configuration
#
CONFIG_IDF_TARGET_ESP8266=y

#
# Serial flasher config
#
CONFIG_ESPTOOLPY_FLASHMODE="dio"
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y

#
# Partition Table
#
# CONFIG_PARTITION_TABLE_SINGLE_APP is not set
# CONFIG_PARTITION_TABLE_TWO_OTA is not set
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="module_config/module_esp8266_1mb/partitions_at.csv"
CONFIG_PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET=0x10000
CONFIG_PARTITION_TABLE_CUSTOM_PHY_DATA_OFFSET=0xf000
CONFIG_PARTITION_TABLE_FILENAME="module_config/module_esp8266_1mb/partitions_at.csv"
CONFIG_APP1_OFFSET=0x10000
CONFIG_APP1_SIZE=0xAF000
CONFIG_PHY_DATA_OFFSET=0xf000
CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set

CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION=y

#
# AT Customized Partitions
#
CONFIG_AT_CUSTOMIZED_PARTITION_TABLE_FILE="module_config/module_esp8266_1mb/at_customize.csv"
CONFIG_AT_CUSTOMIZED_PARTITION_TABLE_OFFSET=0x18000
#
# ESP8266-specific
#
CONFIG_CONSOLE_UART_CUSTOM=y
CONFIG_CONSOLE_UART_CUSTOM_NUM_1=y
CONFIG_CONSOLE_UART_BAUDRATE=115200

#
# FreeRTOS
#
CONFIG_FREERTOS_HZ=1000
CONFIG_USE_QUEUE_SETS=y

#
# LWIP
#
# CONFIG_L2_TO_L3_COPY is not set
CONFIG_LWIP_SO_REUSE=y
CONFIG_LWIP_SO_RCVBUF=y
CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=3
CONFIG_LWIP_IP_FRAG=y
CONFIG_LWIP_IP_REASSEMBLY=y
CONFIG_TCP_MAXRTX=6
CONFIG_TCP_SYNMAXRTX=3
CONFIG_LWIP_RAW=y
CONFIG_LWIP_NETIF_LOOPBACK=y

#
# mDNS
#
CONFIG_ENABLE_MDNS=y
CONFIG_MDNS_MAX_SERVICES=5

#
# SSL
#
CONFIG_ESP_TLS_USING_WOLFSSL=y
CONFIG_ESP_WOLFSSL_INTERNAL=y

#
# wpa_supplicant
#
CONFIG_LTM_FAST=

CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
CONFIG_MBEDTLS_RSA_BITLEN_2048=y

# ESP-TLS
CONFIG_ESP_WOLFSSL_INTERNAL=y

# MQTT
CONFIG_MQTT_USE_CUSTOM_CONFIG=y
CONFIG_MQTT_BUFFER_SIZE=512
CONFIG_MQTT_TASK_STACK_SIZE=2048

# AT
#
CONFIG_AT_ENABLE=y
CONFIG_AT_BASE_ON_UART=y
CONFIG_AT_TASK_STACK_SIZE=2048
CONFIG_AT_SSL_SERVER_SERVER_AUTH_CLIENT=n
CONFIG_AT_SSL_SERVER_CLIENT_AUTH_SERVER=n
CONFIG_AT_MQTT_COMMAND_SUPPORT=y
CONFIG_AT_OTA_SUPPORT=n
CONFIG_AT_OTA_SERVER_IP="iot.espressif.cn"
CONFIG_AT_OTA_SERVER_PORT=80
CONFIG_AT_OTA_TOKEN_KEY="dd93253c287f725de50d4071a05dd28b72056ca7"
CONFIG_AT_OTA_SSL_TOKEN_KEY="dd93253c287f725de50d4071a05dd28b72056ca7"
CONFIG_AT_SOCKET_MAX_CONN_NUM=5
CONFIG_ESP_AT_FW_VERSION="2.0.0"

#######
CONFIG_SUPPORT_TERMIOS=n
CONFIG_NEWLIB_LIBRARY_LEVEL_FLOAT_NANO=y
CONFIG_ESP_ERR_TO_NAME_LOOKUP=n

CONFIG_LOG_DEFAULT_LEVEL_NONE=y
CONFIG_FREERTOS_ASSERT_DISABLE=y
CONFIG_OPTIMIZATION_ASSERTIONS_SILENT=y
2 changes: 1 addition & 1 deletion module_config/module_esp8266_default/sdkconfig.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ CONFIG_PARTITION_TABLE_FILENAME="module_config/module_esp8266_default/partitions
CONFIG_APP1_OFFSET=0x10000
CONFIG_APP1_SIZE=0xAF000
CONFIG_PHY_DATA_OFFSET=0xf000
CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set

CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION=y
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ CONFIG_PARTITION_TABLE_FILENAME="module_config/module_esp8266_default/partitions
CONFIG_APP1_OFFSET=0x10000
CONFIG_APP1_SIZE=0xAF000
CONFIG_PHY_DATA_OFFSET=0xf000
CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set

CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION=y
Expand Down

0 comments on commit 4643353

Please sign in to comment.