4. ESP8266固件的编译(NONOS SDK固件 AT固件)

AT固件编译,应用广泛的Esp8266 AT固件是基于Non-OS SDK开发的,
为简单起见,这里编译的是Non-FOTA类型的固件, 通常也称Eagle固件。
也可以添加自己的AT命令,来支持业务逻辑。

1) 在NONOS目录下新建app目录,将examples/at下所有文件复制到该目录下
2) 因无须开启FOTA,所以AT升级功能并不必要,修改include/user_config.h文件
注释掉AT_CUSTOM_UPGRADE宏定义
3) 因生成的固件size会较大,
修改ld/eagle.app.v6.ld文件进行调整(乐鑫官方默认是200Kb),
将irom0_0_seg从原来的len = 0x5C000改为len = 0x6C000
(需ESP组模的flash大小配合)

4)执行bash gen_misc.sh按提示编译
或者,也可用如下命令直接编译

make COMPILE=gcc BOOT=none APP=0 SPI_SPEED=40 SPI_MODE=QIO SPI_SIZE_MAP=2

(ESP-01时为2, ESP12一般为4)

其中注意BOOT选择none,因为NOFOTA不需要boot,SPI_SIZE_MAP按所用ESP模组选择。选项如下:

SPI_SIZE_MAP:
    0= 512KB( 256KB+ 256KB)
    2=1024KB( 512KB+ 512KB)
    3=2048KB( 512KB+ 512KB)
    4=4096KB( 512KB+ 512KB)
    5=2048KB(1024KB+1024KB)
    6=4096KB(1024KB+1024KB)
    7=4096KB(2048KB+2048KB) not support ,just for compatible with nodeMCU board
    8=8192KB(1024KB+1024KB)
    9=16384KB(1024KB+1024KB)

5)编译成后后,SDK根目录下bin目录中会生成固件文件

eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x10000

烧录后,串口输入AT+GMR即可看到版本信息。
这里写图片描述

<think>好的,用户想了解AT固件烧录的教程以及相关工具和方法。我需要根据提供的引用内容来组织回答。首先,引用1提到了ESP8266AT固件烧录步骤,包括下载固件、Flash布局、烧录设置等。引用2则强调了使用1M Flash的固件,适用于esp8266-01系列,并提到了智能配网和MQTT的AT指令。 用户可能刚接触ESP8266,所以需要详细的步骤说明。我应该先列出所需的工具和材料,比如固件包、烧录工具、硬件连接等。然后分步骤讲解,包括下载固件、选择正确的non-FOTA或FOTA版本,设置烧录参数,以及验证烧录是否成功。需要特别注意Flash容量的问题,因为用户可能不清楚不同型号的ESP8266对应的固件类型,比如1M Flash必须使用特定布局的固件。 另外,引用中提到烧录工具可能使用官方的flash_download_tool,需要指导用户如何配置每个文件的烧录地址,这部分需要详细说明,避免用户出错。常见的错误可能包括地址设置错误或波特率选择不当,应该在注意事项里提醒用户。 最后,生成相关问题时,要考虑用户可能的后续需求,比如固件版本区别、AT指令使用、失败排查等,这些问题能帮助用户深入学习和解决问题。需要确保回答结构清晰,步骤明确,语言简洁,避免使用专业术语过多,适合新手理解。</think>### AT固件烧录教程及工具 #### 一、所需工具与材料 1. **硬件**:ESP8266模块(如ESP-01)、USB转TTL模块、杜邦线 2. **软件**: - 烧录工具:`flash_download_tool`(官方推荐)[^1] - AT固件包:根据Flash容量选择(如1MB Flash需使用`non-FOTA`固件)[^2] 3. 固件下载地址:乐鑫官网或社区提供的适配版本(如`v1.7.1`)[^1] --- #### 二、烧录步骤详解 1. **下载固件** - 从乐鑫官网下载对应Flash容量的AT固件包,例如1MB Flash需选择`non-FOTA`版本[^1]。 - 解压后获取以下关键文件: - `boot_v1.7.bin` - `user1.1024.new.2.bin` - `esp_init_data_default.bin` 2. **硬件连接** -ESP8266的`GPIO0`引脚接地(进入烧录模式)[^2] - USB转TTL与ESP8266连接: ``` TX → RX RX → TX GND → GND 3.3V → VCC ``` 3. **烧录工具配置** - 打开`flash_download_tool`,选择芯片类型为`ESP8266`。 - 按以下顺序添加文件并设置地址: | 文件名 | 烧录地址 | |-----------------------|--------------| | `boot_v1.7.bin` | `0x00000` | | `user1.1024.new.2.bin`| `0x01000` | | `esp_init_data_default.bin` | `0xFC000` | - **参数设置**: - SPI Speed: `40MHz` - SPI Mode: `DIO` - Flash Size: `8Mbit`(对应1MB Flash)[^2] 4. **开始烧录** - 点击`START`按钮,等待进度条完成(确保波特率设置为`115200`或更低以提高稳定性)[^1]。 - 烧录成功后,断开`GPIO0`与GND的连接,重启模块进入AT指令模式。 --- #### 三、验证与测试 1. **AT指令测试** - 使用串口工具发送`AT`,若返回`OK`则烧录成功[^2]。 2. **功能验证** - 尝试配网指令(如`AT+CWJAP="SSID","PASSWORD"`)或MQTT连接测试。 --- #### 注意事项 - **Flash容量匹配**:ESP-01系列若为1MB Flash,必须使用`non-FOTA`固件,否则会导致功能异常[^2]。 - **供电稳定**:烧录时需确保3.3V电源稳定,避免电压波动导致失败。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值