esp8266开发笔记3-编译、烧录、运行测试

1.编译

从SDK的EXAMPLE目录复制任意一个示例到喜欢的目录下(这里我选择了uart_echo),
打开mingw32.exe定位到该目录,输入make开始编译,如果足够幸运的话最后会得到如下信息:
在这里插入图片描述
如红色标注的那样,生成的bin文件即为可执行程序,这里生成了三个,并给出了对应的烧录地址。

SDK将flash分区管理,在默认的分区模式下这三个文件是必须的,0X00地址处的是bootloader程序,是程序再次升级必须的,每次上电总是从这个地址处开始装入程序并运行,随后根据分区表跳转到用户程序。0x10000处是用户程序,就是你的程序加bootloader以外的所有功能都会链接到这个地址空间。0x8000地址处是分区表数据,也是不可或缺的。在项目配置菜单里这些均是可以设置的,默认的分区方案是Single factory app,no OTA ,如下图。在此方案下必须烧写的就是这三个文件,bootloader和分区表数据文件烧写一次后如果下次烧录时没有改变配置的话是无需再次烧录,仅烧录一个用户程序文件即可。
在这里插入图片描述

2.烧录

打开烧录软件(没有从乐鑫网站上找)将编译出的三个可执行程序一一填入,并设置好地址
点START按钮,ESP8266 在boot模式下上电即可开始下载程序。

在这里插入图片描述

3.运行测试

关掉电源,打开串口助手,非boot模式启动,结果如下:
在这里插入图片描述
这里开始部分为SDK启动时输出的调试信息,由于启动时波特率和我的程序波特率不同输出了乱码,下面的部分为发送后的返回信息。
正如示例程序:

// Copyright 2018-2025 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"

#include "driver/uart.h"

/**
 * This is an example which echos any data it receives on UART0 back to the sender,
 * with hardware flow control turned off. It does not use UART driver event queue.
 *
 * - Port: UART0
 * - Receive (Rx) buffer: on
 * - Transmit (Tx) buffer: off
 * - Flow control: off
 * - Event queue: off
 */

#define BUF_SIZE (1024)

static void echo_task()
{
    // Configure parameters of an UART driver,
    // communication pins and install the driver
    uart_config_t uart_config = {
        .baud_rate = 115200,
        .data_bits = UART_DATA_8_BITS,
        .parity    = UART_PARITY_DISABLE,
        .stop_bits = UART_STOP_BITS_1,
        .flow_ctrl = UART_HW_FLOWCTRL_DISABLE
    };
    uart_param_config(UART_NUM_0, &uart_config);
    uart_driver_install(UART_NUM_0, BUF_SIZE * 2, 0, 0, NULL, 0);

    // Configure a temporary buffer for the incoming data
    uint8_t *data = (uint8_t *) malloc(BUF_SIZE);

    while (1) {
        // Read data from the UART
        int len = uart_read_bytes(UART_NUM_0, data, BUF_SIZE, 20 / portTICK_RATE_MS);
        // Write data back to the UART
        uart_write_bytes(UART_NUM_0, (const char *) data, len);
    }
}

void app_main()
{
    xTaskCreate(echo_task, "uart_echo_task", 1024, NULL, 10, NULL);
}

示例默认的波特率:74880 ,我把波特率改成了115200,(.baud_rate = 115200)
ESP8266上电复位后从片内ROM开始运行,晶振26M时波特率固定为74880,所以开始打印出的显示成乱码,等到用户程序运行后波特率设置为115200,开始显示用户程序发送的数据。
可以用支持 74880波特率的串口软件查看之前发送的信息
在这里插入图片描述

程序功能很简单,就是你发送什么esp8266就返回什么,一直循环。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要使用USB-TTL烧录程序到ESP8266,您需要按照以下步骤操作: 1. 将ESP8266连接到USB-TTL适配器上,确保连接正确。 2. 打开Arduino IDE,并选择正确的板子和端口。 3. 在Arduino IDE中打开您要烧录的程序。 4. 点击“上传”按钮,等待程序烧录完成。 5. 烧录完成后,您可以通过串口监视器查看ESP8266的输出信息。 请注意,烧录程序前,请确保您已经正确安装了ESP8266的驱动程序,并且选择了正确的板子和端口。如果您遇到任何问题,请参考ESP8266的官方文档或寻求技术支持。 ### 回答2: ESP8266是一款智能WIFI芯片,可以实现网络连接功能。为了将我们编写的代码烧录ESP8266上并使其工作,我们需要使用USB-TTL转接器。 首先,我们需要准备ESP8266开发板和USB-TTL转接器,并将它们连接起来。在连接之前,我们需要确保ESP8266的电源关闭。然后,我们需要将USB-TTL转接器的TXD引脚连接到ESP8266的GPIO0引脚,将USB-TTL转接器的RXD引脚连接到ESP8266的GPIO2引脚,并将USB-TTL转接器的GND引脚连接到ESP8266的GND引脚。最后,我们需要将ESP8266的电源开启。 接下来,我们需要下载ESP8266烧录工具——ESP-Flash-Download-Tool,并将其解压缩到任意文件夹。然后,我们需要在ESP-Flash-Download-Tool中选择我们准备烧录的bin文件,并将其配置到相应设备中。在成功配置设备之后,我们需要将ESP8266设置为烧录模式,并点击“START”按钮进行烧录。在烧录完成后,我们需要将ESP8266从电脑上拔出,并重新连接至电源。 至此,ESP8266烧录工作就完成了。我们可以使用串口调试工具进行测试,看看ESP8266是否正常工作。如果ESP8266连接正常,我们就可以开始编写我们自己的代码并将它们通过USB-TTL烧录ESP8266上,让ESP8266实现更加强大的功能。 ### 回答3: ESP8266是一款广泛应用于物联网领域的芯片,也是很多物联网项目的常用芯片。为了让ESP8266正常运行,需要将程序烧录进去。USB-TTL是一种常见的串口适配器,可以将计算机上的USB口转换为串口口,以便烧录程序和调试。 ESP8266烧录方式有多种,其中一种就是使用USB-TTL进行烧录。步骤如下: 1.准备工作 首先需要准备好ESP8266芯片和USB-TTL适配器,并将它们连接好。此外还需要使用串口工具,像PuTTY或者SecureCRT等,来进行后续烧录过程中的调试。 2.将ESP8266进入FLASH烧录模式 将ESP8266按照固定的操作模式进入FLASH烧录模式。具体而言,需要将ESP8266的GPIO0引脚连接到地线,然后将RST引脚拉高,最后按下电源键即可。(在此过程中,需要确保GPIO2引脚与3.3V电源相连)。 3.连接USB-TTL适配器 将USB-TTL适配器通过USB口连接到计算机,并将信号线依次连接到ESP8266的TX,RX,VCC和GND引脚上(同样的,需要确保CH_PD引脚与3.3V电源相连)。 4.烧录程序 打开串口工具,选择与USB-TTL适配器相对应的串口,波特率设置为115200,并打开串口。在串口工具中输入指定的烧录指令(通常是指令"AT+GMR"),然后按回车键,这时我们就可以看到ESP8266开始工作并输出一些信息。接下来,使用命令"AT+RESTORE"将芯片的配置恢复到出厂默认状态,等待芯片自动重启。然后,使用指令"AT+GMR"再次检查芯片状态,以确保芯片已经准备好接收程序。最后,使用指令"AT+CIUPDATE"进行程序烧录,此时我们需要选择需要烧录的固件文件,然后等待ESP8266芯片烧录程序的完成。 总之,ESP8266芯片的烧录方式有很多种,USB-TTL烧录法需要通过USB-TTL适配器连接ESP8266芯片,然后在计算机端使用串口工具进行烧录程序。只要我们掌握了烧录的基本步骤,就可以轻松地完成ESP8266烧录工作,为物联网的应用提供更好的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值