|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
大家好,现在有一个芯片烧录需要先擦除,然后再烧录
在cmd输入以下指令擦除:
cd D:\python poject\esptool
d:
esptool.py --chip esp32 --port COM3 erase_flash
在cmd输入以下指令烧录:
cd D:\python poject\esptool
d:
esptool.py --chip esp32 --port COM3 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 D:\Auto\bootloader.bin 0xd000 D:\Auto\ota_data_initial.bin 0x10000 D:\Auto\esp32_ble_gateway.bin 0x8000 D:\Auto\partitions_two_ota.2MB.bin
怎么才能实现擦除完成后自动烧录呢?当然擦除完成后esptool.py程序会在cmd窗口print一些文字出来,我也会写在esptool.py执行烧录前检测是否有侦测到这些文字,但我怎么让程序检测到这些后执行烧录指令呢?因为我不可能在esptool.py里面输入上面的指令,但在cmd窗口输入的话,程序擦除完后cmd窗口马上关闭,若重新让程序打开一个cmd窗口烧录不是很好。
最后想要实现这样的功能:在桌面上双击图标后,可以出来cmd窗口来自动执行擦除和烧录,全部做完后按回车键执行下一个板子的擦除和烧录
放一个bat文件里面不就可以了?
rem 是注释
- rem 现在是擦除用下面的指令作为bat文件
- cd D:\python poject\esptool
- d:
- esptool.py --chip esp32 --port COM3 erase_flash
- rem 烧录用下面的指令作为bat文件
- cd D:\python poject\esptool
- d:
- esptool.py --chip esp32 --port COM3 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 D:\Auto\bootloader.bin 0xd000 D:\Auto\ota_data_initial.bin 0x10000 D:\Auto\esp32_ble_gateway.bin 0x8000 D:\Auto\partitions_two_ota.2MB.bin
- rem 两个bat文件是可以实现,但是有以下弊端
- rem 1.第一个擦除bat文件,每次都需要双击,然后擦除完成后窗口就消失了
- rem 2.第二个是烧录bat文件,每次都需要双击,然后烧录完成后窗口就消失了
- rem 这对工厂来说,批量生产非常麻烦
- rem 我自己在主程序的代码里加了擦除完成后导入烧录.bat,能实现擦除完成后马上打开另一个cmd窗口来烧录
- rem import os
- rem os.system('start D:\烧录.bat')
- rem 但这依然不完美,而且每次都会打开一个新的烧录cmd窗口,这样烧录3个,就会有3个cmd烧录窗口
- pause
复制代码
|
|