ESP8266 ESP-AT编译流程和操作步骤

ESP8266 ESP-AT编译流程和操作步骤

配置好 esp8266 的编译工具链 setup-toolchain

  • export PATH="$PATH:$HOME/xtensa-lx106-elf/bin"
  •  

第一步:clone esp-at 软件包

export ESP_AT_PROJECT_PLATFORM ?= PLATFORM_ESP8266

export ESP_AT_MODULE_NAME ?= WROOM-02

 

第二步: 指定esp-idf 目录

export IDF_PATH=/home/lukastu/esp-at/esp-idf

注意 :esp-idf 的目录编译的时候关联项,最好单独的目录

第三步:

make menuconfig

在esp-at 目录下执行 make menuconfig ,会帮你拉取 esp-idf (esp8266) 和自动检查是否 git submodule update 子模块项目。

第四步:

配置通讯接口,是使用UART 还是HSPI . 和log 信息输出引脚配置.

ESP8266 ESP-AT编译流程和操作步骤

ESP8266 ESP-AT编译流程和操作步骤

  • 注意开放串口的权限 Permission issues /dev/ttyUSB0 , 或者直接使用root 账户来操作即可。

第五步:

  • 正常的 make 和 make flash 了,值得注意的是可以使用 make flash SILENCE=1 减少固件大小。
  • ESP8266 ESP-AT编译流程和操作步骤

最后,当你编译成功烧写进去后,如果发现没有输入 AT 没有返回 ok ,但有启动信息,接着什么也没有出现,则是 AT 交互口的设置问题。

因为默认的 AT 交互串口是用

 

# Hardware Introduction

The ESP8266 WROOM 02 Board sends AT commands through UART0 by default.

- GPIO13 is RXD

- GPIO15 is TXD

- GPIO1 is RTS

- GPIO3 is CTS

The debug log will output through UART1 by default, which TXD0 is GPIO2, but user can change it in menuconfig if needed.

- make menuconfig --> Component config --> ESP8266-specific --> UART for console output

其实就是单独的修改引脚匹配一下而已。

特殊的用途和注意事项

如果你和我一样使用的是 esp8285 ,实际上它属于 esp8266 ex 版本,其 flash 只有 1M ,那么你需要修改分区表为 Partition Table (Single factory app, no OTA) 单例应用,但内置的一些存储内容还在,如串口和 wifi 的一些信息会存储在 nvs 中,这点看分区表可知。

关于默认的串口波特率修改,可以直接在 app_main.c 的底下末尾进行 at_custom_init(); 不过我是直接在最后 uart_set_baudrate(UART_NUM_0, 460800); 这意味着你直接就操作了 esp8266 ,与 AT 指令无关。