2a-esp8266-sdk getting started guide cn - espressif

32
ESP8266 SDK 指南 版本 3.4 乐鑫信息科技 版权所有 © 2020

Upload: others

Post on 18-Dec-2021

42 views

Category:

Documents


0 download

TRANSCRIPT

2a-esp8266-sdk_getting_started_guide_cn 3.4 © 2020
ESP-LAUNCHER ESP-WROOM-02 ESP8266 SDK V2.X SDK
ESP-IDF style ESP8266_RTOS_SDK V3.0 ESP8266_RTOS_SDK/docs


2016.04 V2.0
2016.07 V2.1 A MXIC Flash QIO 112 0
2016.07 V2.2 3.3.1
2016.08 V2.3 3.3.1
2016.10 V2.4 4.1.1
2016.11 V2.5 B—
2017.01 V2.6 B.2— RTOS non-OS
2017.02 V2.7
3.3.1 OVA 5.1.2
2017.05 V2.8 4 8 MB 16 MB flash
2017.11 V2.9
1 1-1
4 4-1 4 4-1 4-2 4-3 4-4
2018.03 V3.0 4.1.1 4 4-1
2018.06 V3.1 4.2.1 4-3
2019.02 V3.2 A
2019.12 V3.3 ESP8266_RTOS_SDK V3.0
2020.09 V3.4 6.3

1.4. ESP8266 FW 2 ..............................................................................................................................
1.5. ESP8266 3 .........................................................................................................................
2. 4 .................................................................................................................................
3.3. ESP8266 9 .........................................................................................................................
5.2. 18 ...................................................................................................................................
B. — 25 .....................................................................................................................
!
1-1
1.2. ESP8266 HDK ESP8266 Hardware Development Kit (HDK) ESP8266EX ESP- WROOM-02 ESP-LAUNCHER ESP-WROOM-02 ESP-LAUNCHER
ESP8266 HDK
3 .
ESP-LAUNCHER
2 .
• ESP8266EX • ESP-WROOM-02 ESP-LAUNCHER
https://espressif.taobao.com
" 1.
1.3. ESP8266 SDK ESP8266 Software Development Kit (SDK) (IoT)
SDK non-OS RTOS
1.3.1. Non-OS SDK
Non-OS SDK SDK IOT_Demo AT Non-OS SDK
Non-OS SDK espconn espconn
1.3.2. RTOS SDK
RTOS SDK FreeRTOS Github
• RTOS SDK FreeRTOS OS FreeRTOS FreeRTOS USING THE FreeRTOS REAL TIME KERNEL—A Practical Guide
• RTOS SDK lwIP API BSD Socket API Socket API Socket
• RTOS SDK cJSON JSON
• RTOS non-OS SDK Wi-Fi SmartConfig Sniffer FOTA AT
1.4. ESP8266 FW ESP8266 Firmware (FW) ESP8266 HDK BIN Firmware Over-The-AirFOTA non-FOTA BIN 1-1
1-1. ESP8266 FW
esp_init_data_default.bin SDK

1.5. ESP8266 1.5.1.
ESP8266 SDK Linux Windows VirtualBox ESP8266 SDK ESP8266 OVA ESP8266 SDK
1.5.2.
ESP8266 DOWNLOAD TOOL Flash BIN ESP8266 SPI Flash
1.5.3.
RS-232 ESP8266 PC USB
blank.bin SDK

boot.bin Bootloader SDK

Non-FOTA FOTA
• SDK “ 3 ” • SDK “ 5 SDK” • BIN Flash “ 4 Flash ”

CoolTermWindows Mac MinicomLinux
Espressif " /273 2020.09
2. 2-1
2.1. 1. USB PC ESP-LAUNCHER USB-UART
2.
2-1.

• 1 ESP-WROOM-02 • 1 USB TTL FT232R • 6 • 1
Windows PC

" "" "
• GPIO0 (GPIO0 Control) ESP-LAUNCHER

"
5. (Chip Switch)
6. (ESP8266 DOWNLOAD TOOL) Flash
7. GPIO0 (GPIO0 Control) ESP-LAUNCHER

8. (Chip Switch) Flash
2.2. 1. 2-2 ESP-WROOM-02
2. 2-1 ESP-WROOM-02 USB TTL

PC USB TTL
“ 4 Flash ”“ 6 ”
2-2. ESP-WROOM-02
GND GND
4. (ESP8266 DOWNLOAD TOOL) Flash
5. ESP-WROOM-02
IO0
——
PC
“ 4 Flash ”“ 6 ”
• IO0
Espressif " /276 2020.09
"
• bin BIN Flash
• documentsSDK
• examples IoT Demo
• includeSDK API
• ld
• libSDK
• RTOS SDK https://github.com/espressif/ESP8266_RTOS_SDK
Espressif " /277 2020.09
"
• bin BIN Flash
• documentsSDK
- project_template
- smart_config SmartConfig
- spiffs_test SPIFFS
- websocket_demo WebSocket
• includeSDK API
• ld
• libSDK
• third_party freeRTOSJSONlwIP, mbedTLSnoPollOpenSSLSPIFFS SSL
• tools BIN
Espressif " /278 2020.09
VirtualBoxhttps://www.virtualbox.org/wiki/Downloads
VirtualBox Windows V.5.0.16
• Oracle VM VirtualBox.exe

2.
• C: \ESP8266_lubuntu_20141021.ova Next
• Import
Settings > Shared Folders…
• Machine Folders D:\VM\share
4.
• VirtualBox ESP8266_lubuntu
• ESP8266_lubuntu Start


" 4. Flash
4. Flash non-FOTA FOTA Flash
Flash 4-1

• Flash 12 KB
• RF_CAL RF
• RF esp_int_data_default.bin
eagle.flash.bin
eagle.irom0text.bin
N%
N%
Espressif " /2712 2020.09
" 4. Flash
4.1. Non-FOTA 4.1.1.
SDK irom0.text eagle.app.v6.ld eagle.irom0.text.bin 4-2 eagle.irom0.text.bin
"
• Flash 4 KB
• “4.1.2 ” “4.2.2 ”
4-1. Non-FOTA Flash KB
Flash eagle.flash.bin eagle.irom0text.bin len RF_CAL
RF
16*1024 ≤ 64 ≤ 768 ≥ 176 0xC0000 4 4 12
Espressif " /2713 2020.09
" 4. Flash
BIN Flash
eagle.flash.bin 0x00000
eagle.irom0text.bin 0x10000
• ESP Flash Download Tool
• 8 MB 16 MB Flash esptool
4-3. FOTA Flash KB
Flash boot user1.bin user2.bin RF_CAL
RF
512 4 ≤ 232 ≤ 232 4 4 12 ≥ 0
1024 4 ≤ 488 ≤ 488 4 4 12 ≥ 0
2048 1 512 4 ≤ 488 ≤ 488 4 4 12 ≥ 1024
2048 1 1024 4 ≤ 1000 ≤ 1000 4 4 12 ≥ 0
4096 1 512 4 ≤ 488 ≤ 488 4 4 12 ≥ 3072
4096 1 1024 4 ≤ 1000 ≤ 1000 4 4 12 ≥ 2048
Espressif " /2714 2020.09
FOTA 4-4
8192 1 1024 4 ≤ 1000 ≤ 1000 4 4 12 ≥ 6144
16384 1 1024 4 ≤ 1000 ≤ 1000 4 4 12 ≥ 14336
Flash boot user1.bin user2.bin RF_CAL
RF
BIN
512 1024 2048 4096 8192 16384
512+512 1024+1024 512+512 1024+1024 1024+1024 1024+1024
blank.bin 0x7B000 0xFB000 0x1FB000 0x3FB000 0x7FB000 0xFFB000
esp_init_data _default.bin 0x7C000 0xFC000 0x1FC000 0x3FC000 0x7FC000 0xFFC000
blank.bin 0x7E000 0xFE000 0x1FE000 0x3FE000 0x7FE000 0xFFE000
boot.bin 0x00000
user1.bin 0x01000

• ESP Flash Download Tool
• 8 MB 16 MB Flash esptool
• FOTA user2.bin
Espressif " /2715 2020.09
1. Windows
2. Flash ESP8266_NONOS_SDK/examples/IoT_Demo/include
• user_light.h user_plug.h #define PRIV_PARAM_START_SEC
"
user_config.h Smart Light

5-1. include KB
512
Espressif " /2716 2020.09
" 5. SDK
2. LXTerminal
3.
4.
export SDK_PATH=~/Share/ESP8266_RTOS_SDK
export BIN_PATH=~/Share/ESP8266_RTOS_SDK/bin

• ESP8266_NONOS_SDK D:\VM\share
• IoT_Demo D: \VM\share\ESP8266_NONOS_SDK

• ESP8266_NONOS_SDK
-

RTOS SDK 5 non-OS SDK 5
Espressif " /2717 2020.09
" 5. SDK
1. /Share/ESP8266_NONOS_SDK/IoT_Demo
2. 5-1
!
0 1 2
0
STEP 1: choose boot version (0=boot_v1.1, 1=boot_v1.2+, 2=none) enter(0/1/2, default 2)
STEP 2: choose bin generate (0=eagle.flash.bin+eagle.irom0text.bin , 1=user1.bin, 2=user2.bin) enter (0/1/2, default 0)
N
Y
2
N
1Y
0 1 2 3 STEP 3: choose spi speed (0=20MHz, 1=26.7MHz, 2=40MHz, 3=80MHz) enter (0/1/2/3, default 2)
0 1 2 3 STEP 4: choose spi mode (0=QIO, 1=QOUT, 2=DIO, 3=DOUT) enter (0/1/2/3, default 0)
0 2 3 STEP 5: choose spi size and map 0= 512KB( 256KB+ 256KB) enter (0/2/3/4/5/6, default 0)
4 5 6
Espressif " /2718 2020.09
" 5. SDK
Generate user1.2048.new.3.bin successfully in folder bin/upgrade.
boot.bin------------>0x00000
1. ./gen_misc_plus.sh 1 /ESP8266_NONOS_SDK/bin/upgrade user1.bin
2. make clean
3. ./gen_misc_plus.sh 2 /ESP8266_NONOS_SDK/bin/upgrade user2.bin


• FOTA non-FOTA BIN “1.4 ESP8266 FW”
• 5 5 6 sdk_v1.1.0 + boot 1.4 + flash download tool_v1.2
• user1.bin make clean user2.bin
• 5 Flash “ 4 Flash ”


2. ESP_DOWNLOAD_TOOL.exe Flash

RFConfig
" 6.
3. Download Path Config " BIN ADDR
4. SPIDownload

SPI Flash “ 4 Flash ”
6-1. SPIDownload
Default SPI Flash
SPI SPEED SPI Flash 80 MHz
SPI MODE
Flash Flash Dual SPI DIO DOUT Flash Quad SPI QIO QOUT

ISSI Flash“- ISSI & MXIC Flash QIO ”
FLASH SIZE
16Mbit-C1 1024+1024 32Mbit-C1 1024+1024
SpiAutoSet SpiAutoSet Flash SpiAutoSet Flash map 16 Mbit 32 Mbit Flash map 512 Kbyte + 512 Kbyte
DoNotChgBin
• Flash
Download Panel
STOP STOP
MAC Address ESP8266 STA ESP8266 AP MAC
COM PORT ESP8266 COM
BAUDRATE 115200
" 6.
5. ESP-LAUNCHER GPIO0 Control
6.2.

6.2.1. ESP8266 IOT Demo
ESP8266 IOT Demo SDK “finish”
SDK version:X.X.X(e67da894)

• 69120 24 MHz • 74880 26 MHz • 115200 40 MHz
ESP8266 AT 115200 ESP8266 IOT_Demo 74880
8


6.2.2. ESP8266 AT
ESP8266 AT “Ready”“AT”“OK”

• AT 115200 ESP8266 74880 “Ready”
• AT ESP8266 AT
Espressif " /2723 2020.09
A. — Flash DIO QIO
flash ISSI MXIC flash DIO QIO A-1 blank.bin 2 ESP8266 blank.bin 2 A-1 QIO blank.bin
strcut boot_hdr{
}
DIO DOUT BIN
A-1. blank.bin
boot
use_bin 0to_qio 0 version boot

boot_v1.5.bin blank.bin FF FF F4 E5
Espressif " /2724 2020.09
• ESP8266EX
ESP8266EX ESP8266EX ESP8266EX
CPUWi-Fi ESP8266EX

• ESP8266 AT
Espressif AT TCP Client
UDP TCP Service
• ESP8266 AT
ESP8266_NONOS_SDK AT AT AT AT Wi-Fi AT TCP/IP AT
• ESP8266 Non-OS SDK API
ESP8266_NONOS_SDK API
ESP8266_NONOS_SDK TCP/UDP Mesh


• Non-OS
• ESP8266
ESP8266 Flash ESP8266
• ESP8266
• ESP8266 Non-OS SDK
www.espressif.com