From 8bfe19b2baf4c014d4bf1230166f5bc4d4f411af Mon Sep 17 00:00:00 2001 From: armfly Date: Thu, 12 Mar 2020 11:50:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=84=B1=E6=9C=BA=E7=83=A7?= =?UTF-8?q?=E5=BD=95=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=A2=9E=E5=8A=A0STM8?= =?UTF-8?q?=E7=83=A7=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Doc/02.例程修改记录.txt | 34 +- .../H7-TOOL/Firmware/h7_tool_app.bin | Bin 0 -> 691000 bytes .../H7-TOOL/Lua/{01.数码管 => 产品测试}/TestRS232.lua | 0 .../H7-TOOL/Programmer/FLM/ST/STBlueNRG/STBlueNRG.FLM | Bin 0 -> 11448 bytes .../Programmer/FLM/ST/STBlueNRG/STBlueNRG1.FLM | Bin 0 -> 11560 bytes .../Programmer/FLM/ST/STM32F0xx/STM32F0xx_128.FLM | Bin 0 -> 12168 bytes .../Programmer/FLM/ST/STM32F0xx/STM32F0xx_16.FLM | Bin 0 -> 12300 bytes .../Programmer/FLM/ST/STM32F0xx/STM32F0xx_256.FLM | Bin 0 -> 12100 bytes .../Programmer/FLM/ST/STM32F0xx/STM32F0xx_32.FLM | Bin 0 -> 12164 bytes .../Programmer/FLM/ST/STM32F0xx/STM32F0xx_64.FLM | Bin 0 -> 12164 bytes .../Programmer/FLM/ST/STM32F0xx/STM32F0xx_OPT.FLM | Bin 0 -> 11716 bytes .../Programmer/FLM/ST/STM32F10x/STM32F10x_1024.FLM | Bin 0 -> 11336 bytes .../Programmer/FLM/ST/STM32F10x/STM32F10x_128.FLM | Bin 0 -> 10552 bytes .../Programmer/FLM/ST/STM32F10x/STM32F10x_16.FLM | Bin 0 -> 10548 bytes .../Programmer/FLM/ST/STM32F10x/STM32F10x_512.FLM | Bin 0 -> 12512 bytes .../Programmer/FLM/ST/STM32F10x/STM32F10x_CL.FLM | Bin 0 -> 10548 bytes .../Programmer/FLM/ST/STM32F10x/STM32F10x_OPT.FLM | Bin 0 -> 12040 bytes .../Programmer/FLM/ST/STM32F2xx/STM32F2xx_1024.FLM | Bin 0 -> 12876 bytes .../Programmer/FLM/ST/STM32F2xx/STM32F2xx_OPT.FLM | Bin 0 -> 12616 bytes .../Programmer/FLM/ST/STM32F2xx/STM32F2xx_OTP.FLM | Bin 0 -> 10564 bytes .../Programmer/FLM/ST/STM32F3xx/STM32F3xx_256.FLM | Bin 0 -> 10544 bytes .../Programmer/FLM/ST/STM32F3xx/STM32F3xx_512.FLM | Bin 0 -> 11024 bytes .../Programmer/FLM/ST/STM32F3xx/STM32F3xx_OPT.FLM | Bin 0 -> 10924 bytes .../Programmer/FLM/ST/STM32F4xx/STM32F401xx_OPT.FLM | Bin 0 -> 13608 bytes .../FLM/ST/STM32F4xx/STM32F40xxx_41xxx_OPT.FLM | Bin 0 -> 13648 bytes .../FLM/ST/STM32F4xx/STM32F410xx_412xx_OPT.FLM | Bin 0 -> 13644 bytes .../Programmer/FLM/ST/STM32F4xx/STM32F411xx_OPT.FLM | Bin 0 -> 13608 bytes .../FLM/ST/STM32F4xx/STM32F413xx_423xx_OPT.FLM | Bin 0 -> 13644 bytes .../FLM/ST/STM32F4xx/STM32F42xxx_43xxx_OPT.FLM | Bin 0 -> 13816 bytes .../FLM/ST/STM32F4xx/STM32F446RevA_Quad_SPI.FLM | Bin 0 -> 246816 bytes .../FLM/ST/STM32F4xx/STM32F446_Quad_SPI.FLM | Bin 0 -> 246540 bytes .../Programmer/FLM/ST/STM32F4xx/STM32F446xx_OPT.FLM | Bin 0 -> 13608 bytes .../FLM/ST/STM32F4xx/STM32F469_Quad_SPI.FLM | Bin 0 -> 244480 bytes .../FLM/ST/STM32F4xx/STM32F469xx_479xx_OPT.FLM | Bin 0 -> 13816 bytes .../Programmer/FLM/ST/STM32F4xx/STM32F4xx_1024.FLM | Bin 0 -> 15744 bytes .../FLM/ST/STM32F4xx/STM32F4xx_1024dual.FLM | Bin 0 -> 15764 bytes .../Programmer/FLM/ST/STM32F4xx/STM32F4xx_128.FLM | Bin 0 -> 15736 bytes .../Programmer/FLM/ST/STM32F4xx/STM32F4xx_1536.FLM | Bin 0 -> 13652 bytes .../Programmer/FLM/ST/STM32F4xx/STM32F4xx_2048.FLM | Bin 0 -> 15764 bytes .../Programmer/FLM/ST/STM32F4xx/STM32F4xx_256.FLM | Bin 0 -> 15736 bytes .../Programmer/FLM/ST/STM32F4xx/STM32F4xx_384.FLM | Bin 0 -> 15736 bytes .../Programmer/FLM/ST/STM32F4xx/STM32F4xx_512.FLM | Bin 0 -> 15736 bytes .../Programmer/FLM/ST/STM32F4xx/STM32F4xx_OTP.FLM | Bin 0 -> 11108 bytes .../FLM/ST/STM32F7xx/STM32F723E_QSPI_Macronix.FLM | Bin 0 -> 326552 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F72x_73x_OPT.FLM | Bin 0 -> 14232 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F74x_75x_OPT.FLM | Bin 0 -> 14152 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F75x_64_AXI.FLM | Bin 0 -> 14508 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F75x_64_TCM.FLM | Bin 0 -> 14524 bytes .../FLM/ST/STM32F7xx/STM32F769I_QSPI_Macronix.FLM | Bin 0 -> 326464 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F76x_77x_OPT.FLM | Bin 0 -> 14116 bytes .../FLM/ST/STM32F7xx/STM32F77x_QSPI_Micron.FLM | Bin 0 -> 326768 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x2TCM_512.FLM | Bin 0 -> 16220 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x2_512.FLM | Bin 0 -> 16184 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x2_OTP.FLM | Bin 0 -> 13404 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x2_TCM_OTP.FLM | Bin 0 -> 13444 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7xTCM_1024.FLM | Bin 0 -> 16220 bytes .../FLM/ST/STM32F7xx/STM32F7xTCM_1024dual.FLM | Bin 0 -> 16248 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7xTCM_2048.FLM | Bin 0 -> 16220 bytes .../FLM/ST/STM32F7xx/STM32F7xTCM_2048dual.FLM | Bin 0 -> 16244 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x_1024.FLM | Bin 0 -> 16184 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x_1024dual.FLM | Bin 0 -> 16212 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x_2048.FLM | Bin 0 -> 16184 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x_2048dual.FLM | Bin 0 -> 16208 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x_512.FLM | Bin 0 -> 13640 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x_512_TCM.FLM | Bin 0 -> 14260 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x_64_AXI.FLM | Bin 0 -> 14416 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x_64_TCM.FLM | Bin 0 -> 14424 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7x_TCM.FLM | Bin 0 -> 13724 bytes .../FLM/ST/STM32F7xx/STM32F7xx_NOR_Micron.FLM | Bin 0 -> 13540 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7xx_OPT.FLM | Bin 0 -> 13652 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7xx_OTP.FLM | Bin 0 -> 13404 bytes .../FLM/ST/STM32F7xx/STM32F7xx_QSPI_Disco.FLM | Bin 0 -> 325532 bytes .../FLM/ST/STM32F7xx/STM32F7xx_QSPI_Micron.flm | Bin 0 -> 320472 bytes .../Programmer/FLM/ST/STM32F7xx/STM32F7xx_TCM_OTP.FLM | Bin 0 -> 13444 bytes .../Programmer/FLM/ST/STM32G0xx/STM32G0x0_OPT.FLM | Bin 0 -> 13944 bytes .../Programmer/FLM/ST/STM32G0xx/STM32G0x1_OPT.FLM | Bin 0 -> 14252 bytes .../Programmer/FLM/ST/STM32G0xx/STM32G0xx_128.FLM | Bin 0 -> 14092 bytes .../Programmer/FLM/ST/STM32G0xx/STM32G0xx_16.FLM | Bin 0 -> 14088 bytes .../Programmer/FLM/ST/STM32G0xx/STM32G0xx_32.FLM | Bin 0 -> 14088 bytes .../Programmer/FLM/ST/STM32G0xx/STM32G0xx_64.FLM | Bin 0 -> 14088 bytes .../Programmer/FLM/ST/STM32G0xx/STM32G0xx_OTP.FLM | Bin 0 -> 13324 bytes .../Programmer/FLM/ST/STM32G4xx/STM32G4xx_128.FLM | Bin 0 -> 15296 bytes .../Programmer/FLM/ST/STM32G4xx/STM32G4xx_256.FLM | Bin 0 -> 15668 bytes .../Programmer/FLM/ST/STM32G4xx/STM32G4xx_32.FLM | Bin 0 -> 15728 bytes .../Programmer/FLM/ST/STM32G4xx/STM32G4xx_512.FLM | Bin 0 -> 12032 bytes .../FLM/ST/STM32G4xx/STM32G4xx_512_Dual.FLM | Bin 0 -> 15100 bytes .../Programmer/FLM/ST/STM32G4xx/STM32G4xx_64.FLM | Bin 0 -> 15728 bytes .../FLM/ST/STM32H7x/STM32H7XX_H7-TOOL_W25Q256.FLM | Bin 0 -> 1340180 bytes .../Programmer/FLM/ST/STM32H7x/STM32H7x_128k.FLM | Bin 0 -> 18020 bytes .../Programmer/FLM/ST/STM32H7x/STM32H7x_2M.FLM | Bin 0 -> 18012 bytes .../FLM/ST/STM32L0xx/STM32L01_2x_EEPROM.FLM | Bin 0 -> 14592 bytes .../FLM/ST/STM32L0xx/STM32L03_4x_EEPROM.FLM | Bin 0 -> 14588 bytes .../FLM/ST/STM32L0xx/STM32L05_6x_EEPROM.FLM | Bin 0 -> 14588 bytes .../FLM/ST/STM32L0xx/STM32L07_8x_EEPROM.FLM | Bin 0 -> 14588 bytes .../FLM/ST/STM32L0xx/STM32L07x_64_EEPROM.FLM | Bin 0 -> 14604 bytes .../Programmer/FLM/ST/STM32L0xx/STM32L0xx_128.FLM | Bin 0 -> 15100 bytes .../Programmer/FLM/ST/STM32L0xx/STM32L0xx_16.FLM | Bin 0 -> 15092 bytes .../Programmer/FLM/ST/STM32L0xx/STM32L0xx_192.FLM | Bin 0 -> 15104 bytes .../Programmer/FLM/ST/STM32L0xx/STM32L0xx_32.FLM | Bin 0 -> 15092 bytes .../Programmer/FLM/ST/STM32L0xx/STM32L0xx_64.FLM | Bin 0 -> 15092 bytes .../Programmer/FLM/ST/STM32L0xx/STM32L0xx_8.FLM | Bin 0 -> 15084 bytes .../Programmer/FLM/ST/STM32L0xx/STM32L0xx_EEPROM.FLM | Bin 0 -> 9012 bytes .../Programmer/FLM/ST/STM32L0xx/STM32L0xx_OPT.FLM | Bin 0 -> 11656 bytes .../Programmer/FLM/ST/STM32L1xx/STM32L1xx_128.FLM | Bin 0 -> 11284 bytes .../FLM/ST/STM32L1xx/STM32L1xx_128_EEPROM.FLM | Bin 0 -> 11004 bytes .../Programmer/FLM/ST/STM32L1xx/STM32L1xx_128_OPT.FLM | Bin 0 -> 11232 bytes .../Programmer/FLM/ST/STM32L1xx/STM32L1xx_256.FLM | Bin 0 -> 11284 bytes .../FLM/ST/STM32L1xx/STM32L1xx_256_EEPROM.FLM | Bin 0 -> 11004 bytes .../Programmer/FLM/ST/STM32L1xx/STM32L1xx_256_OPT.FLM | Bin 0 -> 11236 bytes .../Programmer/FLM/ST/STM32L1xx/STM32L1xx_384.FLM | Bin 0 -> 11284 bytes .../FLM/ST/STM32L1xx/STM32L1xx_384_EEPROM.FLM | Bin 0 -> 11004 bytes .../Programmer/FLM/ST/STM32L1xx/STM32L1xx_384_OPT.FLM | Bin 0 -> 11240 bytes .../Programmer/FLM/ST/STM32L1xx/STM32L1xx_512.FLM | Bin 0 -> 11532 bytes .../FLM/ST/STM32L1xx/STM32L1xx_512_EEPROM.FLM | Bin 0 -> 11260 bytes .../Programmer/FLM/ST/STM32L1xx/STM32L1xx_512_OPT.FLM | Bin 0 -> 11992 bytes .../H7-TOOL/Programmer/FLM/ST/STM32_Prog_DB.xml | 36411 ++++++++++++++++ .../H7-TOOL/Programmer/FLM/ST/说明.txt | 8 + .../Programmer/User/STM32/H7-TOOL_Boot_App.lua | 796 + .../Programmer/User/STM32/H7-TOOL_Boot_App_QSPI.lua | 796 + .../H7-TOOL/Programmer/User/STM32/STM32F030xC.lua | 784 + .../H7-TOOL/Programmer/User/STM32/STM32F103xE.lua | 786 + .../H7-TOOL/Programmer/User/STM32/STM32F407xG.lua | 796 + .../H7-TOOL/Programmer/User/STM32/STM32F429xI.lua | 796 + .../H7-TOOL/Programmer/User/STM32/STM32F746xG.lua | 803 + .../H7-TOOL/Programmer/User/STM32/STM32H743xI.lua | 796 + .../H7-TOOL/Programmer/User/STM32/STM32L051x8.lua | 795 + .../H7-TOOL/Programmer/User/STM8/STM8L151C6_32K.lua | 759 + .../H7-TOOL/Programmer/User/STM8/STM8S003_8K.lua | 759 + .../H7-TOOL/Programmer/User/STM8/STM8S105x6_32K .lua | 759 + .../H7-TOOL/Programmer/User/STM8/STM8S208x8_64K.lua | 760 + .../H7-TOOL/Programmer/User/TestBin/128.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/128K_55.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/128K_5A.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/16K_55.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/16K_5A.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/1K.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/1M_55.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/1M_5A.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/256.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/256K_55.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/256K_5A.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/2K.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/2M_55.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/2M_5A.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/32K_55.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/32K_5A.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/4K.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/512.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/512K_55.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/512K_5A.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/64K_55.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/64K_5A.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/8K_55.bin | 1 + .../H7-TOOL/Programmer/User/TestBin/8K_5A.bin | 1 + .../H7-TOOL/Programmer/User/autorun.ini | 1 + .../Programmer/User/混合烧录/STM32+STM8混合.lua | 1021 + .../H7-TOOL/Programmer/脱机烧录器简明使用指南.txt | 66 + Project/MDK-ARM(uV5)/project.uvoptx | 364 +- Project/MDK-ARM(uV5)/project.uvprojx | 17 +- Project/MDK-ARM(uV5)/startup_stm32h743xx.s | 2 +- Project/h7_tool_app(V1.09).bin | Bin 0 -> 692720 bytes User/app/inc/main.h | 5 +- User/app/src/file_lib.c | 3 +- User/app/src/main.c | 284 +- User/app/src/status_current_meter.c | 56 +- User/app/src/status_extend_menu.c | 106 +- User/app/src/status_link_mode.c | 73 +- User/app/src/status_lua.c | 5 +- User/app/src/status_mini_dso.c | 42 +- User/app/src/status_pluse_meter.c | 60 +- User/app/src/status_programmer.c | 440 +- User/app/src/status_resistor_meter.c | 28 +- User/app/src/status_system_set.c | 434 +- User/app/src/status_temp_meter.c | 32 +- User/app/src/status_tvcc_power.c | 136 +- User/app/src/status_voltage_meter.c | 32 +- User/app/src/wifi_if.c | 404 +- User/bsp/bsp.c | 50 +- User/bsp/bsp.h | 51 +- User/bsp/inc/bsp_fmc_io.h | 16 +- User/bsp/src/bsp_cpu_dac.c | 38 +- User/bsp/src/bsp_fmc_io.c | 366 +- User/bsp/src/bsp_qspi_w25q256.c | 184 +- User/bsp/src/bsp_tft_lcd.c | 750 +- User/bsp/src/bsp_timer.c | 54 +- User/bsp/src/bsp_user_lib.c | 15 +- .../source/daplink/interface/swd_host.c | 42 +- User/lua/if/lua_if.c | 203 +- User/lua/if/lua_if.h | 6 +- User/lua/if/lua_if_swd.c | 734 +- User/lua/if/lua_if_swim.c | 342 + User/lua/if/lua_if_swim.h | 25 + User/lwip_if/ethernetif.c | 44 +- User/modbus/modbus_register.c | 3658 +- User/modbus/modbus_slave.c | 93 +- User/programmer/SWD_flash.c | 97 +- User/programmer/SWD_flash.h | 1 + User/programmer/elf_file.c | 181 +- User/programmer/elf_file.h | 4 +- User/programmer/flash_blob.h | 2 + User/programmer/prog_if.c | 943 +- User/programmer/prog_if.h | 44 +- User/programmer/stm8.h | 505 + User/programmer/stm8_flash.c | 932 + User/programmer/stm8_flash.h | 53 + User/programmer/stm8_swim.c | 983 + User/programmer/stm8_swim.h | 30 + User/swd/bsp/bsp_swd_gpio.c | 253 - User/swd/bsp/bsp_swd_gpio.h | 37 - 209 files changed, 56460 insertions(+), 4549 deletions(-) create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Firmware/h7_tool_app.bin rename Doc/存放到eMMC磁盘的文件/H7-TOOL/Lua/{01.数码管 => 产品测试}/TestRS232.lua (100%) create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STBlueNRG/STBlueNRG.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STBlueNRG/STBlueNRG1.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F0xx/STM32F0xx_128.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F0xx/STM32F0xx_16.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F0xx/STM32F0xx_256.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F0xx/STM32F0xx_32.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F0xx/STM32F0xx_64.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F0xx/STM32F0xx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F10x/STM32F10x_1024.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F10x/STM32F10x_128.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F10x/STM32F10x_16.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F10x/STM32F10x_512.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F10x/STM32F10x_CL.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F10x/STM32F10x_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F2xx/STM32F2xx_1024.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F2xx/STM32F2xx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F2xx/STM32F2xx_OTP.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F3xx/STM32F3xx_256.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F3xx/STM32F3xx_512.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F3xx/STM32F3xx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F401xx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F40xxx_41xxx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F410xx_412xx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F411xx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F413xx_423xx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F42xxx_43xxx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F446RevA_Quad_SPI.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F446_Quad_SPI.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F446xx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F469_Quad_SPI.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F469xx_479xx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F4xx_1024.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F4xx_1024dual.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F4xx_128.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F4xx_1536.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F4xx_2048.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F4xx_256.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F4xx_384.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F4xx_512.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F4xx/STM32F4xx_OTP.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F723E_QSPI_Macronix.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F72x_73x_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F74x_75x_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F75x_64_AXI.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F75x_64_TCM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F769I_QSPI_Macronix.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F76x_77x_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F77x_QSPI_Micron.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x2TCM_512.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x2_512.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x2_OTP.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x2_TCM_OTP.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7xTCM_1024.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7xTCM_1024dual.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7xTCM_2048.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7xTCM_2048dual.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x_1024.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x_1024dual.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x_2048.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x_2048dual.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x_512.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x_512_TCM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x_64_AXI.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x_64_TCM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7x_TCM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7xx_NOR_Micron.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7xx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7xx_OTP.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7xx_QSPI_Disco.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7xx_QSPI_Micron.flm create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32F7xx/STM32F7xx_TCM_OTP.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G0xx/STM32G0x0_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G0xx/STM32G0x1_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G0xx/STM32G0xx_128.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G0xx/STM32G0xx_16.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G0xx/STM32G0xx_32.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G0xx/STM32G0xx_64.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G0xx/STM32G0xx_OTP.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G4xx/STM32G4xx_128.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G4xx/STM32G4xx_256.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G4xx/STM32G4xx_32.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G4xx/STM32G4xx_512.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G4xx/STM32G4xx_512_Dual.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32G4xx/STM32G4xx_64.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32H7x/STM32H7XX_H7-TOOL_W25Q256.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32H7x/STM32H7x_128k.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32H7x/STM32H7x_2M.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L01_2x_EEPROM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L03_4x_EEPROM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L05_6x_EEPROM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L07_8x_EEPROM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L07x_64_EEPROM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L0xx_128.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L0xx_16.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L0xx_192.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L0xx_32.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L0xx_64.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L0xx_8.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L0xx_EEPROM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L0xx/STM32L0xx_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_128.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_128_EEPROM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_128_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_256.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_256_EEPROM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_256_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_384.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_384_EEPROM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_384_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_512.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_512_EEPROM.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32L1xx/STM32L1xx_512_OPT.FLM create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/STM32_Prog_DB.xml create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/FLM/ST/说明.txt create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/H7-TOOL_Boot_App.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/H7-TOOL_Boot_App_QSPI.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F030xC.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F103xE.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F407xG.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F429xI.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F746xG.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32H743xI.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32L051x8.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM8/STM8L151C6_32K.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM8/STM8S003_8K.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM8/STM8S105x6_32K .lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM8/STM8S208x8_64K.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/128.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/128K_55.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/128K_5A.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/16K_55.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/16K_5A.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/1K.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/1M_55.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/1M_5A.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/256.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/256K_55.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/256K_5A.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/2K.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/2M_55.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/2M_5A.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/32K_55.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/32K_5A.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/4K.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/512.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/512K_55.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/512K_5A.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/64K_55.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/64K_5A.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/8K_55.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/TestBin/8K_5A.bin create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/autorun.ini create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/混合烧录/STM32+STM8混合.lua create mode 100644 Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/脱机烧录器简明使用指南.txt create mode 100644 Project/h7_tool_app(V1.09).bin create mode 100644 User/lua/if/lua_if_swim.c create mode 100644 User/lua/if/lua_if_swim.h create mode 100644 User/programmer/stm8.h create mode 100644 User/programmer/stm8_flash.c create mode 100644 User/programmer/stm8_flash.h create mode 100644 User/programmer/stm8_swim.c create mode 100644 User/programmer/stm8_swim.h delete mode 100755 User/swd/bsp/bsp_swd_gpio.c delete mode 100755 User/swd/bsp/bsp_swd_gpio.h diff --git a/Doc/02.例程修改记录.txt b/Doc/02.例程修改记录.txt index e5ecd94..88f1e36 100755 --- a/Doc/02.例程修改记录.txt +++ b/Doc/02.例程修改记录.txt @@ -7,7 +7,39 @@ #define TICK_INT_PRIORITY 0 // ((uint32_t)0x0F) /*!< tick interrupt priority */ 2. bsp_CheckRunTime, bsp_GetRunTime 函数内部去掉关闭中断的操作,影响QSPI写操作。 - + +---------------------------------------------------------------------------- +2020-03-12 V1.09 +【修改&新增功能】 +1.脱机烧录功能 + - 增加STM8芯片(STM8S和STM8L系列) + - 增加自动识别硬件烧录不同的程序(识别算法由lua指定) + - 增加组合烧录,比如一键烧写H7-TOOL的boot、app和QSPI Flash + - FLM算法文件和数据文件支持绝对路径和相对路径 + - 优化LUA脚本,支持读、写保护状态识别,自动解除保护状态 + - 取消程序文件的大小显示,本次计数采用32点阵字体 + - 支持PC机联机调试lua程序 + - 打印内核ID、flash内容、RAM内容、UID、Option bytes + - 修改和显示目标CPU的RAM和任意寄存器 + - 擦除CPU内部Flash、EEPROM + - 加读保护、解除保护 + - 启动编程 + - 解决无法烧录STM32L0xx芯片的BUG,L0系列的Init函数需要传递形参1-2才行 + - 烧录时LED快闪,烧录成功候常亮,烧录失败后熄灭 + - 烧录界面增加清零本次计数、清零累计计数功能。修改产品序号功能未做,后面有空再做。 + +2.LUA + - print_hex 函数支持显示宽度和显示地址 + +【bug修复】 +1.脱机编程算法占用的RAM可以通过lua文件指定,V1.08是固定0x1000。 某些片子不够用 +2.READ_FMC()存在不能及时获取数据问题。解决方法:FMC内存空间需要配置为禁止cashe +3.微型数控电源界面如果关闭了蜂鸣器,无法确认是否进入了电压设置状态。 +4.00联机模式界面 切换屏幕显示方向时,日期和时间不会显示. + +【其他】 +1.修改switch case语句缩进格式 + ---------------------------------------------------------------------------- 2020-02-06 V1.08 -- 主要增加脱机烧录功能 1.脱机编程器功能(仅STM32芯片) diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Firmware/h7_tool_app.bin b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Firmware/h7_tool_app.bin new file mode 100644 index 0000000000000000000000000000000000000000..8f2a92979e1d9a8e40084ab91d0d1c25464c0301 GIT binary patch literal 691000 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