esp32 micropython 之 烧写固件

head.jpg

尝试烧写板子

1. 为什么要烧写板子呢?

  • 烧写是一种过去将下载程序到硬件里的说法,如今只是习惯用语。只要我们通过烧写的工具,就可以将我们想要的程序放到硬件当中运行,比如在这里,就是把 MicroPython 固件烧到硬件芯片上,从而直接进行 MicroPython 语言的开发。

2. 准备相关工具

  • 以 Windwos 为例,你需要到 Tools 里面,将 AutoErase.exe、AutoFlash.exe、firmware.bin 下载下来放到同一目录即可。

  • firmware.bin 可能不是最新的,可以直接到 releases 中获取最新的 firmware.bin。

  • 其他平台系统的则需要使用 AutoTools py 脚本进行烧写,也就是 AutoErase.py 和 AutoFlash.py,相信这对使用 Linux 系统的你来说并不是很难。

  • all_tools.png
  • 最后请确保此前的硬件驱动已经成功安装且板子已经正确连入电脑后,您可以继续阅读以下内容。

  • win_check_ch340.png

3. 一键烧写固件

1. 擦除板子固件

  • 遇到以下情况时,建议擦除一次板子。

    • 第一次使用该固件
    • 此前存在其他固件
    • 板子运行操作异常
    • 当不知所措的时候
  • 以 Windows 为例,双击运行 AutoErase.exe,它会识别电脑最新插入板子的串口,并自动擦除该板子,所以你只需要确保板子是最新插入的设备即可。

  • erase_succeed.png
  • 以上即为成功擦除,如果失败请重试,仍然失败,请检查或设备的串口。

  • 如果您电脑存在多个串口,可以使用命令行运行 AutoErase.exe --port COM0(指定的CH340串口) ,从而擦除到指定的 esp32 硬件上。

2. 更新板子固件

  • 遇到以下情况时,建议烧写一次板子。

    • 擦除板子后
    • 需升级固件
  • 以 Windows 为例,双击运行 AutoFlash.exe,它会识别最新插入的板子的串口,并自动将同一目录下的 firmware.bin 固件文件烧写到板子当中。

  • flash_succeed.png
  • 以上即为成功烧写,如果失败请重试,仍然失败,请检查或设备的串口。

  • 如果您电脑存在多个串口,可以使用命令行运行 AutoFlash.exe --port COM0(指定的CH340串口) ,从而烧写到指定的 esp32 硬件上。

  • 至此已经完成了烧写,如有其他疑问或想知道更多的,可以继续往下看。

烧写工具详解*

使用 windows 系统*

  • 运行 AutoFlash.exe 程序会自动查找最新插入的串口并将同一目录下的fimware.bin文件一键烧写至芯片当中。

  • auto_flash_running.png
  • 使用 AutoErase.exe 程序可以将固件擦除,如果此前有其他固件存在,或遇到了不可解决的问题,均可通过该修复(擦除)工具重置板子后烧写固件,注意,它会将板子的所有文件全部删除。

  • auto_erase_running.png
  • 上述程序经由相关 Python 脚本与Pyinstller X86模块打包而成。

  • 以上两工具均支持命令行 AutoErase.exe --port COM4 --baud 115200 --port 的用法,具体可以看下方配置参数介绍。

使用 linux 系统*

sudo esptool.py --chip esp32 --port COM3 --baud 1152000 write_flash -z --flash_mode dio --flash_freq 40m 0x1000 firmware.bin
  • 在此之前需用户安装 python 与安装其依赖项 esptool ,例如pip install esptool

  • esptool.py 是 ESP 芯片系列的烧写脚本工具。

  • --chip esp32 指esp32芯片。

  • --port COM3 指烧写端口,COM3是Windows环境下的串口命名,在Linux下则是/dev/ttyUSB0。

  • --baud 921600,如果出现烧写错误,可以下调到460800,这会导致烧写的速度下降。

  • firmware.bin,指烧写文件的位置,如果没有路径则默认是同一目录下。

  • 其他保持不变,如果有疑问向我提出。

在 Python 解释器环境当中执行烧写*

  • AutoFlash.py 跟Linux的Shell一致,可在Py代码中查阅得知。

  • AutoErase.py 是指擦除当前硬件的固件,当遇到无法解决的问题时候,可以尝试擦除。

烧写之后?

  • 烧写之后,如果烧写成功会如下图,否则会闪退或出现红色警告内容,等其他信息报告。

  • flash_finish.jpg

出现问题?

  • 当不知道怎么解决的时候,请直接提交问题给我进行解决。

  • 如果没人提供解决方案,您也可以自己使用修复(擦除)工具后重新烧写固件。

  • 修复(擦除)工具执行成功之后结果的如下图。

  • repair_finish.jpg

疑难解答

烧写固件失败,烧写程序闪退,或结果出现 红色警告 。

  • 大多数原因是因为您的串口驱动存在问题,解决这个问题后可以再次尝试,如果出现了烧写错误,有可能是您的电脑正在使用多个串口导致识别错误的问题,请确保板子是最新插入的,否则不能自动识别并烧写,如果确定有这个问题也出现了烧写失败的情况,请更换至其他烧写的连接线,此时依旧烧写失败的话,请将板子返修吧。

烧写成功?但是没有工作?

  • 先确认线材,如果面板灯没有亮,有两种可能,一种是连接线材的问题(线比较差,供电不足),更换好一点的线就可以了,另一种是存在先前固件的问题,分区数据受损,需要擦除一次才可以,一般发生在先前烧过其他固件的时候,如果排除了这两种情况,就只能是电脑的问题,可以先检查一下驱动是否正常,没有感叹号,或者是更换电脑再试。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266