关于ESP8266固件烧录的个人反思

个人反思

之前一直在用买ESP8266板子时候给的资料里面的ai thinker v1.0。实在是不好用,编译一直出错,然后还问过学长这是怎么回事,学长说是以为路径不能有中文,然后一直改一直配置。直到找到ai thinker v0.5!!!我才发现一切不是问题,用了ai thinker v0.5!!!之后,啥都不用配置,编译就成功了,下面是ai thinker v0.5的百度链接,
链接:https://pan.baidu.com/s/1qrfiz7qutx8_-K_Xf4nowQ
提取码:fuah
关于ESP8266固件烧录的个人反思
可以从图中看到我的程序编译成功了,我就是直接将我的软件更新了一下,然后在路径上最好不要有中文(以防万一)。然后我就成功啦。下面是我在调试程序配置环境过程中容易忽略的几点

烧录配置

修改Makefile中约第25行处的配置。在看视频的过程中,虽然可以看到大致的操作,但是还是有些细小的地方是容易被老师忽略的。比如,软件的选择以及Makefile配置。可能老师的软件以及文件是在之前老师就配置好的,然后在视频中就会跳过或者忘记讲述,所以光看视频是不行的,还需要查一些资料以及看一下其他学员出现的问题,用合理的方式解决问题。
关于ESP8266固件烧录的个人反思
一般出现编译不成功的问题有很多种情况,其中有一种原因就是未定义,一般,根据最常使用的ESP8266-12系列的32mbit的模块,那么只需要在根目录的Makefile文件的第25行代码修改成以上格式(仅限于编译不成功的时候可以尝试),重新编译即可。烧录地址不变!!!
当然有的模块根据原定义的也是可以的。以下为我编译成功的时候的配置。关于ESP8266固件烧录的个人反思
如果在尝试之后,将Makefile配置改为以上的数据之后还是编译出错时,还可以采取一下以下的解决方式。
烧录成功的配置:make COMPILE=gcc BOOT=new APP=1 SPI_SPEED=40 SPI_MODE=QIO SPI_SIZE_MAP=6 (Build command填入内容)

Build location 选择编译的工程路径关于ESP8266固件烧录的个人反思
此处配置错误可能导致两种错误
1、直接出现编译错误(使用默认配置的make)
关于ESP8266固件烧录的个人反思
2、编译成功但是串口打印错误
使用的此配置:make COMPILE=gcc BOOT=none APP=0 SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=2 (安信官方文档及许多回答都采用的该配置)
关于ESP8266固件烧录的个人反思

二、烧录文件选择

关于ESP8266固件烧录的个人反思
大家在使用烧录软件将程序下载到板子上时(以上的软件)首先要选择准确的文件烧录。通过下方的对应位置进行烧录即可。千万不要盲目的看视频,按照视频里面的照搬照。
关于ESP8266固件烧录的个人反思
有时候当上面全部的配置都设置成功之后还是串口打印不正确时。需要看一下Console框的内容是否已经改变。
关于ESP8266固件烧录的个人反思
如果出现上面这个内容的话,,大家就需要更改一下烧录软件中对应位置的对应文件。
关于ESP8266固件烧录的个人反思
文件与地址必须是一一对应关系。当烧录的文件需要是boot时,我们最好选择最大的如1.7因为boot文件必须选择到1.4以上。故可选1.6或者1.7。
关于ESP8266固件烧录的个人反思

终于由图中可以看到,我的一半的串口打印已经实现了,只不过是下面的hello world变成了乱码。记得之前出现这种情况的时候是因为波特率的原因,于是我试得改了一下波特率。于是就成功了。
关于ESP8266固件烧录的个人反思
出现乱码的原因是,我们在串口初始化的时候,将字符串打印的波特率设置成了9600.所以我们在打印字符串的时候只有将波特率与代码中设置的波特率一致才不会出现乱码。
关于ESP8266固件烧录的个人反思
由图中可以看出,我已经成功打印了字符串Hello World。因为我们上面的一些串口内容的波特率是我们没有设置的,是默认值为74880与我们设置的打印字符串波特率不一样,所以又会出现乱码。

参考链接

https://zhuanlan.zhihu.com/p/129837366