网站首页 > 编程文章 正文
- 1. 目标
用ESP发布的sdk,编译一个hello world,能成功烧写,并且能正常运行起来。这样的话,后面就可以根据sdk里面的例子,想怎么玩就怎么玩。
- 遇到的问题
网上一堆烧写的方法,大多是烧写AT固件,或者用java环境开发的bin,然后进行烧写。对每个分区的含义也不是很清楚,烧写过程中经历了反复重启,back up失败。magic错误等等问题。
- 成功烧写过程记录
准备:ESP8266
从网上买的,20块钱不到,上面RST和FLASH按键,升级固件的时候需要用到
编译helloworld
笔者linux是菜鸟级别的,还是老老实实搞cygwin的windows编译,可以参考csdn上大佬的帖子。
这里在编译的时候需要更新下flash 大小(我这个是32Mbit,也就是4M的)
执行make menuconfig配置下
选择4M,串口什么的,我都没更改,反正是用工具更新bin。
配置完了之后,开始编译,执行make all
烧写
从淘宝上买的这玩意资料不太多,或者太乱,要不是不匹配的,百度更会一头雾水。这玩意应该是前几年比较火,现在已经都很完善了。烧写非常方便。ESP8266 GPIO0接地,模块进入下载模式,这个时候rst就行了。也就是用工具,先选择串口,点击START,然后摁住Flash,然后点击下RST。期间Flash保持按住状态(拉低)。然后就能看到下载完成了,
分区域以及偏移地址
同样的问题,百度一下,各种bin文件,各种升级工具,到现在也没搞清楚。我就是仅仅想看看程序跑起来。不想花太多的时间研究这些,毕竟不靠这个吃饭。
最后我是按下面方式成功的完成了烧写。
三个bin,其实编译结果都标注了,偏移地址,以及bin文件
hip esp8266 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size 4MB
0x0 /home/q/ESP8266_RTOS_SDK/examples/get-started/hello_world/build/bootloader/bootloader.bin
0x10000 /home/q/ESP8266_RTOS_SDK/examples/get-started/hello_world/build/hello-world.bin
0x8000 /home/q/ESP8266_RTOS_SDK/examples/get-started/hello_world/build/partitions_singleapp.bin
0x0的地方放bootloader,0x10000放hello-world.bin, 0x8000 放partitions_singleapp.bin
bootloader估计是引导系统,8000好像是分区表,然后是不是最后在bootloader调用10000处的用户bin,姑且先这么认为了。
烧完之后,按rst重启设备,发现helloworld程序运行起来了,串口已经可以打印日志了。
存在的问题:
编译的时候,修改了波特率,但是烧完之后是一个比较奇怪的波特率,76800左右。目前还没调查源码,说不定是源码改成这样的。
猜你喜欢
- 2024-10-21 NodeMCU使用AiThinkerIDE_V0.5开发小记
- 2024-10-21 基于ESP8266的WIFI模块(含源代码)
- 2024-10-21 你家的智能咖啡机可被轻松黑掉,阻止办法只有拔插头
- 2024-10-21 ESP8266自动下载电路分析(esp8266下载接线)
- 2024-10-21 ESP8266 ADC – 使用 Arduino IDE 读取模拟值
- 2024-10-21 esphome安装过程图文记录(esp homekit)
- 2024-10-21 FireBeetle ESP8266,专为物联网设计的低功耗开发套件,开发必备
- 2024-10-21 可用作Zigbee路由器的Sonoff ZBBridge网关
- 2024-10-21 ESP8266 天气小工具 V2.0(esp8266 oled天气)
- 2024-10-21 在ESP8266和树莓派4开发板上使用Qoitech Otii开发工具入门
你 发表评论:
欢迎- 05-09Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 05-09《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- 05-09MapStruct架构设计(mapstruct @mapping)
- 05-09分布式微服务架构组件(分布式微服务架构设计)
- 05-09Java Swing组件下的JButton实例(java swing 组件)
- 05-09java基础都在这了,小主们拿去吧(java基础是指什么)
- 05-09AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 05-09【Spring Boot】WebSocket 的 6 种集成方式
- 最近发表
-
- Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- MapStruct架构设计(mapstruct @mapping)
- 分布式微服务架构组件(分布式微服务架构设计)
- Java Swing组件下的JButton实例(java swing 组件)
- java基础都在这了,小主们拿去吧(java基础是指什么)
- AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 【Spring Boot】WebSocket 的 6 种集成方式
- Java 中五种最常见加密算法:原理、应用与代码实现
- 用注解进行参数校验,spring validation介绍、使用、实现原理分析
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)