1 起源
这是一个stm8s的小单片机。用户需要自己修改参数。
一般这种情况留个串口,通过通讯修改单片机的flash数据区就可以。
但是stm8s001J没有串口,只有swim烧录口可用。
所以只能烧写不同的程序。
2 烧录程序
还好ST公司的烧录程序有命令行工具,下载stvp后,调用命令行工具就可以烧录不同的程序了。做个界面,调用命令行,配置不同的参数就可以了:
cmd_path = ".\stvp\STVP_CmdLine.exe"
cmd_args_Type1 = ["-BoardName=ST-LINK",
"-Device=STM8S001J3",
"-Port=USB",
"-ProgMode=SWIM",
# "-no_verbose",
"-no_erase",
"-no_loop",
"-FileProg=" + current_directory + r"\stvp\firmware\A.hex"]
cmd_args_Type2 = ["-BoardName=ST-LINK",
"-Device=STM8S001J3",
"-Port=USB",
"-ProgMode=SWIM",
# "-no_verbose",
"-no_erase",
"-no_loop",
"-FileProg=" + current_directory + r"\stvp\firmware\B.hex"]
#按下不同的按键后:
if button_text == '1':
result = subprocess.run([cmd_path, *cmd_args_Type1 ], capture_output=True, text=True)
if result.returncode == 0:
QMessageBox.information(self, 'OK!',