ESP8266 通用系类
安信可科技: http://wiki.ai-thinker.com/esp8266
Jack’s LAB: http://wiki.jackslab.org/ESP8266
乐鑫论坛: http://bbs.espressif.com/index.php
ESP8266 Lua系列
NodeMCU: https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_cn
泰晓科技: http://tinylab.org/nodemcu-kickstart/
NodeMcu Docs: [http://nodemcu.readthedocs.io/en/dev/] 6
ESP8266 常见问题
上电输出以下信息
ets Jan  8 2013,rst cause:1, boot mode:(3,6)In the bootup message ‘boot mode:(x,y)’ three low bits of x are {MTDO, GPIO0, GPIO2}.
The Espressif code can boot in different modes, selected on power-up based on GPIO pin levels. (MTDO is equivalent to GPIO15).
| MTDO | GPIO0 | GPIO2 | Mode | Description | 
|---|---|---|---|---|
| L | L | H | UART | Download code from UART | 
| L | H | H | Flash | Boot from SPI Flash | 
| H | x | x | SDIO | Boot from SD-card | 
ESP8266 datasheet
https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_cn.pdf
02D datasheet
02D 引脚图

ESP8266 IDF-SDK 文档
https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/api-reference/index.html
ESP8266 低功耗文档说明
https://www.espressif.com/sites/default/files/documentation/9b-esp8266-low_power_solutions_cn.pdf
用脚本命令生成合成固件
if [ $GAT_FLASH_SIZE == 08Mbit ];then
    echo "08Mbit"
    BS_SIZE=1k
    SPI_FLASH_SIZE=2
    BOOT_ADDR_OFFSET=0k
    PART_ADDR_OFFSET=12k
    APP_ADDR_OFFSET=20k
    OTADATA_ADDR_OFFSET=1000k
    cp sdkconfig_08Mbit sdkconfig
elif [ $GAT_FLASH_SIZE == 16Mbit ];then
    echo "16Mbit"
    BS_SIZE=2k
    SPI_FLASH_SIZE=5
    BOOT_ADDR_OFFSET=0k
    PART_ADDR_OFFSET=32k
    OTADATA_ADDR_OFFSET=40k
    APP_ADDR_OFFSET=64k
    cp sdkconfig_16Mbit sdkconfig
elif [ $GAT_FLASH_SIZE == 32Mbit ];then
    BS_SIZE=4k
    SPI_FLASH_SIZE=6
    BOOT_ADDR_OFFSET=0k
    PART_ADDR_OFFSET=32k
    OTADATA_ADDR_OFFSET=2100k
    APP_ADDR_OFFSET=40k
    cp sdkconfig_32Mbit sdkconfig
    echo "32Mbit"
else
    echo "GAT_FLASH_SIZE must be one of [08Mbit|16Mbit|32Mbit]"
    exit
fi
FLASH_MAX_ADDR=1024
TARGET_DIR=build
BOOT_BIN=bootloader/bootloader.bin
OTA_DATA_BIN=ota_data_initial.bin
PART_BIN=Partition_${GAT_FLASH_SIZE}.bin
COMBINE_BIN=${TARGET_NAME}_combine.bin
# spi mode(0=QIO, 1=QOUT, 2=DIO, 3=DOUT)
SPI_MODE=3
dd if=/dev/zero bs=$BS_SIZE count=${FLASH_MAX_ADDR} | sed 's/\x00/\xff/g' > ${TARGET_DIR}/${COMBINE_BIN}
dd if=${TARGET_DIR}/${BOOT_BIN} ibs=$(wc -c < ${TARGET_DIR}/${BOOT_BIN}) count=1 of=${TARGET_DIR}/${COMBINE_BIN} seek=$BOOT_ADDR_OFFSET obs=1 conv=notrunc
dd if=${TARGET_DIR}/${PART_BIN} ibs=$(wc -c < ${TARGET_DIR}/${PART_BIN}) count=1 of=${TARGET_DIR}/${COMBINE_BIN} seek=$PART_ADDR_OFFSET obs=1 conv=notrunc
dd if=${TARGET_DIR}/${OTA_DATA_BIN} ibs=$(wc -c < ${TARGET_DIR}/${OTA_DATA_BIN}) count=1 of=${TARGET_DIR}/${COMBINE_BIN} seek=$OTADATA_ADDR_OFFSET obs=1 conv=notrunc
dd if=${TARGET_DIR}/${TARGET_NAME}.bin ibs=$(wc -c < ${TARGET_DIR}/${TARGET_NAME}.bin) count=1 of=${TARGET_DIR}/${COMBINE_BIN} seek=$APP_ADDR_OFFSET obs=1 conv=notrunc
echo 0${SPI_MODE} | xxd -r -ps | dd of=${TARGET_DIR}/${COMBINE_BIN} seek=2 bs=1 count=1 conv=notrunc
echo ${SPI_FLASH_SIZE}0 | xxd -r -ps | dd of=${TARGET_DIR}/${COMBINE_BIN} seek=3 bs=1 count=1 conv=notrunc其他有用命令
- 生成汇编文件,用于定位问题xtensa-lx106-elf-objdump -S build/${TARGET_NAME}.elf > build/${TARGET_NAME}.S
 
                     
                     
                        
                        