diff --git a/CHANGELOG b/CHANGELOG index 7aec0f9..0ca5be6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,16 @@ +---------------------------------------------------------------------------- +2020-06-02 V1.21 +1. 完善脱机烧录功能 + - 烧录部分bin文件时,读回校验和软件CRC无问题,但硬件CRC有问题。 + 原因:bin文件长度不是4字节整数倍时存在计算错误 + 解决办法,补齐4字节再进行校验。 + - 修改校验部分的代码,当FLM中有Verify校验函数时, 则优先用FLM中的Verify,而不是读回校验 + - lua函数pg_reset() 支持带形参(复位时间ms)和无形参(缺省用20ms) + - 修复emmc磁盘文件的bug,解决STM8编程编程失败的问题 + - 增加STM8AF模板,验证了STM8AF5288 + - 修复SLOW低速时钟模式,发送32bit数据未插入延迟的bug。主要用于多路烧录,应对线长的情况。 + ---------------------------------------------------------------------------- 2020-05-27 V1.20 【重大更新,发布1拖4脱机烧录功能,请使用PC软件 V0.4版】 1. 完善脱机烧录功能 diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Firmware/app版本v1.20.txt b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Firmware/app版本v1.21.txt similarity index 100% rename from Doc/存放到eMMC磁盘的文件/H7-TOOL/Firmware/app版本v1.20.txt rename to Doc/存放到eMMC磁盘的文件/H7-TOOL/Firmware/app版本v1.21.txt diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Firmware/h7_tool_app.bin b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Firmware/h7_tool_app.bin index 804f11a..5e8ab9a 100644 Binary files a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Firmware/h7_tool_app.bin and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Firmware/h7_tool_app.bin differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_128.FLM new file mode 100644 index 0000000..59ec9ba Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_16.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_16.FLM new file mode 100644 index 0000000..0dd5646 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_16.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_256.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_256.FLM new file mode 100644 index 0000000..5b2dd7f Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_256.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_256_BANK0.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_256_BANK0.FLM new file mode 100644 index 0000000..b2ba3ef Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_256_BANK0.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_256_BANK1.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_256_BANK1.FLM new file mode 100644 index 0000000..19b83fd Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_256_BANK1.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_32.FLM new file mode 100644 index 0000000..eadc064 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_512.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_512.FLM new file mode 100644 index 0000000..7fa7f02 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_512.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_512_BANK0.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_512_BANK0.FLM new file mode 100644 index 0000000..82da076 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_512_BANK0.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_512_BANK1.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_512_BANK1.FLM new file mode 100644 index 0000000..e4a9804 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_512_BANK1.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_64.FLM new file mode 100644 index 0000000..92f841d Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_CFG.FLM new file mode 100644 index 0000000..e9bce6e Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_LD_2.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_LD_2.FLM new file mode 100644 index 0000000..aa2ed15 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_LD_2.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_LD_4.FLM new file mode 100644 index 0000000..0f481d6 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_LD_8.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_LD_8.FLM new file mode 100644 index 0000000..a27826e Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M031_LD_8.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0516_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0516_AP_64.FLM new file mode 100644 index 0000000..9b28f54 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0516_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_AP_32.FLM similarity index 100% rename from Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_32.FLM rename to Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_AP_32.FLM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_36.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_AP_36.FLM similarity index 100% rename from Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_36.FLM rename to Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_AP_36.FLM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_AP_64.FLM similarity index 100% rename from Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_64.FLM rename to Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_AP_64.FLM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_68.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_AP_68.FLM similarity index 100% rename from Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_68.FLM rename to Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_AP_68.FLM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_CFG.FLM similarity index 100% rename from Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_CFG.FLM rename to Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_CFG.FLM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_DAT.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_DAT.FLM similarity index 100% rename from Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_DAT.FLM rename to Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_DAT.FLM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_LD_4.FLM similarity index 100% rename from Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_LD_4.FLM rename to Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_LD_4.FLM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_AP_128.FLM new file mode 100644 index 0000000..1f184e5 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_AP_64.FLM new file mode 100644 index 0000000..afdf46f Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_CFG.FLM new file mode 100644 index 0000000..a733d99 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_DAT.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_DAT.FLM new file mode 100644 index 0000000..d587a32 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_DAT.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_LD_8.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_LD_8.FLM new file mode 100644 index 0000000..6efd25e Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0519_LD_8.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M051_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M051_CFG.FLM new file mode 100644 index 0000000..253cea9 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M051_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M051_DAT.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M051_DAT.FLM new file mode 100644 index 0000000..0a18696 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M051_DAT.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M051_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M051_LD_4.FLM new file mode 100644 index 0000000..c6ff3b8 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M051_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M052_AP_8.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M052_AP_8.FLM new file mode 100644 index 0000000..1197b63 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M052_AP_8.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M054_AP_16.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M054_AP_16.FLM new file mode 100644 index 0000000..b721cd6 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M054_AP_16.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_AP_128.FLM new file mode 100644 index 0000000..1b2f915 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_AP_256.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_AP_256.FLM new file mode 100644 index 0000000..7beddec Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_AP_256.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_CFG.FLM new file mode 100644 index 0000000..95f8832 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_LD_4.FLM new file mode 100644 index 0000000..67dc566 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0564_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M058_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M058_AP_32.FLM new file mode 100644 index 0000000..f2bd4b9 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M058_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_AP_512.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_AP_512.FLM new file mode 100644 index 0000000..b240813 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_AP_512.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_LD_4.FLM new file mode 100644 index 0000000..2f682f6 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_NS.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_NS.FLM new file mode 100644 index 0000000..25dc1d0 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_NS.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_NS_MKROM.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_NS_MKROM.FLM new file mode 100644 index 0000000..c4cdbe4 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M2351_NS_MKROM.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_128.FLM new file mode 100644 index 0000000..f30aba7 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_16.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_16.FLM new file mode 100644 index 0000000..19644af Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_16.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_192.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_192.FLM new file mode 100644 index 0000000..bb243d1 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_192.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_256.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_256.FLM new file mode 100644 index 0000000..7e552a4 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_256.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_32.FLM new file mode 100644 index 0000000..e711557 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_64.FLM new file mode 100644 index 0000000..1276932 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_CFG.FLM new file mode 100644 index 0000000..cd8e70a Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_LD_4.FLM new file mode 100644 index 0000000..fbc7e89 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M251_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M261_AP_512.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M261_AP_512.FLM new file mode 100644 index 0000000..49e46cc Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M261_AP_512.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M261_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M261_LD_4.FLM new file mode 100644 index 0000000..a897055 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M261_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_128.FLM new file mode 100644 index 0000000..a59db7e Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_256.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_256.FLM new file mode 100644 index 0000000..1695cf5 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_256.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_40.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_40.FLM new file mode 100644 index 0000000..7687c15 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_40.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_72.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_72.FLM new file mode 100644 index 0000000..4e82939 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_AP_72.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_CFG.FLM new file mode 100644 index 0000000..c72e557 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_LD_4.FLM new file mode 100644 index 0000000..6385fe6 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M451_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_AP_128.FLM new file mode 100644 index 0000000..7f6da37 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_AP_256.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_AP_256.FLM new file mode 100644 index 0000000..fc8027b Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_AP_256.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_AP_512.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_AP_512.FLM new file mode 100644 index 0000000..c3e5b5c Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_AP_512.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_CFG.FLM new file mode 100644 index 0000000..a7caa4b Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_LD_4.FLM new file mode 100644 index 0000000..b05e4b9 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_SPIFLASH.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_SPIFLASH.FLM new file mode 100644 index 0000000..ca9ad57 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/M481_SPIFLASH.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/MR63_AP_512.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/MR63_AP_512.FLM new file mode 100644 index 0000000..d229ea6 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/MR63_AP_512.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/MR63_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/MR63_LD_4.FLM new file mode 100644 index 0000000..f245766 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/MR63_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_16.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_16.FLM new file mode 100644 index 0000000..3f2d887 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_16.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_17_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_17_5.FLM new file mode 100644 index 0000000..1d122a9 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_17_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_32.FLM new file mode 100644 index 0000000..fed6563 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_4.FLM new file mode 100644 index 0000000..89f37bb Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_8.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_8.FLM new file mode 100644 index 0000000..032a1ac Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_AP_8.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_CFG.FLM new file mode 100644 index 0000000..a636922 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_LD_2.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_LD_2.FLM new file mode 100644 index 0000000..1f49f91 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_LD_2.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_LD_2_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_LD_2_5.FLM new file mode 100644 index 0000000..360ca89 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini51_LD_2_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini57_AP_29_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini57_AP_29_5.FLM new file mode 100644 index 0000000..ccf9f65 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini57_AP_29_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini57_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini57_CFG.FLM new file mode 100644 index 0000000..326456e Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini57_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini57_LD_2.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini57_LD_2.FLM new file mode 100644 index 0000000..96fe9d9 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Mini57_LD_2.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NDA102_AP_29_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NDA102_AP_29_5.FLM new file mode 100644 index 0000000..5039cbb Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NDA102_AP_29_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NDA102_LD_2.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NDA102_LD_2.FLM new file mode 100644 index 0000000..ce66937 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NDA102_LD_2.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_16.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_16.FLM new file mode 100644 index 0000000..d8458d7 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_16.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_17_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_17_5.FLM new file mode 100644 index 0000000..db16300 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_17_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_29_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_29_5.FLM new file mode 100644 index 0000000..d611176 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_29_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_4.FLM new file mode 100644 index 0000000..79a120a Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_8.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_8.FLM new file mode 100644 index 0000000..ac21803 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_AP_8.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_CFG.FLM new file mode 100644 index 0000000..4319650 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_LD_2.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_LD_2.FLM new file mode 100644 index 0000000..2185455 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1120_LD_2.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_AP_17_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_AP_17_5.FLM new file mode 100644 index 0000000..3ddb6c4 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_AP_17_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_AP_8.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_AP_8.FLM new file mode 100644 index 0000000..f5283d5 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_AP_8.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_CFG.FLM new file mode 100644 index 0000000..bbcb002 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_LD_2.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_LD_2.FLM new file mode 100644 index 0000000..2a25b26 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1200_LD_2.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1230_AP_48.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1230_AP_48.FLM new file mode 100644 index 0000000..328a417 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1230_AP_48.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1230_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1230_AP_64.FLM new file mode 100644 index 0000000..3e11580 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1230_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1230_LD_7_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1230_LD_7_5.FLM new file mode 100644 index 0000000..d07c692 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1230_LD_7_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_AP_32.FLM new file mode 100644 index 0000000..9dd54ba Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_AP_36.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_AP_36.FLM new file mode 100644 index 0000000..057ca21 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_AP_36.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_CFG.FLM new file mode 100644 index 0000000..0aa10e1 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_DAT.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_DAT.FLM new file mode 100644 index 0000000..47f5fdd Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_DAT.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_LD_4.FLM new file mode 100644 index 0000000..ccf5680 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1320_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_AP_32.FLM new file mode 100644 index 0000000..c3315e7 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_AP_64.FLM new file mode 100644 index 0000000..e714505 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_CFG.FLM new file mode 100644 index 0000000..b51399d Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_DAT.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_DAT.FLM new file mode 100644 index 0000000..479ed36 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_DAT.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_LD_4.FLM new file mode 100644 index 0000000..188e0ff Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1330_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_AP_128.FLM new file mode 100644 index 0000000..1341d79 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_AP_32.FLM new file mode 100644 index 0000000..d97847e Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_AP_64.FLM new file mode 100644 index 0000000..5c71bab Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_CFG.FLM new file mode 100644 index 0000000..801a18e Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_DAT.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_DAT.FLM new file mode 100644 index 0000000..ecd5f64 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_DAT.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_LD_4.FLM new file mode 100644 index 0000000..e63c983 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_LD_8.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_LD_8.FLM new file mode 100644 index 0000000..5f6f49a Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1500_LD_8.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1810_AP_29_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1810_AP_29_5.FLM new file mode 100644 index 0000000..7127040 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1810_AP_29_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1810_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1810_CFG.FLM new file mode 100644 index 0000000..3dbce4c Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1810_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1810_LD_2.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1810_LD_2.FLM new file mode 100644 index 0000000..c1ffcb5 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1810_LD_2.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1820_AP_17_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1820_AP_17_5.FLM new file mode 100644 index 0000000..d68df37 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1820_AP_17_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1820_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1820_CFG.FLM new file mode 100644 index 0000000..18f9cf5 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1820_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1820_LD_2.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1820_LD_2.FLM new file mode 100644 index 0000000..6cdd1ec Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NM1820_LD_2.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029GE_AP_256.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029GE_AP_256.FLM new file mode 100644 index 0000000..fa85296 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029GE_AP_256.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029GE_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029GE_LD_4.FLM new file mode 100644 index 0000000..573cd50 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029GE_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_128.FLM new file mode 100644 index 0000000..9e0157a Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_16.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_16.FLM new file mode 100644 index 0000000..85c93fe Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_16.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_32.FLM new file mode 100644 index 0000000..3f04c97 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_64.FLM new file mode 100644 index 0000000..2151be8 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_68.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_68.FLM new file mode 100644 index 0000000..1198e3f Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_AP_68.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_LD_2.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_LD_2.FLM new file mode 100644 index 0000000..93cdcc0 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_LD_2.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_LD_4.FLM new file mode 100644 index 0000000..3ac164d Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_LD_8.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_LD_8.FLM new file mode 100644 index 0000000..ad494a0 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC029_LD_8.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_128.FLM new file mode 100644 index 0000000..c8215fd Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_32.FLM new file mode 100644 index 0000000..045dbee Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_36.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_36.FLM new file mode 100644 index 0000000..88040e1 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_36.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_64.FLM new file mode 100644 index 0000000..a8b792d Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_68.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_68.FLM new file mode 100644 index 0000000..fe08449 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_AP_68.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_CFG.FLM new file mode 100644 index 0000000..8cef529 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_DAT.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_DAT.FLM new file mode 100644 index 0000000..520e13c Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_DAT.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_LD_4.FLM new file mode 100644 index 0000000..1ef487e Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_LD_8.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_LD_8.FLM new file mode 100644 index 0000000..5e4aa10 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC100_LD_8.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC121_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC121_AP_32.FLM new file mode 100644 index 0000000..318cdf8 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC121_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC121_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC121_CFG.FLM new file mode 100644 index 0000000..e706a99 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC121_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC121_LD_4_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC121_LD_4_5.FLM new file mode 100644 index 0000000..42cb4c2 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC121_LD_4_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_AP_128.FLM new file mode 100644 index 0000000..7b8e6d3 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_AP_256.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_AP_256.FLM new file mode 100644 index 0000000..9aa698b Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_AP_256.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_CFG.FLM new file mode 100644 index 0000000..50303d0 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_LD_4.FLM new file mode 100644 index 0000000..49b9e6a Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC126_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_32.FLM new file mode 100644 index 0000000..57a9cdb Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_36.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_36.FLM new file mode 100644 index 0000000..c263a76 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_36.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_64.FLM new file mode 100644 index 0000000..ee14a72 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_68.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_68.FLM new file mode 100644 index 0000000..957de5d Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_AP_68.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_LD_4.FLM new file mode 100644 index 0000000..e058b33 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC1311_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_AP_128.FLM new file mode 100644 index 0000000..cc0c775 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_AP_32.FLM new file mode 100644 index 0000000..18a16a3 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_AP_64.FLM new file mode 100644 index 0000000..bdbbd83 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_CFG.FLM new file mode 100644 index 0000000..da90e4f Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_DAT.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_DAT.FLM new file mode 100644 index 0000000..8663c42 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_DAT.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_LD_4.FLM new file mode 100644 index 0000000..3ea9b7e Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_LD_8.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_LD_8.FLM new file mode 100644 index 0000000..fd462dd Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC200_LD_8.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_128.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_128.FLM new file mode 100644 index 0000000..6e1fad7 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_128.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_256.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_256.FLM new file mode 100644 index 0000000..8bcac2f Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_256.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_384.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_384.FLM new file mode 100644 index 0000000..adbaac5 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_384.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_512.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_512.FLM new file mode 100644 index 0000000..7382fcd Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_AP_512.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_CFG.FLM new file mode 100644 index 0000000..eb56ea6 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_LD_16.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_LD_16.FLM new file mode 100644 index 0000000..bf1af93 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC400_LD_16.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC505_SPIFLASH.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC505_SPIFLASH.FLM new file mode 100644 index 0000000..1756484 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/NUC505_SPIFLASH.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_123.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_123.FLM new file mode 100644 index 0000000..69a6ba4 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_123.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_16.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_16.FLM new file mode 100644 index 0000000..77503f5 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_16.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_32.FLM new file mode 100644 index 0000000..3c51a7f Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_64.FLM new file mode 100644 index 0000000..b89afca Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_8.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_8.FLM new file mode 100644 index 0000000..a97ed9f Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_AP_8.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_CFG.FLM new file mode 100644 index 0000000..68e7b29 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_DAT.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_DAT.FLM new file mode 100644 index 0000000..a4d9aed Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_DAT.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_LD_4.FLM new file mode 100644 index 0000000..0c82f26 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano100_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_AP_16.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_AP_16.FLM new file mode 100644 index 0000000..87dbab8 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_AP_16.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_AP_32.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_AP_32.FLM new file mode 100644 index 0000000..2afe965 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_AP_32.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_AP_64.FLM new file mode 100644 index 0000000..daeb61a Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_CFG.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_CFG.FLM new file mode 100644 index 0000000..6f6fbef Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_CFG.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_DAT.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_DAT.FLM new file mode 100644 index 0000000..2e7eb7c Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_DAT.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_LD_4.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_LD_4.FLM new file mode 100644 index 0000000..fedbf97 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/Nano103_LD_4.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/TF5100_AP_48.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/TF5100_AP_48.FLM new file mode 100644 index 0000000..3b7ee52 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/TF5100_AP_48.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/TF5100_AP_64.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/TF5100_AP_64.FLM new file mode 100644 index 0000000..fff5253 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/TF5100_AP_64.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/TF5100_LD_7_5.FLM b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/TF5100_LD_7_5.FLM new file mode 100644 index 0000000..01e3300 Binary files /dev/null and b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/FLM/TF5100_LD_7_5.FLM differ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_64.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_64.lua deleted file mode 100644 index a73b122..0000000 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_64.lua +++ /dev/null @@ -1,58 +0,0 @@ - -------------------------------------------------------- --- ļ : STM32F0xx_64.lua --- : V1.0 2020-04-28 --- ˵ : -------------------------------------------------------- -function config_cpu(void) - CHIP_TYPE = "SWD" --ָӿ: "SWD", "SWIM", "SPI", "I2C", "UART" - - AlgoFile_FLASH = "0:/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_64.FLM.FLM" - AlgoFile_OTP = "" - AlgoFile_OPT = "0:/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_CFG.FLM" - AlgoFile_QSPI = "" - AlgoFile_DAT = "0:/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_DAT.FLM" - - FLASH_ADDRESS = 0x00000000 --CPUڲFLASHʼַ - - DATA_ADDRESS = 0x0001F000 --CPUڲFLASHʼַ - - - RAM_ADDRESS = 0x20000000 --CPUڲRAMʼַ - - --Flash㷨ļڴַʹС - AlgoRamAddr = RAM_ADDRESS - AlgoRamSize = 4 * 1024 - - MCU_ID = 0x0BB11477 - - UID_ADDR = 0x1FFFF7AC --UIDַͬCPUͬ - UID_BYTES = 12 - - OB_ADDRESS = "00300000 00300001 00300002 00300003 00300004 00300005 00300006 00300007" - - OB_SECURE_OFF = "FF FF FF FF FF FF FF FF" --SECURE_ENABLE = 0ʱϺдֵ() - OB_SECURE_ON = "FD FF FF FF FF FF FF FF" --SECURE_ENABLE = 1ʱϺдֵ(оƬ) - - --ж϶д(WRP = Write protection) 1101 - OB_WRP_ADDRESS = {0x00300000} --ڴַ - OB_WRP_MASK = {0x20} -- - OB_WRP_VALUE = {0x20} --Ƚϣȱʾûб -end - -function init_cpu(void) - local reg - local re - - --SYS_UnlockReg(); - print(pg_write32(0x50000100, 0x59)) - print(pg_write32(0x50000100, 0x16)) - print(pg_write32(0x50000100, 0x88)) - - --FMC_Open - --FMC->ISPCON |= FMC_ISPCON_ISPEN_Msk; - re,reg = pg_read32(0x5000C000) - pg_write32(0x5000C000, reg | 1) -end - --------------------------------------------------------------- diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_68.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_68.lua deleted file mode 100644 index 4bf770d..0000000 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_68.lua +++ /dev/null @@ -1,42 +0,0 @@ - -------------------------------------------------------- --- ļ : STM32F0xx_64.lua --- : V1.0 2020-04-28 --- ˵ : -------------------------------------------------------- -function config_cpu(void) - CHIP_TYPE = "SWD" --ָӿ: "SWD", "SWIM", "SPI", "I2C", "UART" - - AlgoFile_FLASH = "0:/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_AP_68.FLM.FLM" - AlgoFile_OTP = "" - AlgoFile_OPT = "0:/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_CFG.FLM" - AlgoFile_QSPI = "" - AlgoFile_DAT = "0:/H7-TOOL/Programmer/Device/Nuvoton/M0518/M0518_DAT.FLM" - - FLASH_ADDRESS = 0x00000000 --CPUڲFLASHʼַ - - DATA_ADDRESS = 0x0001F000 --CPUڲFLASHʼַ - - RAM_ADDRESS = 0x20000000 --CPUڲRAMʼַ - - --Flash㷨ļڴַʹС - AlgoRamAddr = RAM_ADDRESS - AlgoRamSize = 4 * 1024 - - MCU_ID = 0x0BB11477 - - UID_ADDR = 0x1FFFF7AC --UIDַͬCPUͬ - UID_BYTES = 12 - - OB_ADDRESS = "00300000 00300001 00300002 00300003 00300004 00300005 00300006 00300007" - - OB_SECURE_OFF = "FF FF FF FF FF FF FF FF" --SECURE_ENABLE = 0ʱϺдֵ() - OB_SECURE_ON = "FD FF FF FF FF FF FF FF" --SECURE_ENABLE = 1ʱϺдֵ(оƬ) - - --ж϶д(WRP = Write protection) 1101 - OB_WRP_ADDRESS = {0x00300000} --ڴַ - OB_WRP_MASK = {0x20} -- - OB_WRP_VALUE = {0x20} --Ƚϣȱʾûб -end - --------------------------------------------------------------- diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/Nuvoton.NuMicro_DFP.pdsc b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/Nuvoton.NuMicro_DFP.pdsc new file mode 100644 index 0000000..56e2898 --- /dev/null +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/Nuvoton/Nuvoton.NuMicro_DFP.pdsc @@ -0,0 +1,13858 @@ + + + Nuvoton + http://www.nuvoton.com/hq/enu/Documents/KEILSoftwarePack + NuMicro_DFP + Nuvoton ARM Cortex-M NuMicro Family Device Support + + + + Add MR63, M032, NUC1311, TF5103, NM18107Y, NM18202Y devices, update M451 svd file + + + Add M261 series, M480, M031 device, update NM1000 series device + + + Update M2351 Flash algorithm, M251/M252 series device and add M251 svd files + + + Add system and startup files + + + 1. Add M480 series part no. + 2. Remove device driver file + 3. Remove ISD and NuVoice Family + + + 1. Add M23 and M4 family + 2. Add M031, NUC029DE/EE/GE, NUC1261, M4521, NM1230, NDA102, M251/M252 series device + + + M2351 secure and non-secure region defalt value + + + Improved PDSC file, adding include paths for device peripherals and new date feature and update svd file + + + Add M2351 and NUC2201 series device and svd file and update NUC100, NUC200, M480, NUC505 series example code + + + Add M0564, NUC121, NUC125, NUC126, Mini57 and M480 series example code + + + Rename Generic series + + + Add Nano103, NM1120, NM1330, NM1820 series svd file and update M051, M058S, Mini51, Nano100bn, Nano103, NUC123, NUC200, NUC505 series example code + + + Add NM1200 series example code and update svd file + + + Add Nano103, NM1120, NM1320, NM1330, NM1820 chip, update M0519, NUC230_240, NUC472, M451 series example code + + + Add Mini55 chip, update Mini58, NUC100, NUC122, NUC123, Nano100AN, Nano112, NUC200, NUC230_240 series example code + + + Add NUC122, M058S, Mini58, M0519 series example code + + + Add M451, NUC100, NUC200, NUC123, NUC029, M0518, NUC131, NANO100BN, NUC505 series example code + + + Add ISD9100, ISD9300, N571, N572 svd file and M4LED chip series + + + Add (M051, Mini51, Nano112, NUC240, NUC472) example code and new chip series + + + First Release version of NuMicro Device Family Pack. + + + + + + Nuvoton + Device Support + Device Family Package Nuvoton + NuMicro + + + + + + + + The NuMicro Generic Series 32-bit microcontroller + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Nuvoton Cortex-M0 based NuMicro M031/M032 series MCU features 1.8 ~ 3.6V operating voltage, running up to 48 MHz, + and provides a good solution for the applications that need low-voltage interface connection operation. This product can be applied to mobile devices, + application processor connected peripheral controllers, IoT sensor devices, motor control, industrial control, and consumer devices. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro M051 series is a 32-bit microcontroller with embedded ARM Cortex-M0 core for industrial control and applications which need +rich communication interfaces. The Cortex-M0 is the newest ARM embedded processor with 32-bit performance and at a cost equivalent to traditional 8-bit microcontroller. +The NuMicro M051 series includes M052, M054, M058 and M0516 families. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro M058S is a 32-bit microcontroller with embedded ARM Cortex-M0 core for industrial control and applications which need rich communication interfaces. +The Cortex-M0 is ARM embedded processor with 32-bit performance and cost-effective microcontroller. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro Mini51 series 32-bit microcontroller is embedded with ARM Cortex-M0 core for industrial control and applications +which require high performance, high integration, and low cost. The Cortex-M0 is the newest ARM embedded processor with 32-bit performance +at a cost equivalent to the traditional 8-bit microcontroller. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro Mini57 series 32-bit microcontrollers are embedded with Cortex-M0 core for industrial applications which need high performance, high integration, and low cost. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro Mini58 series 32-bit microcontroller is embedded with ARMR Cortex-M0 core for industrial control and applications which +require high performance, high integration, and low cost. The Cortex-M0 is the newest ARMR embedded processor with 32-bit performance at a cost equivalent +to the traditional 8-bit microcontroller + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro Mini55 series 32-bit microcontroller is embedded with Cortex-M0 core for industrial control and applications which require high performance, high integration, and low cost. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NDA102 series 32-bit microcontrollers are embedded with Cortex-M0 core for industrial applications which need high performance, high integration, and low cost. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC029 series is a 32-bit microcontroller with embedded ARM Cortex-M0 core with 32-bit performance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC029 series is a 32-bit microcontroller with embedded ARM Cortex-M0 core with 32-bit performance. + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC029 series is a 32-bit microcontroller with embedded ARM Cortex-M0 core with 32-bit performance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC029 series is a 32-bit microcontroller with embedded ARM Cortex-M0 core with 32-bit performance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC029 series is a 32-bit microcontroller with embedded ARM Cortex-M0 core with 32-bit performance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC100 Series 32-bit microcontroller is embedded with ARM Cortex-M0 core for industrial control and applications that +need rich communication interfaces. The Cortex-M0 is the newest ARM embedded processor with 32-bit performance and at a cost equivalent to traditional +8-bit microcontroller. The NuMicro NUC100 Series includes NUC100, NUC120, NUC130 and NUC140 product lines. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC131 CAN Line is embedded with the Cortex-M0 core running up to 50 MHz and features 36K/68K bytes flash, 8K bytes SRAM, +and 4 Kbytes loader ROM for the ISP. It is also equipped with plenty of peripheral devices, such as Timers, Watchdog Timer (WDT), Window Watchdog Timer (WWDT), + UART, SPI, I2C, PWM, GPIO, LIN, CAN, 800 kSPS high speed 12-bit ADC, Low Voltage Reset Controller and Brown-out Detector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC1311 is embedded with the Cortex-M0 core running up to 50 MHz and features 36K/68K bytes flash, 8K bytes SRAM, +and 4 Kbytes loader ROM for the ISP. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC122 series are 32-bit microcontrollers with Cortex-M0 core runs up to 60 MHz, up to 32K/64K-byte embedded flash, +4K/8K-byte embedded SRAM, and 4K-byte loader ROM for the In System Program (ISP) function. It also integrates Timers, Watchdog Timer, RTC, UART, +SPI, I2C, PWM Timer, GPIO, USB 2.0 Full Speed Device, Low Voltage Reset Controller and Brownout Detector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC123 series 32-bit microcontrollers are embedded with Cortex-M0 core running up to 72 MHz, up to 36K/68K-byte embedded flash, +12K/20K-byte embedded SRAM, and 4K-byte loader ROM for the ISP. It also integrates Timers, Watchdog Timer, Windowed Watchdog Timer, PDMA with CRC calculation unit, +UART, SPI/MICROWIRE, I2C, I2S, PWM Timer, GPIO, PS/2, USB 2.0 FS Device, 10-bit ADC, Low Voltage Reset Controller and Brown-out Detector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC121/125 series is a 32-bit Cortex-M0 microcontroller with USB 2.0 Full-speed device, a 12-bit ADC and 4 sets of 6-channel BPWM. +The NUC121/125 series provides the high 50 MHz operating speed, 8 Kbytes SRAM, 8 USB endpoints and 24 channels of BPWM, which make it powerful in USB communication and data processing. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC126 series microcontroller based on the Cortex-M0 core operates at up to 72 MHz. +With its crystal-less USB 2.0 FS interface, it is able to generate precise frequency required by USB protocol without the need of external crystal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC1261 series microcontroller based on the Cortex-M0 core operates at up to 72 MHz. With its crystal-less USB 2.0 FS interface, +it is able to generate precise frequency required by USB protocol without the need of external crystal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro M0518 is embedded with the Cortex-M0 core running up to 50 MHz and features 36K/68K bytes flash, 8K bytes SRAM, and 4 Kbytes loader ROM for the ISP. + It is also equipped with plenty of peripheral devices, such as Timers, Watchdog Timer (WDT), Window Watchdog Timer (WWDT), UART, SPI, I2C, PWM, GPIO, LIN, 800 kSPS high speed 12-bit ADC, Low Voltage Reset Controller and Brown-out Detector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro M0519 Series 32-bit microcontroller is embedded with the newest ARM Cortex-M0 core at a cost equivalent to traditional +8-bit microcontroller for industrial control and applications which need high performance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro M0564 series microcontroller based on the Cortex-M0 core operates at up to 72 MHz. +It features adjustable VDDIO pins for specific I/O pins with a wide range of voltage from 1.8V to 5.5V for various operating voltages of external components, +a unique high-speed PWM with clock frequency up to 144 MHz for precision control, and an integrated hardware divider to speed up the calculation for the control algorithms. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC200 Series 32-bit microcontrollers is embedded with the newest ARM Cortex-M0 core with a cost equivalent to traditional 8-bit MCU +for industrial control and applications requiring rich communication interfaces. The NuMicro NUC200 Series includes NUC200 and NUC220 product lines. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC2201 series 32-bit microcontrollers are embedded with the ARM Cortex-M0 core with a cost equivalent to traditional 8-bit MCU for industrial control and applications requiring rich communication interfaces. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC230_240 Series 32-bit microcontrollers is embedded with the newest ARM Cortex-M0 core with a cost equivalent to traditional 8-bit MCU +for industrial control and applications requiring rich communication interfaces. The NuMicro NUC230_240 Series includes NUC230 and NUC240 product lines. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Nano100 series provides low power voltage, low power consumption, low standby current, high integration peripherals, +high-efficiency operation, fast wake-up function and lowest cost 32-bit microcontrollers. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Nano100 series ultra-low power 32-bit microcontroller is embedded with Cortex-M0 core operated at a wide voltage range from 1.8V to 3.6V and runs up to 42 MHz frequency. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Nano112 series provides low power voltage, low power consumption, low standby current, high integration peripherals, +high-efficiency operation, fast wake-up function and the lowest cost 32-bit microcontrollers. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Nano103 series ultra-low-power 32-bit microcontroller embeded with Cortex-M0 core operates at low voltage ranged from 1.8V to 3.6V and runs up to 36 MHz frequency. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The TF5100 series 32-bit microcontroller embeded with Cortex-M0 core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NM1120 series 32-bit microcontroller embeded with Cortex-M0 core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NM1200 series 32-bit microcontroller embeded with Cortex-M0 core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NM1230 series 32-bit microcontroller embeded with Cortex-M0 core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NM1320 series 32-bit microcontroller embeded with Cortex-M0 core. + + + + + + + + + + + + + + + + + + + + + + + + + The NM1330 series 32-bit microcontroller embeded with Cortex-M0 core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NM1500 Series 32-bit microcontroller is embedded with the newest ARM Cortex-M0 core at a cost equivalent to traditional +8-bit microcontroller for industrial control and applications which need high performance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NM1810 series 32-bit microcontroller embeded with Cortex-M0 core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NM1820 series 32-bit microcontroller embeded with Cortex-M0 core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro M251 series is a 32-bit microcontroller with embedded ARM Cortex-M23 core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro M2351 series is a 32-bit microcontroller with embedded ARM Cortex-M23 core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro M261 series is a 32-bit microcontroller with embedded ARM Cortex-M23 core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro MR63 series is a 32-bit microcontroller with embedded ARM Cortex-M23 core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC442 and NUC472 with embedded Cortex-M4F core with DSP extensions and a Floating Point Unit runs up to 84 MHz +with 256/512 Kbytes embedded flash memories and 64K-byte embedded SRAM. It is also equipped with plenty of peripheral devices, such as Timers, Watchdog Timers, +RTC, PDMA, EBI, UART, Smart Card interface, SD HOST, SPI, I2C, I2S, PWM Timer, GPIO, LIN, CAN, PS/2, 12-bit ADC, analog comparator, operational amplifier, +temperature sensor, Low Voltage Reset Controller and Brown-out Detector. The NUC442 also provides USB 2.0 full-speed Device/Host/OTG, USB 2.0 HS device and +security functions such as tamper detection, symmetric cryptographic accelerator and secure Hash function accelerator. +NUC472 also provides Ethernet 10/100 MAC with MII and RMII interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro M451 series 32-bit microcontrollers are embedded with ARM Cortex-M4F core for industrial control and applications +which need high density memories and rich communication interfaces. +The NuMicro M451 Network Line embeds Cortex-M4F core with DSP extensions and a Floating Point Unit running up to 72 MHz with 256K/128K bytes +embedded flash and 32 Kbytes embedded SRAM. It is also equipped with plenty of peripheral devices, such as Timers, Watchdog Timers, RTC, PDMA, +EBI, UART, Smart Card interface, SPI, I2S, I2C, CAN, PWM Timer, GPIO, 12-bit ADC, 12-bit DAC, touch key sensor, analog comparator, temperature sensor, +Low voltage reset and Brown-out Detector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro M4521 series 32-bit microcontroller powered by Cortex-M4F with DSP and FPU runs up to 72 MHz. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro M480 series 32-bit microcontroller powered by Cortex-M4F with DSP extension runs up to 192 MHz with 175µA/MHz power consumption. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The NuMicro NUC505 series 32-bit microcontrollers are embedded with Cortex-M4F core for consumer and industrial applications which need high computing power and rich communication interfaces. +The Cortex-M4F core within NuMicro NUC505 series can run up to 100 MHz and support DSP extensions and Floating Point Unit (FPU) function. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nuvoton M0NuMicro M031 Series devices + + + + + + Nuvoton M0NuMicro M051 Series devices + + + + + + + + Nuvoton M0NuMicro M058S Series devices + + + + Nuvoton M23NuMicro M251 Series devices + + + + Nuvoton M4NuMicro M451 Series devices + + + + + + + Nuvoton M4NuMicro M480 Series devices + + + + + + + Nuvoton M0NuMicro M0518 Series devices + + + + Nuvoton M0NuMicro M0519 Series devices + + + + Nuvoton M0NuMicro M0564 Series devices + + + + Nuvoton M23NuMicro M2351 Series devices + + + + + + Nuvoton M23NuMicro M261 Series devices + + + + + Nuvoton M23NuMicro MR63 Series devices + + + + + Nuvoton M4NuMicro M4521 Series devices + + + + Nuvoton M0NuMicro Mini51 Series devices + + + + + Nuvoton M0NuMicro Mini55 Series devices + + + + + + Nuvoton M0NuMicro Mini57 Series devices + + + + Nuvoton M0NuMicro Mini58 Series devices + + + + Nuvoton M0NuMicro NANO100A Series devices + + + + + Nuvoton M0NuMicro NANO100B Series devices + + + + Nuvoton M0NuMicro NANO103 Series devices + + + + Nuvoton M0NuMicro NANO112 Series devices + + + + Nuvoton M0NuMicro NDA102 Series devices + + + + Nuvoton M0NuMicro TF5100 Series devices + + + + + Nuvoton M0NuMicro NM1120 Series devices + + + + Nuvoton M0NuMicro NM1100_1200 Series devices + + + + Nuvoton M0NuMicro NM1230 Series devices + + + + Nuvoton M0NuMicro NM1320 Series devices + + + + Nuvoton M0NuMicro NM1330 Series devices + + + + Nuvoton M0NuMicro NM1500 Series devices + + + + Nuvoton M0NuMicro NM1810 Series devices + + + + + Nuvoton M0NuMicro NM1820 Series devices + + + + + + Nuvoton M0NuMicro NUC029AE Series devices + + + + Nuvoton M0NuMicro NUC029AN Series devices + + + + Nuvoton M0NuMicro NUC029DE Series devices + + + + Nuvoton M0NuMicro NUC029EE Series devices + + + + Nuvoton M0NuMicro NUC029GE Series devices + + + + Nuvoton M0NuMicro NUC100 Series devices + + + + + Nuvoton M0NuMicro NUC121 Series devices + + + + + Nuvoton M0NuMicro NUC122 Series devices + + + + Nuvoton M0NuMicro NUC123 Series devices + + + + Nuvoton M0NuMicro NUC126 Series devices + + + + Nuvoton M0NuMicro NUC131 Series devices + + + + Nuvoton M0NuMicro NUC1311 Series devices + + + + Nuvoton M0NuMicro NUC200 Series devices + + + + + Nuvoton M0NuMicro NUC230_240 Series devices + + + + Nuvoton M4NuMicro NUC472 Series devices + + + + Nuvoton M4NuMicro NUC505 Series devices + + + + + + Nuvoton M0NuMicro NUC1261 Series devices + + + + Nuvoton M0NuMicro NUC2201 Series devices + + + + + + + + + System Startup for Nuvoton M031 Series + + + + + + + + + + + + + + + + + + + + System Startup for Nuvoton M051 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton M058S Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton M251 Series + + + + + + + + + + + + + + + + + + + + System Startup for Nuvoton M451 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton M480 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton M0518 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton M0519 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton M0564 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton M2351 Series + + + + + + + + + + + + + + + + + + + + System Startup for Nuvoton M261 Series + + + + + + + + + + + + + + + + + + + + System Startup for Nuvoton MR63 Series + + + + + + + + + + + + + + + + + + + + System Startup for Nuvoton M4521 Series + + + + + + + + + + + + + + + + + + + System Startup for Nuvoton Mini51 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton Mini55 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton Mini57 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton Mini58 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton Nano100AN Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton Nano100BN Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton Nano103 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton Nano112 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NDA102 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton TF5100 Series + + + + + + + + + + + + + + + + + System Startup for Nuvoton NM1120 Series + + + + + + + + + + + + + + + + + System Startup for Nuvoton NM1100_1200 Series + + + + + + + + + + + + + + + + + System Startup for Nuvoton NM1230 Series + + + + + + + + + + + + + + + + + System Startup for Nuvoton NM1320 Series + + + + + + + + + + + + + + + + + System Startup for Nuvoton NM1330 Series + + + + + + + + + + + + + + + + + System Startup for Nuvoton NM1500 Series + + + + + + + + + + + + + + + + + System Startup for Nuvoton NM1810 Series + + + + + + + + + + + + + + + + + System Startup for Nuvoton NM1820 Series + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC029AE Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC029AN Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC029DE Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC029EE Series + + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC029GE Series + + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC100 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC121 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC122 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC123 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC126 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC131 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC1311 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC200 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC230_240 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC472 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC505 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC1261 Series + + + + + + + + + + + + + + + + + + System Startup for Nuvoton NUC2201 Series + + + + + + + + + + + + + + + + + + diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF52xx_F62xx_F63xx.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF52xx_F62xx_F63xx.lua index e039c4c..dc7ff82 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF52xx_F62xx_F63xx.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF52xx_F62xx_F63xx.lua @@ -67,7 +67,7 @@ function config_cpu(void) EEPROM_ADDRESS = 0x004000 --FLASHʼַ(STM8SSTM8Lͬ - for i = 1, #TaskList, 3 do + for i = 1, #DeviceList, 3 do if (CHIP_NAME == DeviceList[i]) then FLASH_SIZE = DeviceList[i + 1] --FLASH EEPROM_SIZE = DeviceList[i + 2] --EEPROM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF6226_F6223_F6213.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF6226_F6223_F6213.lua index dab36ad..6ed5442 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF6226_F6223_F6213.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF6226_F6223_F6213.lua @@ -24,7 +24,7 @@ function config_cpu(void) EEPROM_ADDRESS = 0x004000 --FLASHʼַ(STM8SSTM8Lͬ - for i = 1, #TaskList, 3 do + for i = 1, #DeviceList, 3 do if (CHIP_NAME == DeviceList[i]) then FLASH_SIZE = DeviceList[i + 1] --FLASH EEPROM_SIZE = DeviceList[i + 2] --EEPROM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8L/STM8L101.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8L/STM8L101.lua index 184952f..59234d6 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8L/STM8L101.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8L/STM8L101.lua @@ -27,7 +27,7 @@ function config_cpu(void) EEPROM_ADDRESS = 0x009FC0 --EEPROMʼַ(STM8SSTM8Lͬ - for i = 1, #TaskList, 3 do + for i = 1, #DeviceList, 3 do if (CHIP_NAME == DeviceList[i]) then FLASH_SIZE = DeviceList[i + 1] --FLASH EEPROM_SIZE = DeviceList[i + 2] --EEPROM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8L/STM8L151_152_05x_162.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8L/STM8L151_152_05x_162.lua index a61f5b2..7666a22 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8L/STM8L151_152_05x_162.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8L/STM8L151_152_05x_162.lua @@ -33,6 +33,8 @@ function config_cpu(void) "STM8L152C4", 16 * 1024, 1 * 1024, "STM8L152C6", 32 * 1024, 1 * 1024, "STM8L152C8", 64 * 1024, 2 * 1024, + "STM8L152K4", 16 * 1024, 1 * 1024, + "STM8L152K6", 32 * 1024, 1 * 1024, "STM8L152K8", 64 * 1024, 2 * 1024, "STM8L152R8", 64 * 1024, 2 * 1024, "STM8L152M8", 64 * 1024, 2 * 1024, @@ -55,7 +57,7 @@ function config_cpu(void) EEPROM_ADDRESS = 0x001000 --EEPROMʼַ(STM8SSTM8Lͬ - for i = 1, #TaskList, 3 do + for i = 1, #DeviceList, 3 do if (CHIP_NAME == DeviceList[i]) then FLASH_SIZE = DeviceList[i + 1] --FLASH EEPROM_SIZE = DeviceList[i + 2] --EEPROM @@ -75,8 +77,20 @@ function config_cpu(void) OB_ADDRESS = "4800 4802 4807 4808 4809 480A 480B 480C" - OB_SECURE_OFF = "AA 00 00 00 00 00 00 00" --SECURE_ENABLE = 0ʱϺдֵ (ֽڣ - OB_SECURE_ON = "00 00 00 00 00 00 00 00" --SECURE_ENABLE = 1ʱϺдֵ + OB_SECURE_OFF = "AA 00 00 00 00 00 00 00 00" --SECURE_ENABLE = 0ʱϺдֵ (ֽڣ + OB_SECURE_ON = "00 00 00 00 00 00 00 00 00" --SECURE_ENABLE = 1ʱϺдֵ + + MCU_REMOVE_PROTECT = 1 --1ʾʹ MCU_RemoveProtect() +end + +-- STM8L05x/15x, medium density STM8L05x/15x and STM8AL31xx/STM8AL3Lxx and high density STM8L05x/15x/16x microcontrollers, +-- Ҫ2дܽ +function MCU_RemoveProtect(void) + pg_prog_buf_ob("4800", "AA") + delayms(5) + pg_prog_buf_ob("4800", "AA") + delayms(5) + pg_reset() end -------------------------------------------------------------- diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S103_903_003_001.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S103_903_003_001.lua index 5578151..d5640a5 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S103_903_003_001.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S103_903_003_001.lua @@ -27,7 +27,7 @@ function config_cpu(void) EEPROM_ADDRESS = 0x004000 --FLASHʼַ(STM8SSTM8Lͬ - for i = 1, #TaskList, 3 do + for i = 1, #DeviceList, 3 do if (CHIP_NAME == DeviceList[i]) then FLASH_SIZE = DeviceList[i + 1] --FLASH EEPROM_SIZE = DeviceList[i + 2] --EEPROM @@ -38,6 +38,7 @@ function config_cpu(void) else FLASH_BLOCK_SIZE = 128 end + break end end diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S105_005_007.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S105_005_007.lua index 61189b7..f346742 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S105_005_007.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S105_005_007.lua @@ -27,7 +27,7 @@ function config_cpu(void) EEPROM_ADDRESS = 0x004000 --FLASHʼַ(STM8SSTM8Lͬ - for i = 1, #TaskList, 3 do + for i = 1, #DeviceList, 3 do if (CHIP_NAME == DeviceList[i]) then FLASH_SIZE = DeviceList[i + 1] --FLASH EEPROM_SIZE = DeviceList[i + 2] --EEPROM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S207_208.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S207_208.lua index 216248b..b4bae48 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S207_208.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/Device/ST/STM8S/STM8S207_208.lua @@ -40,7 +40,7 @@ function config_cpu(void) EEPROM_ADDRESS = 0x004000 --FLASHʼַ(STM8SSTM8Lͬ - for i = 1, #TaskList, 3 do + for i = 1, #DeviceList, 3 do if (CHIP_NAME == DeviceList[i]) then FLASH_SIZE = DeviceList[i + 1] --FLASH EEPROM_SIZE = DeviceList[i + 2] --EEPROM diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/LuaLib/fix_data.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/LuaLib/fix_data.lua index 833f507..e27f745 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/LuaLib/fix_data.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/LuaLib/fix_data.lua @@ -128,6 +128,7 @@ function sn_new(void) local bin = {} local out = {} local sn1 + local s sn1 = pg_read_sn() --ϴSN str = string.format("last sn = %d", sn1) print(str) @@ -141,15 +142,15 @@ function sn_new(void) --ƴΪƴ if (SN_LITTLE_ENDIN == 1) then - s = string.char(sn1) - s = s..string.char(sn1 >> 8) - s = s..string.char(sn1 >> 16) - s = s..string.char(sn1 >> 24) + s = string.char(sn1 & 0xFF) + s = s..string.char((sn1 >> 8) & 0xFF) + s = s..string.char((sn1 >> 16) & 0xFF) + s = s..string.char((sn1 >> 24) & 0xFF) else - s = string.char(sn1 >> 24) - s = s..string.char(sn1 >> 16) - s = s..string.char(sn1 >> 8) - s = s..string.char(sn1) + s = string.char((sn1 >> 24) & 0xFF) + s = s..string.char((sn1 >> 16) & 0xFF) + s = s..string.char((sn1 >> 8) & 0xFF) + s = s..string.char(sn1 & 0xFF) end return s; end @@ -183,10 +184,10 @@ function uid_encrypt(uid) out[4] = out[2] ~ 0x78 --ƴΪƴ - s = string.char(out[1]) - s = s..string.char(out[2]) - s = s..string.char(out[3]) - s = s..string.char(out[4]) + s = string.char(out[1] & 0xFF) + s = s..string.char(out[2] & 0xFF) + s = s..string.char(out[3] & 0xFF) + s = s..string.char(out[4] & 0xFF) return s end diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/LuaLib/prog_lib.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/LuaLib/prog_lib.lua index 41a7465..45bfda1 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/LuaLib/prog_lib.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/LuaLib/prog_lib.lua @@ -1,6 +1,6 @@ ------------------------------------------------------- -- ļ : prog_lib.lua --- : V1.0 2020-04-23 +-- : V1.1 2020-06-03 -- ˵ :ѻ̹ú ------------------------------------------------------- @@ -43,7 +43,18 @@ function prog_or_erase(mode) config_chip1() --¼ - print("SWCLKʱӳ: ", SWD_CLOCK_DELAY) + if (CHIP_TYPE == "SWD") then + print("SWCLKʱӳ: ", SWD_CLOCK_DELAY) + else if (CHIP_TYPE == "SWIM") then + print("CHIP_NAME = "..CHIP_NAME) + print(" flash size = ", FLASH_SIZE) + print(" eeprom size = ", EEPROM_SIZE) + if (FLASH_SIZE == nil or EEPROM_SIZE == nil) then + err = "chip name is invalid" + goto quit + end + end + end -- set_tvcc(0) --ϵ -- delayms(20) @@ -133,7 +144,7 @@ function prog_or_erase(mode) else err = swim_start_prog() --STM8 (SWD) end - else + else -- if (mode == 1) then err = erase_chip(FLASH_ADDRESS) --CPU Flash else @@ -294,14 +305,22 @@ function swd_start_prog(void) for i = 1, #OB_WRP_ADDRESS, 1 do local wrp - re,ob_data = pg_read_mem(OB_WRP_ADDRESS[i], 1) + if (MCU_READ_OPTION == 1) then + re,ob_data = MCU_ReadOptionsByte(OB_WRP_ADDRESS[i], 1) + else + re,ob_data = pg_read_mem(OB_WRP_ADDRESS[i], 1) + end if (re == 0) then print(" Ĵʧ") pg_print_text(" ѱö") remove_protect = 1 break else - wrp = tonumber(string.byte(ob_data,1,1)) + if (MCU_READ_OPTION == 1) then + wrp = ob_data + else + wrp = tonumber(string.byte(ob_data,1,1)) + end str = string.format(" 0x%08X 0x%02X & 0x%02X == 0x%02X", OB_WRP_ADDRESS[i], wrp, OB_WRP_MASK[i], OB_WRP_VALUE[i]) if ((wrp & OB_WRP_MASK[i]) ~= OB_WRP_VALUE[i]) then str = str.."(ѱ)" @@ -405,18 +424,13 @@ function swim_start_prog(void) pg_init() - --öٽԶȫƬ - pg_print_text("ȫƬ") - re = pg_prog_buf_ob(OB_ADDRESS, OB_SECURE_ON) - if (re == 0) then - err = "ʧ" goto quit - goto quit - end - pg_init() --λЧ - re = pg_prog_buf_ob(OB_ADDRESS, OB_SECURE_OFF) - if (re == 0) then - err = "ʧ" goto quit - goto quit + if (ERASE_CHIP_ENABLE == 1) then + --öٽԶȫƬ + pg_print_text("ȫƬ") + --ȼӱٽﵽоƬĿ + set_read_protect(1) + pg_init() + set_read_protect(0) end --̬SN UID USR @@ -646,20 +660,29 @@ function set_read_protect(on) time1 = get_runtime() - --TVCCѹ - set_tvcc(TVCC_VOLT) - delayms(20) - - --IC,ӡںID - local core_id = pg_detect_ic() - if (core_id == 0) then - err = "δ⵽IC" print(err) return err - else - str = string.format("core_id = 0x%08X", core_id) - print(str) - end +-- --TVCCѹ +-- set_tvcc(TVCC_VOLT) +-- delayms(20) +-- +-- --IC,ӡںID +-- local core_id = pg_detect_ic() +-- if (core_id == 0) then +-- err = "δ⵽IC" print(err) return err +-- else +-- str = string.format("core_id = 0x%08X", core_id) +-- print(str) +-- end if (CHIP_TYPE == "SWD") then + + --רõĽ + if (MCU_REMOVE_PROTECT == 1) then + if (on == 0) then + print("MCU_RemoveProtect()") + MCU_RemoveProtect() + end + end + if (AlgoFile_OPT == "") then err = "ûOPT㷨ļ" print(err) return err end @@ -671,7 +694,13 @@ function set_read_protect(on) end else if (CHIP_TYPE == "SWIM") then - + --STM8רõĽ + if (MCU_REMOVE_PROTECT == 1) then + if (on == 0) then + print("MCU_RemoveProtect()") + MCU_RemoveProtect() + end + end else print("ָ֧ù") return "err" @@ -764,10 +793,10 @@ function erase_chip(FlashAddr) end else if (CHIP_TYPE == "SWIM") then - if (FlashAddr == 0x08000) then + if (FlashAddr == FLASH_ADDRESS) then str = string.format("ʼflash. ַ : 0x%X : %dKB ", FlashAddr, FLASH_SIZE / 1024) else - str = string.format("ʼeeprom. ַ : 0x%X : %dKB ", FlashAddr, EEPROM_SIZE / 1024) + str = string.format("ʼeeprom. ַ : 0x%X : %dB ", FlashAddr, EEPROM_SIZE) end print(str) else diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/Nuvoton/demo_M0518LD2AE.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/Nuvoton/demo_M0518LD2AE.lua new file mode 100644 index 0000000..b45bc40 --- /dev/null +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/Nuvoton/demo_M0518LD2AE.lua @@ -0,0 +1,405 @@ +--¿ݷʽʾPC------------- +--F01=Զ,start_prog() +--F03=MCU flash,erase_chip_mcu() +--F04=QSPI flash,erase_chip_qspi() +--F05=EEPROM, erase_chip_eeprom() +--F06=ӡںid,print_core_id() +--F07=ӡUID,MCU_ReadUID() +--F08=ӡFlash,print_flash(FLASH_ADDRESS,1024,32,FLASH_ADDRESS) +--F09=EEPROM,print_flash(EEPROM_ADDRESS, 256) +--F10=RAM,print_flash(RAM_ADDRESS, 256) +--F12=Ӳλ,pg_reset() +--F13=ö,set_read_protect(1) +--F14=,set_read_protect(0) +--F15=ӡCONFIG, print_option_bytes() +--F16=1ϵ,set_tvcc(0) delayms(1000) set_tvcc(TVCC_VOLT) + +--ѡоƬϵ---------------------------------- +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM32F0xx/STM32F0xxx4.lua") +function config_cpu(void) + CHIP_TYPE = "SWD" --ָӿ: "SWD", "SWIM", "SPI", "I2C", "UART" + +-- +-- +-- + + AlgoFile_FLASH = "0:/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_AP_68.FLM" + AlgoFile_OTP = "" + AlgoFile_OPT = "0:/H7-TOOL/Programmer/Device/Nuvoton/FLM/M0518_CFG.FLM" + AlgoFile_QSPI = "" + + FLASH_ADDRESS = 0x00000000 --CPUڲFLASHʼַ + + RAM_ADDRESS = 0x20000000 --CPUڲRAMʼַ + + --Flash㷨ļڴַʹС + AlgoRamAddr = RAM_ADDRESS + AlgoRamSize = 4 * 1024 + + MCU_ID = 0x0BB11477 + + UID_ADDR = 0x1FFFF7AC --UIDַͬCPUͬ + UID_BYTES = 12 + + --ȱʡУģʽ + VERIFY_MODE = 0 -- 0:У, 1:CRC32У, :չӲCRC(ҪƬ֧֣ + + ERASE_CHIP_TIME = 5000 --ȫƬʱmsڽָʾ) + + OB_ADDRESS = "00300000 00300001 00300002 00300003 00300004 00300005 00300006 00300007" + + OB_SECURE_OFF = "FF FF FF FF FF FF FF FF" --SECURE_ENABLE = 0ʱϺдֵ() + OB_SECURE_ON = "FD FF FF FF FF FF FF FF" --SECURE_ENABLE = 1ʱϺдֵ(оƬ) + + --ж϶д(WRP = Write protection) + OB_WRP_ADDRESS = {0x00300000} --ڴַ + OB_WRP_MASK = {0x20} -- + OB_WRP_VALUE = {0x20} --Ƚϣȱʾûб + + --MCUרеĽָ + MCU_REMOVE_PROTECT = 1 --1ʾҪרŵĽĺ + MCU_READ_OPTION = 1 --1ʾҪרŵĶѡֵĺ + + MCU_Init() +end + +--ƼĴ +FMC_ISPCON = 0x5000C000 +FMC_ISPADR = 0x5000C004 +FMC_ISPDAT = 0x5000C008 +FMC_ISPCMD = 0x5000C00C +FMC_ISPTRG = 0x5000C010 +--FMC_DFBADR = 0x5000C014 +--FMC_FATCON = 0x5000C018 +--FMC_ISPSTA = 0x5000C040 + +ISPCMD_READ = 0x00 +ISPCMD_PROGRAM = 0x21 +ISPCMD_PAGE_ERASE = 0x22 +ISPCMD_VECMAP = 0x2e +ISPCMD_READ_UID = 0x04 +ISPCMD_READ_CID = 0x0B +ISPCMD_READ_DID = 0x0C + +FMC_ISPCON_ISPFF_Msk = 0x40 + +g_apromSize = 32 * 1024 +g_dataFlashAddr = 0 +g_dataFlashSize = 0 + +function MCU_Init(void) + --SYS_UnlockReg() + local i + + for i = 1,1000, 1 do + if (pg_read32(0x50000100) == 1) then + break + end + pg_write32(0x50000100, 0x59) + pg_write32(0x50000100, 0x16) + pg_write32(0x50000100, 0x88) + end + + + -- + --pg_write32(0x50000204, pg_read32(0x50000204) | 0x04) + + --FMC_Open() + pg_write32(FMC_ISPCON, pg_read32(FMC_ISPCON) | 0x39) +end + + +function MCU_ReadUID(void) + local id + local i,j + local s = "" + local str + + for i = 1, 3, 1 do + pg_write32(FMC_ISPCMD, ISPCMD_READ_UID) + pg_write32(FMC_ISPADR, (i - 1) * 4) + pg_write32(FMC_ISPTRG, 0x01) + + for j = 1, 1000, 1 do + if ((pg_read32(FMC_ISPTRG) & 0x01) == 0) then + break + end + end + + id = pg_read32(FMC_ISPDAT) + + s = s..string.char(id & 0xFF) + s = s..string.char((id >> 8) & 0xFF) + s = s..string.char((id >> 16) & 0xFF) + s = s..string.char((id >> 24) & 0xFF) + end + + str = "uid = "..bin2hex(s) print(str) + + return s +end + +function FMC_Read_User(address) + local reg + + pg_write32(FMC_ISPCMD, ISPCMD_READ) --ISPCMD = ISP_Read + pg_write32(FMC_ISPADR, address) --ISPADR = address + pg_write32(FMC_ISPDAT, 0) --ISPDAT = 0 + + pg_write32(FMC_ISPTRG, 0x01) --ISPTRG = ISPGO + + reg = pg_read32(FMC_ISPCON) --read FISPCON + if ((reg & 0x40) > 0) then + pg_write32(FMC_ISPCON, reg) + return -1 + end + return pg_read32(FMC_ISPDAT) --read ISPDAT +end + +function FMC_Write_User(u32Addr, u32Data) + local Reg; + + pg_write32(FMC_ISPCMD, ISPCMD_PROGRAM) --ISPCMD = FMC_ISPCMD_PROGRAM + pg_write32(FMC_ISPADR, u32Addr) --ISPADR = u32Addr + pg_write32(FMC_ISPDAT, u32Data) --ISPDAT = u32Data + + pg_write32(FMC_ISPTRG, 0x01) --ISPTRG = ISPGO + + --Check ISPFF flag to know whether erase OK or fail + reg = pg_read32(FMC_ISPCON) --read FISPCON + if ((reg & 0x40) > 0) then + pg_write32(FMC_ISPCON, reg) + return -1 + else + return 0 + end +end + +function FMC_Erase_User(address) + local reg + + pg_write32(FMC_ISPCMD, ISPCMD_PAGE_ERASE) --ISPCMD = FMC_ISPCMD_PAGE_ERASE + pg_write32(FMC_ISPADR, address) --ISPADR = address + pg_write32(FMC_ISPTRG, 0x01) --ISPTRG = ISPGO + + for j = 1, 1000, 1 do + if ((pg_read32(FMC_ISPTRG) & 0x01) == 0) then + break + end + delayms(1) + end + + --Check ISPFF flag to know whether erase OK or fail + reg = pg_read32(FMC_ISPCON) --read FISPCON + if ((reg & 0x40) > 0) then + pg_write32(FMC_ISPCON, reg) + return -1 + else + return 0 + end +end + +function EraseAP(addr_start, addr_end) + while (addr_start < addr_end) do + if (FMC_Erase_User(addr_start) == -1) then + print("EraseAP failed", addr_start, addr_end) + return -1 + end + addr_start = addr_start + 512 + end + print("EraseAP Ok", addr_start, addr_end) + return 0 +end + +function UpdateConfig(cfg0, cfg1) + --FMC_ENABLE_CFG_UPDATE() + pg_write32(FMC_ISPCON, pg_read32(FMC_ISPCON) | 0x10) + + if (FMC_Erase_User(0x00300000) == -1) then + print("FMC_Erase_User failed", 0x00300000) + end + FMC_Write_User(0x00300000, cfg0); + FMC_Write_User(0x00300004, cfg1); +end + +--оƬרеĽ +function MCU_ReadOptionsByte(addr, bytes) + local cfg1, cfg2 + local re + local data = 0 + local idx + + cfg1 = FMC_Read_User(0x00300000) + cfg2 = FMC_Read_User(0x00300004) + + if (cfg1 == -1 or cfg2 == -1) then + re = 0 + return 0,0 + end + + + if (addr >= 0x00300000 and addr <= 0x00300003) then + idx = addr - 0x00300000 + data = (cfg1 >> (idx * 8)) & 0xFF + else + if (addr >= 0x00300004 and addr <= 0x00300007) then + idx = addr - 0x00300004 + data = (cfg2 >> (idx * 8)) & 0xFF + else + return 0,0 + end + end + return 1, data +end + +--оƬרеĽ +function MCU_RemoveProtect(void) + local i + + pg_write32(FMC_ISPCMD, 0x26) + pg_write32(FMC_ISPADR, 0) + pg_write32(FMC_ISPDAT, 0) + pg_write32(FMC_ISPTRG, 0x01) + + for i = 1, 5000, 1 do + if ((pg_read32(FMC_ISPTRG) & 0x01) == 0) then + break + end + delayms(1) + end +end + +--Supports 32K/64K (APROM) +function GetApromSize(void) + local size = 0xA000, data; + + data = FMC_Read_User(size) + + if (data < 0) then + return 32 * 1024; + else + return 64 * 1024; + end +end + + + +function GetDataFlashInfo(void) + local uData; + + CONFIG0_DFEN = 0x01 + CONFIG0_DFVSEN = 0x04 + + g_apromSize = GetApromSize() + + g_dataFlashSizee = 0; + +-- Note: DFVSEN = 1, DATA Flash Size is 4K bytes +-- DFVSEN = 0, DATA Flash Size is based on CONFIG1 + uData = FMC_Read_User(0x00300000) + + if ((uData & CONFIG0_DFVSEN) > 0) then + g_dataFlashAddr = 0x1F000 + g_dataFlashSize = 4 * 1024 + else + if ((uData & CONFIG0_DFEN) > 0) then + g_apromSize = g_apromSize + 4096 + g_dataFlashAddr = g_apromSize + g_dataFlashSize = 0 + else + g_apromSize = g_apromSize + 4096 + uData = FMC_Read_User(0x00300004) + uData = uData & 0x000FFE00 + + if (uData > g_apromSize + 4096) then + uData = g_apromSize + end + + g_dataFlashAddr = uData + g_dataFlashSize = g_apromSize - uData + g_apromSize = g_apromSize - g_dataFlashSize + end + end +end + +--UIDܺͲƷŴļ +dofile("0:/H7-TOOL/Programmer/LuaLib/fix_data.lua") + +--luaӳ +dofile("0:/H7-TOOL/Programmer/LuaLib/prog_lib.lua") + +--עͽʾH7-TOOLҺ +Note01 = "Գ" + +beep() + +--оƬӿںͲ +function config_chip1(void) + + config_cpu() + + --󣬱ϵЧ´ + REMOVE_RDP_POWEROFF = 0 + POWEROFF_TIME1 = 0 --дOBӳʱ 2000ms + POWEROFF_TIME2 = 100 --ϵʱ 100ms + POWEROFF_TIME3 = 20 --ϵȴʱ 100ms + + --б׷ + --㷨ļļ֧־···ʱluaļͬĿ¼֧../ϼĿ¼ + TaskList = { + AlgoFile_FLASH, --㷨ļ + "0:/H7-TOOL/Programmer/User/TestBin/64k_55.bin", --ļ + FLASH_ADDRESS, --Ŀַ + } + + --CPUѹTVCC + TVCC_VOLT = 3.3 + + --SWDʱӳ٣0ӳ٣ֵԽٶԽ + if (MULTI_MODE == 0) then + SWD_CLOCK_DELAY = 0 --· + else + SWD_CLOCK_DELAY = 0 --·̣ʵʰӵڣCPUƵ³й + end + + --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ + ERASE_CHIP_ENABLE = 0 + + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ + + --Ƿ˶CPUںID + CHECK_MCU_ID = 0 + + VERIFY_MODE = 0 --Уģʽ: 0:Զ(FLMṩУ麯) 1: 2:CRC32 3:STM32ӲCRC32 + + --̽λ 0ʾλ 1ʾӲλ + RESET_AFTER_COMPLETE = 1 + + AUTO_REMOVE_PROTECT = 1 --1ʾԶд + + --OPTION BYTES + OB_ENABLE = 0 --1ʾϺдOPTION BYTES + SECURE_ENABLE = 0 --ѡܻDz + + pg_reload_var() --ڸcȫֱ +end + +--̬SN UID USR +function config_fix_data(void) + SN_ENABLE = 0 --1ʾ 0ʾ + SN_SAVE_ADDR = 0 --Ʒűַ + + UID_ENABLE = 0 --1ʾüܺ1 0ʾ + UID_SAVE_ADDR = 0 --ܽFLASH洢ַ + + USR_ENABLE = 0 --1ʾ 0ʾ + USR_SAVE_ADDR = 0 --Զݴ洢ַ +end + +MULTI_MODE = pg_read_c_var("MultiProgMode") + +config_chip1() --ִһθȫֱֵ + +config_fix_data() --̬SN UID USR + +-------------------------------------------------------------- diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM32/demo_H7-TOOL_Boot_App.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM32/demo_H7-TOOL_Boot_App.lua new file mode 100644 index 0000000..284437b --- /dev/null +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM32/demo_H7-TOOL_Boot_App.lua @@ -0,0 +1,103 @@ +--¿ݷʽʾPC------------- +--F01=Զ,start_prog() +--F03=MCU flash,erase_chip_mcu() +--F04=QSPI flash,erase_chip_qspi() +--F05=EEPROM, erase_chip_eeprom() +--F06=ӡںid,print_core_id() +--F07=ӡUID,print_flash(UID_ADDR,12) +--F08=ӡFlash,print_flash(FLASH_ADDRESS,1024,32,FLASH_ADDRESS) +--F09=EEPROM,print_flash(EEPROM_ADDRESS, 256) +--F10=RAM,print_flash(RAM_ADDRESS, 256) +--F12=Ӳλ,pg_reset() +--F13=ö,set_read_protect(1) +--F14=,set_read_protect(0) +--F15=ӡOption Bytes,print_option_bytes() + +--luaļ----------------------------------- +dofile("0:/H7-TOOL/Programmer/Device/ST/STM32H7x/STM32H7x_2M.lua") +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM32H7x/STM32H7x_128K.lua") + +--UIDܺͲƷŴļ +dofile("0:/H7-TOOL/Programmer/LuaLib/fix_data.lua") + +--luaӳ +dofile("0:/H7-TOOL/Programmer/LuaLib/prog_lib.lua") + +--עͽʾH7-TOOLҺ +Note01 = "Գ" + +beep() + +--оƬӿںͲ +function config_chip1(void) + + config_cpu() + + --б׷ + --㷨ļļ֧־···ʱluaļͬĿ¼֧../ϼĿ¼ + TaskList = { + AlgoFile_FLASH, --㷨ļ + "0:/H7-TOOL/Firmware/H7-BOOT.bin", --ļ + 0x08000000, --Ŀַ + + AlgoFile_FLASH, --㷨ļ + "0:/H7-TOOL/Firmware/h7_tool_app.bin", --ļ + 0x08020000, --Ŀַ + +-- AlgoFile_QSPI, --㷨ļ +-- "0:/H7-TOOL/Fonts/GB2312ZK.bin", --ļ +-- 0x91E00000, --Ŀַ + } + + --CPUѹTVCC + TVCC_VOLT = 3.3 + + --SWDʱӳ٣0ӳ٣ֵԽٶԽ + --SWDʱӳ٣0ӳ٣ֵԽٶԽ + if (MULTI_MODE == 0) then + SWD_CLOCK_DELAY = 0 --· + else + SWD_CLOCK_DELAY = 0 --·̣ʵʰӵڣCPUƵ³й + end + + --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ + ERASE_CHIP_ENABLE = 0 + + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ + + --Ƿ˶CPUںID + CHECK_MCU_ID = 0 + + VERIFY_MODE = 0 --Уģʽ: 0:Զ(FLMṩУ麯) 1: 2:CRC32 3:STM32ӲCRC32 + + --̽λ 0ʾλ 1ʾӲλ + RESET_AFTER_COMPLETE = 0 + + AUTO_REMOVE_PROTECT = 1 --1ʾԶд + + --OPTION BYTES + OB_ENABLE = 0 --1ʾϺдOPTION BYTES + SECURE_ENABLE = 0 --ѡܻDz + + pg_reload_var() --ڸcȫֱ +end + +--̬SN UID USR +function config_fix_data(void) + SN_ENABLE = 0 --1ʾ 0ʾ + SN_SAVE_ADDR = 0 --Ʒűַ + + UID_ENABLE = 0 --1ʾüܺ1 0ʾ + UID_SAVE_ADDR = 0 --ܽFLASH洢ַ + + USR_ENABLE = 0 --1ʾ 0ʾ + USR_SAVE_ADDR = 0 --Զݴ洢ַ +end + +config_chip1() --ִһθȫֱֵ + +config_fix_data() --̬SN UID USR + +MULTI_MODE = pg_read_c_var("MultiProgMode") + +-------------------------------------------------------------- diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM32/demo_STM32F030x8.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM32/demo_STM32F030x8.lua index eb24de0..ce0ae72 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM32/demo_STM32F030x8.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM32/demo_STM32F030x8.lua @@ -57,7 +57,7 @@ function config_chip1(void) if (MULTI_MODE == 0) then SWD_CLOCK_DELAY = 0 --· else - SWD_CLOCK_DELAY = 30 --·̣ʵʰӵڣCPUƵ³й + SWD_CLOCK_DELAY = 5 --·̣ʵʰӵڣCPUƵ³й end --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM32/demo_STM32F429xI.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM32/demo_STM32F429xI.lua index d834791..ed70c55 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM32/demo_STM32F429xI.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM32/demo_STM32F429xI.lua @@ -69,7 +69,7 @@ function config_chip1(void) if (MULTI_MODE == 0) then SWD_CLOCK_DELAY = 0 --· else - SWD_CLOCK_DELAY = 0 --·̣ʵʰӵڣCPUƵ³й + SWD_CLOCK_DELAY = 1 --·̣ʵʰӵڣCPUƵ³й end --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8L151x6.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8AF5288.lua similarity index 89% rename from Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8L151x6.lua rename to Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8AF5288.lua index 45891d9..7688b45 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8L151x6.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8AF5288.lua @@ -18,19 +18,18 @@ Note01 = " beep() -CHIP_NAME = "STM8L151C6" - +--CHIP_NAME = "STM8S105C6" --dofile("0:/H7-TOOL/Programmer/Device/ST/STM8S/STM8S103_903_003_001.lua") --dofile("0:/H7-TOOL/Programmer/Device/ST/STM8S/STM8S105_005_007.lua") --dofile("0:/H7-TOOL/Programmer/Device/ST/STM8S/STM8S207_208.lua") --CHIP_NAME = "STM8L151C8" --dofile("0:/H7-TOOL/Programmer/Device/ST/STM8L/STM8L101.lua") -dofile("0:/H7-TOOL/Programmer/Device/ST/STM8L/STM8L151_152_05x_162.lua") +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8L/STM8L151_152_05x_162.lua") ---CHIP_NAME = "STM8AF52AA" +CHIP_NAME = "STM8AF5288" --dofile("0:/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF6226_F6223_F6213.lua") ---dofile("0:/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF52xx_F62xx_F63xx.lua") +dofile("0:/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF52xx_F62xx_F63xx.lua") --UIDܺͲƷŴļ dofile("0:/H7-TOOL/Programmer/LuaLib/fix_data.lua") @@ -63,7 +62,7 @@ function config_chip1(void) TVCC_VOLT = 3.3 --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ - ERASE_CHIP_ENABLE = 0 + ERASE_CHIP_ENABLE = 1 RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ @@ -76,8 +75,8 @@ function config_chip1(void) AUTO_REMOVE_PROTECT = 1 --1ʾԶд --OPTION BYTES - OB_ENABLE = 0 --1ʾϺдOPTION BYTES - SECURE_ENABLE = 0 --ѡܻDz + OB_ENABLE = 1 --1ʾϺдOPTION BYTES + SECURE_ENABLE = 1 --ѡܻDz pg_reload_var() --ڸcȫֱ end diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8L051x3.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8L051x3.lua new file mode 100644 index 0000000..f953900 --- /dev/null +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8L051x3.lua @@ -0,0 +1,103 @@ +--¿ݷʽʾPC(STM8) +--F01=Զ,start_prog() +--F03=flash,erase_chip(FLASH_ADDRESS) +--F04=eeprom,erase_chip(EEPROM_ADDRESS) +--F05=ӡflash,print_flash(FLASH_ADDRESS,512,16,FLASH_ADDRESS) +--F06=ӡeeprom,print_flash(EEPROM_ADDRESS,256,16,EEPROM_ADDRESS) +--F07=ӡUID,print_flash(UID_ADDR,12) +--F08=ӡںid,print_core_id() +--F09=޸RAM,pg_write_mem(0, "1234") +--F10=RAM,print_flash(0, 16) +--F12=Ӳλ,pg_reset() +--F13=ö, set_read_protect(1) +--F14=, set_read_protect(0) +--F15=ӡOption Bytes,print_option_bytes() + +--עͽʾH7-TOOLҺ +Note01 = "Գ" + +beep() + +CHIP_NAME = "STM8L051F3" + +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8S/STM8S103_903_003_001.lua") +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8S/STM8S105_005_007.lua") +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8S/STM8S207_208.lua") + +--CHIP_NAME = "STM8L151C8" +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8L/STM8L101.lua") +dofile("0:/H7-TOOL/Programmer/Device/ST/STM8L/STM8L151_152_05x_162.lua") + +--CHIP_NAME = "STM8AF52AA" +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF6226_F6223_F6213.lua") +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF52xx_F62xx_F63xx.lua") + +--UIDܺͲƷŴļ +dofile("0:/H7-TOOL/Programmer/LuaLib/fix_data.lua") + +--luaӳ +dofile("0:/H7-TOOL/Programmer/LuaLib/prog_lib.lua") + +--оƬӿںͲ +function config_chip1(void) + + config_cpu() + + --󣬱ϵЧ´ + REMOVE_RDP_POWEROFF = 0 + POWEROFF_TIME1 = 0 --дOBӳʱ 2000ms + POWEROFF_TIME2 = 100 --ϵʱ 100ms + POWEROFF_TIME3 = 20 --ϵȴʱ 100ms + + --б׷ + --ļ֧־···ʱluaļͬĿ¼֧../ϼĿ¼ + TaskList = { + "0:/H7-TOOL/Programmer/User/TestBin/8K_5A.bin", --ļ (""ʾ) + 0x008000, --Ŀַ (0x008000 Flash) + +-- "0:/H7-TOOL/Programmer/User/TestBin/128.bin", --ļ (""ʾ) +-- EEPROM_ADDRESS, --Ŀַ (0x004000 EEPROM) + } + + --CPUѹTVCC + TVCC_VOLT = 3.3 + + --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ + ERASE_CHIP_ENABLE = 1 + + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ + + --Ƿ˶CPUںID + CHECK_MCU_ID = 0 + + --̽λ 0ʾλ 1ʾӲλ + RESET_AFTER_COMPLETE = 0 + + AUTO_REMOVE_PROTECT = 1 --1ʾԶд + + --OPTION BYTES + OB_ENABLE = 0 --1ʾϺдOPTION BYTES + SECURE_ENABLE = 0 --ѡܻDz + + pg_reload_var() --ڸcȫֱ +end + +--̬SN UID USR +function config_fix_data(void) + SN_ENABLE = 0 --1ʾ 0ʾ + SN_SAVE_ADDR = 0 --Ʒűַ + + UID_ENABLE = 0 --1ʾüܺ1 0ʾ + UID_SAVE_ADDR = 0 --ܽFLASH洢ַ + + USR_ENABLE = 0 --1ʾ 0ʾ + USR_SAVE_ADDR = 0 --Զݴ洢ַ +end + +config_chip1() --ִһθȫֱֵ + +config_fix_data() --̬SN UID USR + +MULTI_MODE = pg_read_c_var("MultiProgMode") + +-------------------------------------------------------------- diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8L152x4.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8L152x4.lua new file mode 100644 index 0000000..28b33f8 --- /dev/null +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8L152x4.lua @@ -0,0 +1,113 @@ +--¿ݷʽʾPC(STM8) +--F01=Զ,start_prog() +--F03=flash,erase_chip(FLASH_ADDRESS) +--F04=eeprom,erase_chip(EEPROM_ADDRESS) +--F05=ӡflash,print_flash(FLASH_ADDRESS,512,16,FLASH_ADDRESS) +--F06=ӡeeprom,print_flash(EEPROM_ADDRESS,256,16,EEPROM_ADDRESS) +--F07=ӡUID,print_flash(UID_ADDR,12) +--F08=ӡںid,print_core_id() +--F09=޸RAM,pg_write_mem(0, "1234") +--F10=RAM,print_flash(0, 16) +--F12=Ӳλ,pg_reset() +--F13=ö, set_read_protect(1) +--F14=, set_read_protect(0) +--F15=ӡOption Bytes,print_option_bytes() + +--עͽʾH7-TOOLҺ +Note01 = "Գ" + +beep() + +CHIP_NAME = "STM8L152K4" + +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8S/STM8S103_903_003_001.lua") +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8S/STM8S105_005_007.lua") +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8S/STM8S207_208.lua") + +--CHIP_NAME = "STM8L151C8" +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8L/STM8L101.lua") +dofile("0:/H7-TOOL/Programmer/Device/ST/STM8L/STM8L151_152_05x_162.lua") + +--CHIP_NAME = "STM8AF52AA" +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF6226_F6223_F6213.lua") +--dofile("0:/H7-TOOL/Programmer/Device/ST/STM8A/STM8AF52xx_F62xx_F63xx.lua") + +--UIDܺͲƷŴļ +dofile("0:/H7-TOOL/Programmer/LuaLib/fix_data.lua") + +--luaӳ +dofile("0:/H7-TOOL/Programmer/LuaLib/prog_lib.lua") + +--оƬӿںͲ +function config_chip1(void) + + config_cpu() + + --󣬱ϵЧ´ + REMOVE_RDP_POWEROFF = 0 + POWEROFF_TIME1 = 0 --дOBӳʱ 2000ms + POWEROFF_TIME2 = 100 --ϵʱ 100ms + POWEROFF_TIME3 = 20 --ϵȴʱ 100ms + + --б׷ + --ļ֧־···ʱluaļͬĿ¼֧../ϼĿ¼ + TaskList = { + "0:/H7-TOOL/Programmer/User/TestBin/16K_55.bin", --ļ (""ʾ) + 0x008000, --Ŀַ (0x008000 Flash) + + "0:/H7-TOOL/Programmer/User/TestBin/128.bin", --ļ (""ʾ) + EEPROM_ADDRESS, --Ŀַ (0x004000 EEPROM) + } + + --CPUѹTVCC + TVCC_VOLT = 3.3 + + --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ + ERASE_CHIP_ENABLE = 1 + + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ + + --Ƿ˶CPUںID + CHECK_MCU_ID = 0 + + --̽λ 0ʾλ 1ʾӲλ + RESET_AFTER_COMPLETE = 0 + + AUTO_REMOVE_PROTECT = 1 --1ʾԶд + + --OPTION BYTES + OB_ENABLE = 1 --1ʾϺдOPTION BYTES + SECURE_ENABLE = 1 --ѡܻDz + + pg_reload_var() --ڸcȫֱ +end + +--̬SN UID USR +function config_fix_data(void) + SN_ENABLE = 0 --1ʾ 0ʾ + SN_SAVE_ADDR = 0 --Ʒűַ + + UID_ENABLE = 0 --1ʾüܺ1 0ʾ + UID_SAVE_ADDR = 0 --ܽFLASH洢ַ + + USR_ENABLE = 0 --1ʾ 0ʾ + USR_SAVE_ADDR = 0 --Զݴ洢ַ +end + +-- STM8L05x/15x, medium density STM8L05x/15x and STM8AL31xx/STM8AL3Lxx and high density STM8L05x/15x/16x microcontrollers, +-- Ҫ2дܽ +function MCU_RemoveProtect(void) + pg_prog_buf_ob("4800", "AA") + delayms(5) + pg_prog_buf_ob("4800", "AA") + delayms(5) + pg_reset() +end + +config_chip1() --ִһθȫֱֵ + +config_fix_data() --̬SN UID USR + +MULTI_MODE = pg_read_c_var("MultiProgMode") + +-------------------------------------------------------------- diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S003x3.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S003x3.lua index 9a9fff5..5b18965 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S003x3.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S003x3.lua @@ -1,9 +1,9 @@ --¿ݷʽʾPC(STM8) --F01=Զ,start_prog() ---F03=flash,erase_chip(0x08000) ---F04=eeprom,erase_chip(0x04000) ---F05=ӡflash,print_flash(0x08000,1024,32,0x08000) ---F06=ӡeeprom,print_flash(0x04000,256,32,0x04000) +--F03=flash,erase_chip(FLASH_ADDRESS) +--F04=eeprom,erase_chip(EEPROM_ADDRESS) +--F05=ӡflash,print_flash(FLASH_ADDRESS,512,16,FLASH_ADDRESS) +--F06=ӡeeprom,print_flash(EEPROM_ADDRESS,256,16,EEPROM_ADDRESS) --F07=ӡUID,print_flash(UID_ADDR,12) --F08=ӡںid,print_core_id() --F09=޸RAM,pg_write_mem(0, "1234") @@ -51,10 +51,10 @@ function config_chip1(void) --б׷ --ļ֧־···ʱluaļͬĿ¼֧../ϼĿ¼ TaskList = { - "0:/H7-TOOL/Programmer/User/TestBin/8K_55.bin", --ļ (""ʾ) + "0:/H7-TOOL/Programmer/User/TestBin/8K_5A.bin", --ļ 0x008000, --Ŀַ (0x008000 Flash) - "0:/H7-TOOL/Programmer/User/TestBin/512.bin", --ļ (""ʾ) + "0:/H7-TOOL/Programmer/User/TestBin/128.bin", --ļ EEPROM_ADDRESS, --Ŀַ (0x004000 EEPROM) } @@ -62,7 +62,7 @@ function config_chip1(void) TVCC_VOLT = 3.3 --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ - ERASE_CHIP_ENABLE = 0 + ERASE_CHIP_ENABLE = 1 RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ @@ -75,8 +75,8 @@ function config_chip1(void) AUTO_REMOVE_PROTECT = 1 --1ʾԶд --OPTION BYTES - OB_ENABLE = 0 --1ʾϺдOPTION BYTES - SECURE_ENABLE = 0 --ѡܻDz + OB_ENABLE = 1 --1ʾϺдOPTION BYTES + SECURE_ENABLE = 1 --ѡܻDz pg_reload_var() --ڸcȫֱ end diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S105x6 .lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S105x6 .lua index 01a7b96..0f3d020 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S105x6 .lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S105x6 .lua @@ -62,7 +62,7 @@ function config_chip1(void) TVCC_VOLT = 3.3 --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ - ERASE_CHIP_ENABLE = 0 + ERASE_CHIP_ENABLE = 1 RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S208x8.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S208x8.lua index 90c345e..7322066 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S208x8.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/STM8/demo_STM8S208x8.lua @@ -62,7 +62,7 @@ function config_chip1(void) TVCC_VOLT = 3.3 --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ - ERASE_CHIP_ENABLE = 0 + ERASE_CHIP_ENABLE = 1 RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/多路烧录时时钟调节说明.txt b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/多路烧录时时钟调节说明.txt new file mode 100644 index 0000000..99c01f9 --- /dev/null +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/Demo/多路烧录时时钟调节说明.txt @@ -0,0 +1,20 @@ +【多路烧录时时钟调节说明】2020-06-04 + - 单路烧录只不通过1拖4转接板直接用主机的端口烧录 + - 多路烧录必须通过1拖4转接板使用(软甲可以设置1路,1-2路,1-3路,1-4路几种模式) + - 单独编程时,一般都可以到达最高速度,延迟0 + - 多路烧录时用较好的杜邦线(20CM长度内),一般都可以设置延迟0 + - 多路烧录时线较长或线质量一般时,CPU能够达到最高SWCLK时钟速度不同,请根据实际情况自行调节。 + - 实测 + STM32H750,可以不加延迟,延迟参数0 + STM32F030 需要延迟5 + STM32F429 需要延迟1. + + 【代码范例】 + --SWD时钟延迟,0不延迟,值越大速度越慢 + if (MULTI_MODE == 0) then + SWD_CLOCK_DELAY = 0 --单路编程 + else + SWD_CLOCK_DELAY = 0 --多路编程,根据实际板子调节,和CPU主频、电缆长度有关 + end + + diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/修改记录.txt b/Doc/存放到eMMC磁盘的文件/H7-TOOL/修改记录.txt deleted file mode 100644 index 4f39251..0000000 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/修改记录.txt +++ /dev/null @@ -1,14 +0,0 @@ -EMMC磁盘文件版本 V1.20a 2020-05-29 - -2020-05-29 V1.20固件配套磁盘文件 -1. 重整H7-TOOL\Programmer文件夹 - - lua脚本支持1拖4同步烧录 - - 添加灵动MM32的lua模板 - - 补充STM32的lua模板 - - 补充STM8的lua模板 - -2. H7-TOOL\Lua文件夹,添加几个产品测试的范例 - - TTL-RS485.lua - - h7_主板功能初测 - - H7_自动校准.lua - - 无线IO模块TOOL版.lua \ No newline at end of file diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/版本说明V1.21a.txt b/Doc/存放到eMMC磁盘的文件/H7-TOOL/版本说明V1.21a.txt new file mode 100644 index 0000000..69dcf5f --- /dev/null +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/版本说明V1.21a.txt @@ -0,0 +1,23 @@ +EMMC磁盘文件版本 V1.21a 2020-06-05 + +--------------------------------------------------- +2020-06-04 V1.21a - 随固件V1.21一起发布 +1. 修正STM8脚本错误导致不能烧录, 更新如下3个文件件 + - H7-TOOL\Programmer\Device\ST\STM8S + - H7-TOOL\Programmer\Device\ST\STM8L + - H7-TOOL\Programmer\Device\ST\STM8A +2. 修正 prog_lib.lua 文件,完善STM8L解除保护功能 + +--------------------------------------------------- +2020-05-29 V1.20a +1. 重整H7-TOOL\Programmer文件夹 + - lua脚本支持1拖4同步烧录 + - 添加灵动MM32的lua模板 + - 补充STM32的lua模板 + - 补充STM8的lua模板 + +2. H7-TOOL\Lua文件夹,添加几个产品测试的范例 + - TTL-RS485.lua + - h7_主板功能初测 + - H7_自动校准.lua + - 无线IO模块TOOL版.lua \ No newline at end of file diff --git a/Doc/待解决问题.txt b/Doc/待解决问题.txt index c364c97..e89f882 100644 --- a/Doc/待解决问题.txt +++ b/Doc/待解决问题.txt @@ -6,9 +6,4 @@ #define TICK_INT_PRIORITY 0 // ((uint32_t)0x0F) /*!< tick interrupt priority */ 4. bsp_CheckRunTime, bsp_GetRunTime 函数内部去掉关闭中断的操作,影响QSPI写操作。 -2020-05-29 V1.20版 遗留问题 -5. 1拖4功能。烧写H750成功率100% 烧写STM32F030 时,偶尔出错 - - 怀疑GPIO阻抗匹配问题。已将QSPI Flash GPIO速度和TFT LCD SPI的GPIO速度降低。但是改善不明显 - - 也可能和程序运行状态有关,比如USB访问,以太网访问。一段时间几秒钟内总是出错。过了一段时间,总是成功。 - - 也许和目标CPU的程序有关,因为烧写的测试程序是全55。CPU上电后进入异常中断。 \ No newline at end of file diff --git a/Project/MDK-ARM(uV5)/project.uvoptx b/Project/MDK-ARM(uV5)/project.uvoptx index 2678cd9..03869da 100755 --- a/Project/MDK-ARM(uV5)/project.uvoptx +++ b/Project/MDK-ARM(uV5)/project.uvoptx @@ -153,24 +153,7 @@ - - - 0 - 0 - 189 - 1 -
134703506
- 0 - 0 - 0 - 0 - 0 - 1 - ..\..\User\app\src\status_programmer.c - - \\output\../../User/app/src/status_programmer.c\189 -
-
+ 0 @@ -202,6 +185,11 @@ 1 g_tProg.FilePath + + 6 + 1 + bytes + @@ -937,7 +925,7 @@ MDK-ARM - 0 + 1 0 0 0 @@ -2705,7 +2693,7 @@ Programmer - 0 + 1 0 0 0 @@ -3237,7 +3225,7 @@ Lua_IF - 1 + 0 0 0 0 diff --git a/Project/MDK-ARM(uV5)/startup_stm32h743xx.s b/Project/MDK-ARM(uV5)/startup_stm32h743xx.s index 0679312..7d68568 100755 --- a/Project/MDK-ARM(uV5)/startup_stm32h743xx.s +++ b/Project/MDK-ARM(uV5)/startup_stm32h743xx.s @@ -68,7 +68,7 @@ __Vectors DCD __initial_sp ; Top of Stack DCD MemManage_Handler ; MPU Fault Handler DCD BusFault_Handler ; Bus Fault Handler DCD UsageFault_Handler ; Usage Fault Handler - DCD 0x00000120 ; Reserved H7-TOOL APP 固件版本 + DCD 0x00000121 ; Reserved H7-TOOL APP 固件版本 DCD 0 ; Reserved DCD 0 ; Reserved DCD 0 ; Reserved diff --git a/Project/h7_tool_app(V1.09).bin b/Project/h7_tool_app(V1.21).bin similarity index 64% rename from Project/h7_tool_app(V1.09).bin rename to Project/h7_tool_app(V1.21).bin index 2d673cc..5e8ab9a 100644 Binary files a/Project/h7_tool_app(V1.09).bin and b/Project/h7_tool_app(V1.21).bin differ diff --git a/User/app/src/status_programmer.c b/User/app/src/status_programmer.c index 1f0e2f9..707d3b3 100755 --- a/User/app/src/status_programmer.c +++ b/User/app/src/status_programmer.c @@ -1012,6 +1012,9 @@ void status_ProgModifyParam(void) if (fSaveParam == 1) { SaveParam(); /* 保存参数 */ + + /* 通知lua程序,多路编程参数变化 */ + lua_do("MULTI_MODE = pg_read_c_var(\"MultiProgMode\")"); } } diff --git a/User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.c b/User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.c index 7a9840b..ee3a29b 100644 --- a/User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.c +++ b/User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.c @@ -209,57 +209,12 @@ static __forceinline void MUL_PIN_SWCLK_SET(void) BSP_SET_GPIO_1(MUL_GPIO_SWD, g_gMulSwd.SWCLK_Pins); } -/* */ +/* 高速 */ static __forceinline void MUL_PIN_SWCLK_CLR(void) { BSP_SET_GPIO_0(MUL_GPIO_SWD, g_gMulSwd.SWCLK_Pins); } -/* */ -#define MUL_SEND_32BIT_ONCE_FAST() \ - if (val & 1) { \ - MUL_GPIO_SWD->BSRR = CLK_0_DIO_1; \ - val >>= 1; \ - MUL_PIN_SWCLK_SET(); \ - } \ - else { \ - MUL_GPIO_SWD->BSRR = CLK_0_DIO_0; \ - val >>= 1; \ - MUL_PIN_SWCLK_SET(); \ - } -static __forceinline void MUL_SEND_32BIT(uint32_t val) -{ -// uint32_t i; -// -// for (i = 0; i < 32; i++) -// { -// if (val & 1) -// { -// MUL_GPIO_SWD->BSRR = g_gMulSwd.CLK_0_DIO_1; -// val >>= 1; -// MUL_PIN_SWCLK_SET(); -// } -// else -// { - -// MUL_GPIO_SWD->BSRR = g_gMulSwd.CLK_0_DIO_0; -// val >>= 1; -// MUL_PIN_SWCLK_SET(); -// } -// } - uint32_t CLK_0_DIO_1 = g_gMulSwd.CLK_0_DIO_1; - uint32_t CLK_0_DIO_0 = g_gMulSwd.CLK_0_DIO_0; - - MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); - MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); - MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); - MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); - MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); - MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); - MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); - MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); -} - /* SPI软件模式,低速配置 */ #define PIN_DELAY_S() PIN_DELAY_SLOW(DAP_Data.clock_delay) #define MUL_SW_CLOCK_CYCLE_SLOW() MUL_PIN_SWCLK_CLR(); PIN_DELAY_S(); MUL_PIN_SWCLK_SET(); PIN_DELAY_S() @@ -273,6 +228,60 @@ static __forceinline void MUL_SEND_32BIT(uint32_t val) #define MUL_SW_READ_BIT_FAST(bit) MUL_PIN_SWCLK_CLR(); bit = MUL_PIN_SWDIO_IN(); MUL_PIN_SWCLK_SET(); +/* 高速模式*/ +#define MUL_SEND_32BIT_ONCE_FAST() \ + if (val & 1) { \ + MUL_GPIO_SWD->BSRR = CLK_0_DIO_1; \ + val >>= 1; \ + MUL_PIN_SWCLK_SET(); \ + } \ + else { \ + MUL_GPIO_SWD->BSRR = CLK_0_DIO_0; \ + val >>= 1; \ + MUL_PIN_SWCLK_SET(); \ + } +static __forceinline void MUL_SEND_32BIT_FAST(uint32_t val) +{ + uint32_t CLK_0_DIO_1 = g_gMulSwd.CLK_0_DIO_1; + uint32_t CLK_0_DIO_0 = g_gMulSwd.CLK_0_DIO_0; + + MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); + MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); + MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); + MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); + MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); + MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); + MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); + MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST();MUL_SEND_32BIT_ONCE_FAST(); +} + +/* 低速模式 */ +#define MUL_SEND_32BIT_ONCE_SLOW() \ + if (val & 1) { \ + MUL_GPIO_SWD->BSRR = CLK_0_DIO_1; PIN_DELAY_S();\ + val >>= 1; \ + MUL_PIN_SWCLK_SET(); PIN_DELAY_S();\ + } \ + else { \ + MUL_GPIO_SWD->BSRR = CLK_0_DIO_0; PIN_DELAY_S();\ + val >>= 1; \ + MUL_PIN_SWCLK_SET(); PIN_DELAY_S();\ + } +static __forceinline void MUL_SEND_32BIT_SLOW(uint32_t val) +{ + uint32_t CLK_0_DIO_1 = g_gMulSwd.CLK_0_DIO_1; + uint32_t CLK_0_DIO_0 = g_gMulSwd.CLK_0_DIO_0; + + MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW(); + MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW(); + MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW(); + MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW(); + MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW(); + MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW(); + MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW(); + MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW();MUL_SEND_32BIT_ONCE_SLOW(); +} + extern uint8_t GetParity(uint32_t data); /* @@ -505,7 +514,7 @@ uint8_t* MUL_SWD_TransferFast(uint32_t request, uint32_t *data) /* armfly : 优化奇偶校验算法 */ pb = GetParity(val); - MUL_SEND_32BIT(val); + MUL_SEND_32BIT_FAST(val); MUL_SW_WRITE_BIT_FAST(pb); /* Write Parity Bit */ } @@ -763,7 +772,7 @@ uint8_t* MUL_SWD_TransferSlow(uint32_t request, uint32_t *data) /* armfly : 优化奇偶校验算法 */ pb = GetParity(val); - MUL_SEND_32BIT(val); + MUL_SEND_32BIT_SLOW(val); MUL_SW_WRITE_BIT_SLOW(pb); /* Write Parity Bit */ } diff --git a/User/lua/if/lua_if_swd.c b/User/lua/if/lua_if_swd.c index 916c79e..0c7c6d7 100755 --- a/User/lua/if/lua_if_swd.c +++ b/User/lua/if/lua_if_swd.c @@ -676,6 +676,7 @@ static int h7swd_Read32(lua_State* L) { uint32_t addr; uint32_t num = 4; + uint8_t err = 0; if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { @@ -683,48 +684,63 @@ static int h7swd_Read32(lua_State* L) } else { - lua_pushnumber(L, 0); /* 出错返回0 */ - return 1; + return 0; /* 返回 nil */ } if (g_tProg.ChipType == CHIP_SWD_ARM) { if (g_gMulSwd.MultiMode > 0) /* 多路模式 */ { + memset(s_lua_read_buf, 0, 4 * num); if (MUL_swd_read_memory(addr, s_lua_read_buf, num) == 0) + { + err = 1; + } + + lua_pushnumber(L, *(uint32_t *)s_lua_read_buf); + lua_pushnumber(L, *(uint32_t *)(s_lua_read_buf + num)); + lua_pushnumber(L, *(uint32_t *)(s_lua_read_buf + 2 * num)); + lua_pushnumber(L, *(uint32_t *)(s_lua_read_buf + 3 * num)); + + if (err == 1) { lua_pushnumber(L, 0); /* 出错 */ } else { lua_pushnumber(L, 1); /* 成功 */ - } - - lua_pushnumber(L, *(uint32_t *)s_lua_read_buf); - lua_pushnumber(L, *(uint32_t *)(s_lua_read_buf + num)); - lua_pushnumber(L, *(uint32_t *)(s_lua_read_buf + 2 * num)); - lua_pushnumber(L, *(uint32_t *)(s_lua_read_buf + 3 * num)); + } return 5; } else { if (swd_read_memory(addr, s_lua_read_buf, num) == 0) + { + err = 1; /* 出错 */ + } + + lua_pushnumber(L, *(uint32_t *)s_lua_read_buf); + + if (err == 1) { lua_pushnumber(L, 0); /* 出错 */ } else { lua_pushnumber(L, 1); /* 成功 */ - } - - lua_pushnumber(L, *(uint32_t *)s_lua_read_buf); - + } return 2; } } else if (g_tProg.ChipType == CHIP_SWIM_STM8) { if (SWIM_ReadBuf(addr, s_lua_read_buf, num) == 0) + { + err = 1; /* 出错 */ + } + lua_pushnumber(L, *(uint32_t *)s_lua_read_buf); + + if (err == 1) { lua_pushnumber(L, 0); /* 出错 */ } @@ -732,15 +748,14 @@ static int h7swd_Read32(lua_State* L) { lua_pushnumber(L, 1); /* 成功 */ } - - lua_pushnumber(L, *(uint32_t *)s_lua_read_buf); return 2; } else { - lua_pushnumber(L, 0); /* 出错 */ - return 1; - } + lua_pushnumber(L, 0); /* 出错 */ + lua_pushnumber(L, 0); /* 出错 */ + return 2; + } } /* @@ -756,6 +771,7 @@ static int h7swd_Read16(lua_State* L) { uint32_t addr; uint32_t num = 2; + uint8_t err = 0; if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { @@ -763,48 +779,63 @@ static int h7swd_Read16(lua_State* L) } else { - lua_pushnumber(L, 0); /* 出错返回0 */ - return 1; + return 0; /* 返回 nil */ } if (g_tProg.ChipType == CHIP_SWD_ARM) { if (g_gMulSwd.MultiMode > 0) /* 多路模式 */ { + memset(s_lua_read_buf, 0, 4 * num); if (MUL_swd_read_memory(addr, s_lua_read_buf, num) == 0) + { + err = 1; + } + + lua_pushnumber(L, *(uint16_t *)s_lua_read_buf); + lua_pushnumber(L, *(uint16_t *)(s_lua_read_buf + num)); + lua_pushnumber(L, *(uint16_t *)(s_lua_read_buf + 2 * num)); + lua_pushnumber(L, *(uint16_t *)(s_lua_read_buf + 3 * num)); + + if (err == 1) { lua_pushnumber(L, 0); /* 出错 */ } else { lua_pushnumber(L, 1); /* 成功 */ - } - - lua_pushnumber(L, *(uint16_t *)s_lua_read_buf); - lua_pushnumber(L, *(uint16_t *)(s_lua_read_buf + num)); - lua_pushnumber(L, *(uint16_t *)(s_lua_read_buf + 2 * num)); - lua_pushnumber(L, *(uint16_t *)(s_lua_read_buf + 3 * num)); + } return 5; } else { if (swd_read_memory(addr, s_lua_read_buf, num) == 0) + { + err = 1; /* 出错 */ + } + + lua_pushnumber(L, *(uint16_t *)s_lua_read_buf); + + if (err == 1) { lua_pushnumber(L, 0); /* 出错 */ } else { lua_pushnumber(L, 1); /* 成功 */ - } - - lua_pushnumber(L, *(uint16_t *)s_lua_read_buf); - + } return 2; } } else if (g_tProg.ChipType == CHIP_SWIM_STM8) { if (SWIM_ReadBuf(addr, s_lua_read_buf, num) == 0) + { + err = 1; /* 出错 */ + } + lua_pushnumber(L, *(uint16_t *)s_lua_read_buf); + + if (err == 1) { lua_pushnumber(L, 0); /* 出错 */ } @@ -812,15 +843,14 @@ static int h7swd_Read16(lua_State* L) { lua_pushnumber(L, 1); /* 成功 */ } - - lua_pushnumber(L, *(uint16_t *)s_lua_read_buf); return 2; } else { - lua_pushnumber(L, 0); /* 出错 */ - return 1; - } + lua_pushnumber(L, 0); /* 出错 */ + lua_pushnumber(L, 0); /* 出错 */ + return 2; + } } /* @@ -834,8 +864,9 @@ static int h7swd_Read16(lua_State* L) */ static int h7swd_Read8(lua_State* L) { - uint32_t addr; + uint32_t addr; uint32_t num = 1; + uint8_t err = 0; if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { @@ -843,48 +874,63 @@ static int h7swd_Read8(lua_State* L) } else { - lua_pushnumber(L, 0); /* 出错返回0 */ - return 1; + return 0; /* 返回 nil */ } if (g_tProg.ChipType == CHIP_SWD_ARM) { if (g_gMulSwd.MultiMode > 0) /* 多路模式 */ { + memset(s_lua_read_buf, 0, 4 * num); if (MUL_swd_read_memory(addr, s_lua_read_buf, num) == 0) + { + err = 1; + } + + lua_pushnumber(L, *(uint8_t *)s_lua_read_buf); + lua_pushnumber(L, *(uint8_t *)(s_lua_read_buf + num)); + lua_pushnumber(L, *(uint8_t *)(s_lua_read_buf + 2 * num)); + lua_pushnumber(L, *(uint8_t *)(s_lua_read_buf + 3 * num)); + + if (err == 1) { lua_pushnumber(L, 0); /* 出错 */ } else { lua_pushnumber(L, 1); /* 成功 */ - } - - lua_pushnumber(L, *(uint8_t *)s_lua_read_buf); - lua_pushnumber(L, *(uint8_t *)(s_lua_read_buf + num)); - lua_pushnumber(L, *(uint8_t *)(s_lua_read_buf + 2 * num)); - lua_pushnumber(L, *(uint8_t *)(s_lua_read_buf + 3 * num)); + } return 5; } else { if (swd_read_memory(addr, s_lua_read_buf, num) == 0) + { + err = 1; /* 出错 */ + } + + lua_pushnumber(L, *(uint8_t *)s_lua_read_buf); + + if (err == 1) { lua_pushnumber(L, 0); /* 出错 */ } else { lua_pushnumber(L, 1); /* 成功 */ - } - - lua_pushnumber(L, *(uint8_t *)s_lua_read_buf); - + } return 2; } } else if (g_tProg.ChipType == CHIP_SWIM_STM8) { if (SWIM_ReadBuf(addr, s_lua_read_buf, num) == 0) + { + err = 1; /* 出错 */ + } + lua_pushnumber(L, *(uint8_t *)s_lua_read_buf); + + if (err == 1) { lua_pushnumber(L, 0); /* 出错 */ } @@ -892,15 +938,14 @@ static int h7swd_Read8(lua_State* L) { lua_pushnumber(L, 1); /* 成功 */ } - - lua_pushnumber(L, *(uint8_t *)s_lua_read_buf); return 2; } else { - lua_pushnumber(L, 0); /* 出错 */ - return 1; - } + lua_pushnumber(L, 0); /* 出错 */ + lua_pushnumber(L, 0); /* 出错 */ + return 2; + } } /* @@ -953,6 +998,10 @@ static int h7_LoadAlgoFile(lua_State* L) { g_tVar.SaveAlgoToCFile = luaL_checknumber(L, 4); } + else + { + g_tVar.SaveAlgoToCFile = 0; + } g_AlgoRam.Valid = 1; @@ -1070,20 +1119,32 @@ static int h7_ProgFile(lua_State* L) extern void MUL_swd_set_target_reset(uint8_t asserted); static int h7_reset(lua_State* L) { + uint32_t delay; + + + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ + { + delay = luaL_checknumber(L, 1); + } + else + { + delay = 20; /* 没有形参,则用20ms */ + } + /* 硬件复位 */ if (g_gMulSwd.MultiMode > 0) /* 多路模式 */ { MUL_swd_set_target_reset(1); - osDelay(20); + osDelay(delay); MUL_swd_set_target_reset(0); - osDelay(20); + osDelay(delay); } else { swd_set_target_reset(1); - osDelay(20); + osDelay(delay); swd_set_target_reset(0); - osDelay(20); + osDelay(delay); } return 0; diff --git a/User/lua/if/lua_if_swim.c b/User/lua/if/lua_if_swim.c index 5e619f1..1ad6007 100644 --- a/User/lua/if/lua_if_swim.c +++ b/User/lua/if/lua_if_swim.c @@ -105,7 +105,18 @@ void h7swim_ReadLuaVar(void) { PG_PrintText("脚本错误 EEPROM_SIZE"); } - lua_pop(g_Lua, 1); + lua_pop(g_Lua, 1); + + lua_getglobal(g_Lua, "STM8_HVOFF"); + if (lua_isinteger(g_Lua, -1)) + { + s_STM8_HVOFF = lua_tointeger(g_Lua, -1); + } + else + { + s_STM8_HVOFF = 0; + } + lua_pop(g_Lua, 1); } ///* diff --git a/User/programmer/prog_if.c b/User/programmer/prog_if.c index 351637b..8e9cb6b 100755 --- a/User/programmer/prog_if.c +++ b/User/programmer/prog_if.c @@ -1373,7 +1373,14 @@ uint16_t PG_SWD_ProgFile(char *_Path, uint32_t _FlashAddr) } else /* VERIFY_READ_BACK */ { - PG_PrintText("正在校验...(Readback)"); + if (flash_algo.verify > 0) + { + PG_PrintText("正在校验...(FLM_Verify)"); + } + else + { + PG_PrintText("正在校验...(Readback)"); + } } /* 加载MCU的编程算法到目标机内存 */ @@ -1444,6 +1451,23 @@ uint16_t PG_SWD_ProgFile(char *_Path, uint32_t _FlashAddr) { uint32_t crc1, crc2; + /* 文件长度不是4字节整数倍,则补齐后再进行硬件CRC32 */ + { + uint8_t rem; + uint8_t k; + + rem = bytes % 4; + if (rem > 0) + { + rem = 4 - rem; + for (k = 0; k < rem; k++) + { + FsReadBuf[bytes + k] = g_tFLM.Device.valEmpty; + } + bytes += rem; + } + } + if (flash_algo.cacul_crc32 > 0 && g_tProg.VerifyMode == VERIFY_AUTO) /* 执行FLM中的crc算法 */ { crc1 = target_flash_cacul_crc32(g_tFLM.Device.DevAdr + addr, bytes, 0xFFFFFFFF); @@ -1509,8 +1533,23 @@ uint16_t PG_SWD_ProgFile(char *_Path, uint32_t _FlashAddr) addr += PageSize; FileOffset += PageSize; } + else if (flash_algo.verify > 0) /* FLM有verify校验函数 */ + { + if (target_flash_verify_page(g_tFLM.Device.DevAdr + addr, flash_buff, bytes) != 0) + { + { + char buf[128]; + + sprintf(buf, "校验失败, 0x%08X", g_tFLM.Device.DevAdr + addr); + PG_PrintText(buf); + } + err = 1; + goto quit; + } + } else /* readback 校验 */ { + if (g_gMulSwd.MultiMode > 0) /* 多路模式 */ { uint8_t i; diff --git a/User/programmer/stm8_flash.c b/User/programmer/stm8_flash.c index 2b0e27c..9b99b39 100644 --- a/User/programmer/stm8_flash.c +++ b/User/programmer/stm8_flash.c @@ -605,11 +605,15 @@ uint8_t STM8_ProgramOptionBytes(uint8_t *_AddrBuf, uint16_t _AddrLen, uint8_t *_ bsp_DelayUS(500); if (Address == 0x4800) { - STM8_WaitIAPSR_Flag(STM8_FLASH_IAPSR_EOP, 1, 1000); /* 1000ms超时 */ + re = STM8_WaitIAPSR_Flag(STM8_FLASH_IAPSR_EOP, 1, 2000); /* 1000ms超时 */ } else { - STM8_WaitIAPSR_Flag(STM8_FLASH_IAPSR_EOP, 1, 50); /* 50ms超时 */ + re = STM8_WaitIAPSR_Flag(STM8_FLASH_IAPSR_EOP, 1, 50); /* 50ms超时 */ + } + if (re == 0) + { + goto err_quit; } bsp_DelayUS(50); STM8_WriteReg_CR2(0); /* 不确定是否需要这句话 解除编程操作*/