参考资料:1.esptool.py工具 2.idf.py工具
后续文章的讲解需要用到IDF命令行工具,当前文章简单介绍一下。
目录
打开命令行的小技巧
一、读flash信息
二、擦除flash
三、读flash数据
四、写flash数据
打开命令行的小技巧
大家安装完IDF开发包后,会在桌面生成一个快捷方式“ESP-IDF 5.3 CMD”,这需要在安装时勾选相应选项。如下:
复制快捷方式到你的代码路径下,鼠标右键,打开快捷方式的属性对话框,将“起始位置”改为“%1”,之后每次双击打开快捷方式,都会以所在目录为工作路径,省去了每次cd切换工作路径的麻烦。如下:
一、读flash信息
esptool.py flash_id
输出:
esptool.py v4.8.dev4
Found 1 serial ports
Serial port COM17
Connecting....
Detecting chip type... ESP32-S3
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
MAC: 64:e8:33:57:9c:40
Uploading stub...
Running stub...
Stub running...
Manufacturer: 68
Device: 4018
Detected flash size: 16MB
Flash type set in eFuse: quad (4 data lines)
Flash voltage set by eFuse to 3.3V
Hard resetting via RTS pin...
其中“Manufacturer”表示flash芯片生产商ID,“Device”表示flash芯片型号ID。至于这些ID代表那些厂商和芯片,参阅:https://github.com/flashrom/flashrom/blob/master/include/flashchips.h
二、擦除flash
esptool.py erase_flash
擦除时,会自动搜索可用COM口。擦除后,再用“读flash命令”读取一下,发现所有flash字节都为“0xFF”。
三、读flash数据
esptool.py -p COM17 -b 460800 read_flash 0 ALL all.bin
上面的“0”表示要读取的起始地址,可以为十进制数、十六进制数(需要在前面加“0x”);
再后面的“ALL”表示读取全部数据,这里也可以写数字,十进制、十六进制(需要在前面加“0x”)都可以;
最后一项是读取后保存的文件名。
四、写flash数据
esptool.py -p COM17 write_flash 0 main.bin
上面的“0”表示要写入的起始地址;最后一项表示要写入的文件。