程序名称：FlashTools
程序版本：FlashTools V4.1.19

V4.1.19
20250910
1.修复718PM assist_second_port_cmd参数误关，重新打开后修复支持USB AT口下发ECRST进入下载模式下载。
修改文件为product_sets\ec718m_products\ec718pm\base_config_files\config_ec718pm_prd_usb.baseini


V4.1.19
20250825
1.更新PrMgrCfg.json, 增加EFID01定义，支持外部FLASH SPI1
2.更新了718m2 uart/usb agentboot，支持外部FLASH SPI1.


V4.1.18
20250825
1.更新PrMgrCfg.json, 增加产品命名EC718PM_GLO_PRD支持，增加了product_sets\ec718m_products\glb718pm配置参数集，用于支持full band 版本

V4.1.18
20250423
1.更新了718M2 agentboot, 在初始化阶段，如果HW TRIM 没有调用，并且FUSE MIRROR也没有加载，
在SBOOT使能的情况下，尝试HW TRIM.

20250314
1.更新了EC626 agentboot文件，支持CHIP读取。
       增加统一626,626m的配置文件，该配置文件同一个flexfile可以配置多个（flexfile_x，CHIPID_x，文件校验pattern_x)参数对，
工具下载前通过CHIPID读取，识别626或者626M芯片，选择对应的参数对，进而选择对应的626/626M校准文件；
还可文件校验pattern，对下载前的文件进行格式校验，防止误烧。
参考配置文件示例：config_ec626_626m.unionini

;choose_path_by_chipid=1，打开对支持可选的校准文件和CHIP ID参数对配置
choose_path_by_chipid=1

;select_chipid_mode=file_chipid_by_compare_seq, 通过比较index0_compseq,index1_compseq, 来确定对应的indexn，获取相对应index的indexn_chipid的值作为当前文件的chipid
select_chipid_mode=file_chipid_by_compare_seq

;参数对0，对应的CHIPID_0的值，
index0_chipid=a0efe8ee
;参数对0，文件校验pattern_0，0x0被校验文件的偏移地址,36为被校验文件对应位置0的hex值
index0_compseq=0x0:36

;参数对1，对应的CHIPID_1的值
index1_chipid=b08690f0
;参数对1，文件校验pattern_1，0x0被校验文件的偏移地址,37为被校验文件对应位置0的hex值
index1_compseq=0x0:37

2.更新了716S uart/usb agentboot，
2.1 支持外部FLASH 3.3V需要以下两个文件中增加配置
config_ec716s_prd_uart.baseini
config_ec716s_prd_usb.baseini
[control]
pr_runtime_ctrl_en = 1
chip_ctl_para_en = 0
board_ctl_para_en = 1
io_vol_18_or_33 = 1

2.2 增加了XMC FLASH 特殊ID的支持，用于识别该款FLASH，并读取UUID.
增加了外部FLASH支持


3.更新了718M2 uart/usb agentboot,有条件的配置相关TRIM，提高烧录成功率和FUSE读取次数
3.1 擦写失败的时候，配置相关TRIM，提高烧录成功率
3.2 在JEDEC ID读取失败的时候，配置相关TRIM
3.3 以及在FLASH读取操作时，配置相关TRIM

4.prmgrcfg.json中增加了 716S/716E 外部FLASH存储

20250214
1.增加了 EC626E LAYOUT支持

20241122
1.修改了代码参数，解决读flash失败的问题。
2.更新了718PM FLASHLAYOUT, bootloader扩大了16KB， Default rr后挪。


20241107
1.增加了718um配置，增加了718hm配置

20241106
1.调整了718pm/sm的at复位延迟时间600->650ms

20241028
1.更新了718 agentboot，优化了 下载外部flash下载速度，及usb内部flash下载对齐擦除。
2.同步了runtmcfg,外部flash3.3VIO可配置。
打开runtimecfg
[control]pr_runtime_ctrl_en=1
打开board参数配置
[control]board_ctl_para_en = 1
配置IO 3.3V，适用于 3.3V供电的外部FLASH
[control]io_vol_18_or_33 = 1

3.更新了外部flash频率参数可配，ext_flash_freq_seq = 0/1 分别为13M/26M
baseini配置如下为外部flash工作时钟26M
[control]pr_runtime_ctrl_en=1
打开board参数配置
[control]board_ctl_para_en = 1
配置外部FLASH 时钟13M*2
[control]ext_flash_freq_seq = 1
4.更新了对于618 bootld2 secure head文件中的head烧录地址字段不校验，使用默认地址。

5.更新了618 agentboot，支持bootld2烧录。
6.更新了718U layout
7.更新了716 agentboot固件，716S/716E FLASH大小校验，uuid等。
[control]
pr_runtime_ctrl_en = 1
chip_ctl_para_en = 1
verify_flash_size_need = 1

20240910
V4.1.15
1.增加了bootld2配置支持。
2.同步了V4.0.X security 相关功能。
3.同步了CLI工具相关编译库。
4.更新了618 AGENTBOOT UART/USB ，从V4.0.15同步
5.更新了217 AGENTBOOT UART/USB，支持bootld2.


V4.1.14
20240717
1.更新了支持外部FLASH EFAPP这类定义，用于兼容差分升级工具的兼容打包方式。

V4.1.13p01
20240511
1.更新了EC626 format_ec626.json 烧录校准区域时擦除区域40KB改为32KB，不擦除8KB IMEI区域。

V4.1.13 
20240428
1.更新了ERASE DEVLEOPMODE.

V4.1.11p03
20240326
1.更新了718U 8MFLASH flashlayout
2.更新了EC626 flashlayout LFS/RR区域位置互换。

V4.1.11p02
20240325
1.更新了718 usb/uart agentboot固件,支持718U 8MFLASH

V4.1.12p01
20240301
1.增加支持716e配置。

V4.1.12
20240108
1.增加了版本信息。
2.更新uart/usb agentboot.bin，在初始化flash时对flash软复位，避免因为flash未退出continuous模式，导致下载break报错。

V4.1.11
20231127
1.修复了718辅助端口检测AT+ecrst时间过长，导致响应字符串多余字符，导致显示错误。
2.增加了运行时参数检测pr_runtime_ctrl_en ， chip_ctl_para_en，verify_flash_size_need使能时检测Flash大小。
 chip_ctl_para_en，board_ctl_para_en外部IO电压可配及外部FLASH上电、上电延迟可控。


V4.1.10
20231120
1.增加了716s usb agentboot.bin,解决716s usb口flash读取超时
1.更新了716s usb下载端口，通过AT COM发送复位进行usb下载，实现免按键下载功能。

V4.1.10
20231117
1.增加了718默认外部Flash存储器区域配置


V4.1.10
20231113
1.修改了217 FLASH回读速度较慢的问题。
2.修改了一处多余的.initest测试文件复制。

V4.1.10
20231109
1.解决了binpkg包内存在pkgflx镜像时，FlashToolUI由于检测到了参数变化误报错而导致无法下载的问题。

V4.1.9
20231106
1.修改删除uart ini中默认配置的security配置参数.
2.更新参数时，如果之前配置了security参数，会导致hash校验和被打开，可能导致217启动时hash校验失败，修复并删除旧的配置数据段。

V4.1.8
20231102
1.更新了Feedback，Calibration界面的错误显示当为单端口下载时，只显示Com Port,双端口时显示为USB Com Port。

V4.1.8
20231031
1.更新了718 usb下载端口，通过AT COM发送复位进行usb下载时将各个步骤的信息打印到界面上。

V4.1.8
20231030
1.更新了718 usb下载端口，通过AT COM发送复位进行usb下载，实现免按键下载功能。

V4.1.7p02
20230925
1.更新了718 USB drv strength。

V4.1.7p01
20230922
1.更新了QCX217 uart下载3000000bps，usb下载功能，及QCOM VID 05C6 USB端口过滤。

V4.1.7
20230911
1.主版本号和之前发布的版本相同，都为4.1.6，无法从版本号上直接区分， FLASHLAYOUT这一重要变更，所以重新编译
更新主版本号为V4.1.7.

V4.1.7
20230908
1.更新了718P/S, 716S的MEMORY LAYOUT.

V4.1.6p07
20230907
1.更新了ec217支持。

V4.1.6p05
20230906
1.更新了716p format json文件 fs区域地址错误，误擦除了RR区域。

V4.1.6p04
20230828
1.更新了716s usb agentboot，修改了超时参数错误，支持power off。
2.更新了626的下载detect模式1，at reset 参数。

V4.1.6p03
20230825
1.更新了718/716s flash memory layout demo image。

V4.1.6p02
20230825
1.更新了718/716s flash memory layout。

V4.1.6p01
20230822
1.更新了618/718外部flash下载擦除时延优化。

V4.1.6
20230803
1.修复CP FLASH默认大小不为1M
2.修改支持618旧包，如果bootloader大小超过配置的限制，进行容错处理。
3.增加了ROM version append list处理
4.增加了XPK PACKAGE参数重配的配置。
5.增加支持716S IMAGE下载，支持716S 3M UART端口。

V4.1.5
20230718
1、更新或者优化测试过程的一些问题。


V4.1.4
20230706
1.增加了启动免按键usb枚举及探测进入下载模式，用于升级模式免按键下载和变砖烧录。
2.增加了扩展版本包内，内置参数文件xpk_prmgrcfg.json,xpk_format.json , xpk_baseini, agentboot等文件的打包压缩和解析，及下载。

V4.1.3
20230606
1.增加了支持718u的相关配置项。

V4.1.3
20230526
1.更新了usb/uart agentboot, 优化了timing。

V4.1.3
20230504
1.更新了界面切换时，进行配置参数是否有效诊断，当download页面加载参数或者解压binpkg失败时，
由于包含flash layout信息的format.json无法确定，因此在feedback界面回读flash数据或则在calibration界面
下载数据时报错，以免因为flash layout数据错误导致数据不一致。

V4.1.2 
20230428
1.更新了618legacy baseini配置文件的一些路径错误。
2.更新了config_ec618_legacy_uart.ini.back的一些路径

V4.1.2 
20230426
1.更新了718h format.json rr,drr 地址。

V4.1.2 
20230425
1.更新了718  uart方式下载的agetnboot.bin，支持3M波特率下载。

V4.1.2
20230424
1.增加了product_sets目录，支持718相关配置，618相关配置的数据更新。
2.更新了CP FLASH LNA地址可配置。718 CP FLASH BASE LNA为0x8000000,删除了PKG加载时CP IMG ADDR无用的代码。
3.pkg_bins_regen_targetdir，pkg_inicfg_regened_state改成非必须参数，未配置时设置默认值。
4.支持718 P/S/H三种不同的PKG时，通过AGDldCtrl参数传递到agentboot头部数据结构，来自适应AP/CP FLASH的初始化和大小配置，
及结构数据错误时对应的错误码处理。
5.支持product select 从base config中同步参数时，过滤非必要更新的参数。
6.支持format_path从PRMgrCfg.json中同步，PRMgrCfg.json只在程序启动后加载一次，避免重复加载。
7.更新了618/718 P/S/H TRUNK 分支的memmap, PRMgrCfg.json 及binpkg测试。
8.增加了加载参数时根据不通的场景进行当前load参数的区分，进行一些数据一致性判断处理。



V4.1.1
20230410
1.更新了下载失败处理，对于NACK和外部存储器ID读取失败时，做特殊处理，
2.修改了包解压规则，当版本小于111时，则一直按旧包规则解析，即处理方式和V4.0系列版本一致；
当版本大于等于111时，解压后进一步判断jimagedata.json中pkgarg是否存在，如不存在，则按旧包
规则进行解压(包内不能包含除BL,AP,CP的镜像，且地址为偏移地址), 如pkgarg存在，则按新包规则
解析（支持除BL,AP,CP外的镜像，且地址为线性地址).
3.删除了旧的FWDBACKUP参数的备份与还原.
4.更新了基础组件，当selected_product支持时，解压包时的路径会根据项目名称生成子目录。

20230323
1.PrMgrCfg.json配置文件，支持product预定义参数，如存储器大小，基地址等。
目前包含支持旧格式包产品EC618_OLDPKG_DEFAULT,EC618_4M（支持外部FLASH)产品的定义.
2.增加select_product_support定义，当该值为1时，根据selected_product的值从PrMgrCfg.json文件中提
取产品配置参数，如存储器信息等。原ini配置文件中的存储器信息会被替换。待支持更多参数，以用来支持
其他芯片项目的重定义，并统一到同一个ini配置文件。
3.增加了产品配置选项中外部存储器的支持，并更新了EXT IMG的下载烧录。
4.更新了usb/uart agentboot.bin,用以支持外部存储器烧录。
5.更新了111版本fcelf.exe打包工具及打包参数。
6.增加解包过程根据selected_product并更新INI配置文件等更新步骤及状态处理。
7.根据selected_base_inicfg_type = uart/usb参数，及产品名称选择UART/USB基础配置文件，并重新生成
下载使用的ini文件。
8.增加selected_base_inicfg_rec，select_product_finded，selected_base_inicfg_type等参数用于记录或者
更新状态。
9.增加了解包过程中的一些错误码及信息。
10.修复了下载失败时，没有返回错误。


V4.1.1
20230130
1.更新了fcelf.exe
    更新后的fcelf新/旧格式包的解压；
    更新前的fcelf制作的包定义为旧格式包，旧格式包的制作过程主要对于之前没有更新的SDK基线版本，
其制作.binpkg的fcelf、参数和制作过程都不需要更新调整，新版本工具默认支持旧格式的包。
    用更新后的fcelf.exe制作的包定义为新格式包；
    新格式的binpkg可以添加额外的文件，例如fs.bin等，同时在制作包时支持了AP FLASH、
 CP FLASH 大小，及地址等参数的定义；
    新格式包解压后的json文件中带有version字段，该字段用于识别新格式包；

2.工具支持旧格式包和新格式包。
    初始配置文件ini新旧格式包都兼容；
    当使用新格式包解压的时候，配置文件会进行更新，更新后的ini中包含有pkg_inicfg_regened
配置字段，不再适用于旧包，同时配置文件会同步AP FLASH,CP FLASH大小和及地址等信息；
    使用新格式包首次解压更新时会对初始配置文件ini进行备份，一般备份名称为
config_xxx.fmt.comp.back；
    同一个工具同时需要支持旧格式的包和新格式的包，若初始配置文件ini没有被更新，则在烧录旧
格式包时直接选用初始配置文件即可，旧格式包的制作过程和原先一致。
    同一个工具同时需要支持旧格式的包和新格式的包，若初始配置文件ini已经被更新且备份，那么
在烧录旧格式包时，对这个备份的config_xxx.fmt.comp.back，重新命名成如config_xxx.oldfmt.ini，
并选用这个配置文件，因为在备份前工具界面上可能已经把.binpkg选成了新格式包.binpkg文件路径，
所以也要修改一下config_xxx.oldfmt.ini配置文件中的arg_pkg_path_val字段指向旧格式包.binpkg
文件所在路径；

3.烧录旧包时，增加了bootloader, system, cp_system image的基地址校验。
4.工具界面支持新格式包.binpkg中的所有文件可选下载。
5.工具界面支持选择包以后，更新到ini配置文件中，重复打开ini不需要重选.binpkg路径。
6.工具界面面.binpkg选择时如果解压错误，允许重新选择.binpkg, 避免错误对话框重复弹出而无法选择.


V4.0.11
20221028
1.修复了支持指定地址烧录时，更新配置文件时关键字填写错误stor_type,
导致FREE BURN 烧录AP空间的镜像时。修复关键字为storage_type


V4.0.10p01
20221020
1.修复了618从CP程序烧录完继续烧录AP程序时，烧录的AP程序空间错误的烧录
到CP FLASH区域的问题，更新618 uart/usb agentboot.bin解决。
2.修改618 uart agentboot UART1选用51M时钟源，配置时钟使能。
3.修改619 uart agentboot UART1选用102M时钟源，配置时钟使能

V4.0.10
20221014
1.增加了工具支持指定地址烧录。

V4.0.9p01
20220902
1.修改了format_ec616(s).json calibration擦除长度错误。

V4.0.9
20220825
1.修复了format_json_ec619_8m.ini NVM擦除其实地址偏移错误。
20220816
1.支持619 FLASH SIZE可配置,修复了NVM擦除其实地址偏移错误。

V4.0.6
20220311
1.修正了对下载过程中异常处理进行检查，并关闭串口。

V4.0.5p02
20220225
1.更新agentboot.bin，修正了读取64KB超时问题。

V4.0.5p01
20220221
1.更新了format.json "hfd"区域起始地址和大小。

V4.0.5
20220221
1.增加了芯片类型检测。

V4.0.4
20211210
1.修复了cp_system下载失败。

V4.0.3
20211126
1.更新了超时检测宏定义

V4.0.3
20211119
1.更新了回读时，长度校验错误
2.一处串口打开异常时，返回错误。增加串口打开，关闭时的log选项。
3.update flexfile0 burnaddr in config file
4.更新了fcelf.exe,支持新格式的package

V4.0.2
20210928
1.增加参数tool_basedir, 配置1时,agpath配置相对路径参数时将以工具所在目录作为基础目录
2.对于CP FLASH，检查配置有效时才全擦。

V4.0.1
20210926
1.更新了agentboot_616(s).bin,修复616/616S下载时接口不匹配的问题

V4.0.1
20210913
1.增加了PKG模式时，带空格参数路径的支持。

