 ==========================================================
|	CHANGELOG: WinnerMicro Software Development Kit	   |
 ==========================================================
W800 SDK v1.00.10 | 2022/12/29
==========================
1. 驱动更新
   1）提供模组ADC校准功能接口
   2）修复PSRAM IO复用不完整问题
   3）Flash驱动修改不再每次都写状态寄存器
   4）增加RF参数备份机制
   5）修改对于SD 1.0卡的支持

2. 更新secboot，支持青藤Flash的QIO模式切换；优化每次启动过程都操作flash状态寄存器来切QIO模式的操作

3. 升级LWIP版本至V2.1.3版本
4. 优化一键配网功能 
5. demo修改：
    1）HSPI和SDIO的从设备的DEMO更新，通过参数区分HSPI和SDIO的初始化
    2）修改demo的控制台的接收处理，解决接收命令字不足后无法使用控制台的问题
    3）增加新的联网demo
    4）增加新的扫描demo
    5）增加softap的黑名单功能demo
6. 修复芯片Sleep模式功耗波动问题，修改GPIO默认配置为输入上拉；客户使用时按照IO复用配置，使用指定的上下拉功能
7. RTOS问题修复
   1）修复rtos适配函数没有判断指针是否为空的操作
   2）修复RTOS任务创建时句柄赋值处理
8. 修复因调整tick值并进行时间计算而导致的可能除0操作

9. Wi-Fi库更新内容：
    1）增加WLAN数字增益可调接口
    2）增加连接扫描不到热点的时间可控的API
    3）增加可配置是否可连接open/wep网络的API
    4）增加是否扫描到立即连接AP的API
    5）支持AP的黑名单功能
    6）修复APSTA模式下某些手机连接不上的问题（因信道变更时信标帧内部分信道相关信息未更新）

10. 编译相关
    1）修复某些场景下的编译报错问题（例如：内存调试打开，mbedtls模块编译报错的问题）
    2）修改编译工具链，支持CPP代码的编译
    3）因为升级了LWIP和MQTT，CDK的编译工程变更，建议使用新的工程，把之前改动合过来；
         如果确实要使用之前的工程，需要把相关文件加入，编译前要清理一下编译工程下的过程中文件（.mk,.bat,.txt，LST和OBJ）
    4）如果用户打开较多demo、或者进行内存调试，或者打开wm_debug.h调试功能，而且要使用经典蓝牙的CDK工程编译
        或者使用make编译，需要对链接文件里的I-SRAM进行调整（位置、大小）由此带来一系列的调整（编译固件存放的位置也要调整）
    5）清理编译告警

W800 SDK v1.00.08 | 2022/07/26
========================== 
*********
SDK功能（因v1.00.06版本问题解决，升级版本号到V1.00.08)
********* 
1.修复BLE mesh问题
2.解决softap模式下，SSID隐藏与否条件没有立即生效的问题
3.wm_tool工具修改：
  修改wm_tool生成，使用zlib-1.2.11的压缩库，解决某些文件的压缩包生成失败问题
4.解决添加校准参数后导致的频偏补偿值不对，导致频率补偿错误，引起扫描网络和联网失败的问题
5.清理编译告警
6.解决ADC工作时导致某些IO下拉中断产生的问题
7.更改任务删除时的内存释放处理

W800 SDK v1.00.06 | 2022/05/12
========================== 
*********
SDK功能
********* 
1.蓝牙：
  1）支持mesh功能
  2）增加BR_EDR的链接脚本，当使用BT工程时，使用gcc_csky_bt.ld链接脚本

2.RTOS版本：升级到V10.4.1
  关于回退OS版本的操作：要回退FreeRTOS V7.0.2版本，需把OS文件夹更换为之前版本的OS；具体做法：
     0）删除当前OS的文件夹，把旧版SDK里的OS文件夹拷贝过来
     1）针对CDK工程，需要把CDK工程中OS相关代码更新为旧的OS代码（具体表现为删除工程里的文件夹，重新添加OS）；
     2）命令行编译，需要命令行下重新make lib生成libos.a

3.Wi-Fi联网功能
  *解决连接某些Wi-Fi6路由器后无法获取IP地址的问题
  *优化反复连接某些网络失败概率高的问题

4.驱动相关
  *产线校准ADC功能后的校准参数使用修改
  *解决UART DMA发送函数里DMA接口使用问题
  *同型号Flash不同容量因状态寄存器的差异导致启动失败的问题
  *touch和TRNG使用相同时钟，时钟配置改为默认打开
  *修改一组PSRAM的IO复用功能问题
  *新增touch功能配置接口

5.支持C++的构造函数的初始化

6.demo
  *增加LCD的demo
  *修改touch的demo
  *修改socket client demo使用select防止网络异常造成的阻塞

7.wm_tool工具修改：
  1）修改wm_tool生成压缩文件的压缩等级为缺省等级
  2）修复使用BEST_COMPRESS时部分压缩文件生成不完整问题

8.升级：
  *fwup升级增加image_type检测，只支持IMG_TYPE_FLASHBIN0类型的升级
  *修复通过http方式升级进度条打印不完整的问题

9.清理无效的DSP头文件

W800 SDK v1.00.04 | 2021/10/30
==========================
*********
SDK功能
********* 
1.驱动相关
  *低速SPI做主时，默认IO复用为PB2,PB3,PB4,PB5（与DEMO保持一致）
  *增加UART5功能
  *修复使用40M分频时32K不校准导致不准的问题，RTC使用40M分频时精度基本没有问题
  *修复LCD功能不工作的问题
  *增加ADC获取供电电压的功能
  *增加Flash的OTP操作，增加读取Unique ID的操作
  *增加touch功能
  *修改Flash驱动部分读取操作未加保护问题
  *修复去使能某个IO中断使能位时将整个IO中断也关闭的问题
  
2.DEMO相关
  *增加获取供电电压DEMO
  *增加PMU demo选择时钟使用

3.调试相关
  *增加打印口可设置为UART0/UART1的可配操作（默认使用UART0）

4.配网相关 
  *优改联盛德一键配网的内存使用
  *增加TLS_CONFIG_BLE_WIFI_ONESHOT宏定义

5.编译打包相关：
  *清理部分无效代码
  *修复PPP_SUPPORT宏定义打开，编译报错的问题
  *修复TLS_CONFIG_HOSTIF宏关闭，RMMS编译报错的问题
  *wm_tool.c打包工具更新，解决当升级文件小于1024Byte时打包出的文件无法升级成功的问题
  *增加CKLINK调试下载使用的flash驱动(tools/w800/utilities/W800_Flash_Tool.elf)

6.蓝牙相关
  *修复蓝牙wm_ble_client_demo_on_mtu设置MTU时不设限的问题

7.Wi-Fi相关
  *修复ssid为空时，tls_sys.c文件里自动联网依然触发问题
  *修复apssid为空时，依然可以创建热点成功的问题
  *优化Wi-Fi联网
  *优化联网低功耗
  *修复热点模式Beacon帧发送问题

8.AT相关
  *UART作为AT指令传输通道时，可指定为除UART0外的任意一个UART。
  *修复STA模式固定IP时，AT指令第二次加网，无法查询网络状态的问题
  
9.增加单独支持生产测试的AT指令(src/app/factorycmd目录下）
  *支持发送测试
  *支持接收测试
  *支持频偏补偿(AT+FREQ）
  *支持是否校准查询(AT+&CALFIN)

W800 SDK v1.00.02 | 2021/5/13
==========================
*********
SDK功能
*********
1. 简化RAM分配调整，详见wm_ram_config.h（除了HSPI和WiFi必须使用静态内存外）。

2. 代码空间调整说明：
   1）调整ld文件里的I-SRAM的LENGTH值，如果LENGTH值加ORIGIN值已越界FLASH容量，则调整ORIGIN的初始值
   2） 依据是CDK编译工程，还是直接make来选择调整
      （1） CDK工程里，要调整代码空间大小，除了步骤1）之外，要调整tools\w800\uitilities\aft_build_project.sh文件里的
	  run_img_header和run_img_pos，run_img_pos要和ORIGIN的值一致；run_img_header为ORIGIN值减0x400
      （2） 命令行方式编译，除了步骤1）之外，要调整CONFIG_W800_IMAGE_HEADER和CONFIG_W800_RUN_ADDRESS的值，方法同（1）
   3） 由于代码空间变大，用户空间会变小，那么需要注意用户空间的位置，作为使用时局限。

3. 蓝牙：
  1）ble host切换为nimble，默认使用的蓝牙协议栈
  2）增加了ble多连接示例
  3）蓝牙控制器代码优化
  4）标准蓝牙部分：提供了br_edr lib文件：libbtcontroller_br_edr.a和libbthost_br_edr.a
       如果需要使用标准蓝牙，需要操作：
       （1） 把wm_config.h里的宏TLS_CONFIG_BR_EDR设置为CFG_ON
       （2）编译时：
           如果使用命令行编译，需要make menuconfig，在编译选项菜单里，去使能nimble的选项，或者修改.config文件，把NIMBLE_FTR去掉
           如果使用CDK编译，需要把DNIMBLE_FTR设置为0，在CDK的编译设置项里
       （3）相应的需要把libbtcontroller_br_edr.a和libbthost_br_edr.a改为libbtcontroller.a和libbthost.a
       （4）还需要单独编译一下src/app目录（命令行编译）
       （5） 因蓝牙增加了Code Size，需扩大gcc.ld文件里I-SRAM的空间

   5）蓝牙任务删除统一修改为通过句柄方式删除
   6）蓝牙host的代码统一开源，位置位于目录:src\bt

4. Wi-Fi优化：
   1） STA节能处理优化
   2） 软ap功能暂不支持wmm功能

5. 驱动问题处理：
   DMA：    修复DMA是用loop方式时，循环地址处理不正确导致的中断不产生的问题
   ADC：    DMA方式回调接口统一，DMA时使用内存为动态申请内存；ADC的回调函数统一处理
   GPIO：   修复GPIOB的中断关闭操作时，没有正确操作的问题
   FLASH：  修复Flash加锁操作的操作数异常
   PMU：    删除PMU中断处理里的重复的csi_kernel_intrpt_exit调用触发调度的操作
   7816：   增加7816接口demo
   SPI：    低速主SPI，当使用DMA方式传输时，所用内存为动态分配内存
   IO复用： 增加了W801的IO复用功能设置接口
   uart：   为了适配某些平台，增加的单个字符即回调的接口。

6. OS：
   1） 增加通过任务句柄删除任务的操作(wm_osal_rtos.c, tasks.c)
   2） 完善通过优先级删除任务的操作(wm_osal_rtos.c, tasks.c)
   3） 部分os的适配接口，增加了中断里的使用保护(wm_osal_rtos.c)

7. 网络部分修改：
    1）网络主机名改为：WinnerMicro_+mac地址末2字段的格式。(ethernetif.c)
	2）修复sys_arch.c里的queue delete函数，不再使用开关中断保护

8. wm_main.c里的主任务增加可删除操作，可通过打开宏开关，使得wm_main里的任务使用完毕后删除

9. 内存分配（wm_mem.c）的封装函数改为仅用信号量来管理

10. 应用修复：
   1）FATFS文件系统增加可重入保护处理，针对SDIO HOST部分对接的写SD卡时的非4字节对齐做了处理。
   2）SSL不再使用之前的版本，改为使用mbed TLS 2.7.10
   3）修复oneshot宏关闭，链接失败的问题

11. 清理部分编译告警


W800 SDK v1.00.01 | 2020/12/29
==========================
*********
SDK功能
*********
*ld调整：
     因增加BT功能，代码空间超过1MB，当前设定为1MB+64KB，相应的用户区要减少64KB
     用户区宏调整（wm_flash_map.h）：#define USER_ADDR_START    (0x81E0000UL)
     当前升级区针对超过1MB的情况，只能选择使用压缩的ota固件

*二级BOOT更新：
    1）发布SDK里添加secboot.bin文件生成img的操作，以免客户调整运行区起始地址时，因为secboot的头信息与其不匹配导致升级fls启动不了	 

*蓝牙：
     1）提供三种蓝牙的库，bt和ble都有的lib，单独标准bt的lib，单独ble的lib
        用户可根据实际需要配合wm_config.h里的TLS_CONFIG_BR_EDR和TLS_CONFIG_BLE的设置，把相关的lib更名为libbt.a。
     2）发布时默认使用ble都有的lib
	 3）优化蓝牙参数
	 4）增加蓝牙demo

*Wi-Fi：
    1）优化低功耗功能
	2）优化异常恢复处理

*系统参数及驱动：
    1）增加关键参数区写保护操作
	2）优化参数区使用内存，改为只使用一块静态内存
    3）解决SDIO多block写操作失败问题
	4）Master SPI使用的任务栈改为使用申请创建任务，不再使用静态内存

*芯片的sleep和standby功能修改：
    1）sleep和standby的进入条件修改
    2）at指令里的AT+ENTS需要的芯片Sleep和standby功能函数从wifi lib移至wm_cmdp.c

	
W800 SDK v1.00.00 | 2020/08/04
==========================
*********
SDK功能
*********
*ld调整：
     因增加BT功能，代码空间超过1MB，当前设定为1MB+64KB，相应的用户区要减少64KB
     用户区宏调整（wm_flash_map.h）：#define USER_ADDR_START    (0x81E0000UL)
     当前升级区针对超过1MB的情况，只能选择使用压缩的ota固件
*蓝牙：
     1）支持BT功能，提供Audio sink和免提电话相关的API
     2）提供三种蓝牙的库，bt和ble都有的lib，单独标准bt的lib，单独ble的lib
        用户可根据实际需要配合wm_config.h里的TLS_CONFIG_BR_EDR和TLS_CONFIG_BLE的设置，把相关的lib更名为libbt.a。
     3）发布时默认使用bt和ble都有的lib
*Wi-Fi：
    1）解决设定参数扫描，时间过长扫描个数反而少的问题
*增加DSP功能（以lib和demo方式提供）
*提供dsp功能的相关demo，详见DEMO_DSP宏包含的相关代码
*增加IO下拉功能配置
*修改GPIO demo，增加下拉功能，GPIO的输出高或低的测试
*修改ADC功能，提供芯片温度和外部输入电压的测试，不支持芯片电源电压的检测功能。
*修改PWM demo，支持PWM两组复用的测试demo
*SDK提供CDK编译工程（编译限制路径长度80字符以内）
*CDK（CSKY Development Kit）的版本：>V2.2.2，获取路径：https://occ.t-head.cn/community/download?id=575997419775328256
*增加BLE数据通信的demo

W800 SDK v0.00.06 | 2020/07/07
==========================
*********
SDK功能
*********
*低功耗：
    1）只有Wi-Fi的时候，断网也进入节能
    2）部分外设的时钟改为只在使用时打开（LSPI）
*蓝牙：开放蓝牙应用代码，路径:src/app/btapp
*Wi-Fi：
    1）增加可配扫描参数的扫描API接口：tls_wifi_scan_by_param
    2）内部增益优化
    3）Wi-FI的调试LOG默认关闭
    4）更新Wi-Fi默认增益参数
    5）处理SSID长度为0时也触发联网的问题
	6）默认wifi工作使用温补（wm_main.c里设置）
*与PWM相关的IO复用配置的API命名更改为0,1,2,3,4编号，即函数:wm_pwmX_config（X=0,1,2,3,4）
*更改部分DEMO的IO使用（GPIO，PWM，LSPI，I2S）
*解决LSD ONESHOT可能使用空SSID联网的问题
*处理IPERF SERVER测试后，无法启动Client测试的问题
*更改内部温度检测函数的结果计算(不再计算平均值）
*解决RMMS反复创建存在的内存不释放问题
*调整ping的任务栈大小
*解决某些路由DHCP拿不到IP的问题

W800 SDK v0.00.05 | 2020/06/12
==========================
*********
SDK功能
*********
*修改CPU默认时钟为80M
*默认打开Wi-Fi的节能功能（Wi-Fi和蓝牙共存时，Wi-Fi不节能）
*优化蓝牙配网兼容性
*修改部分任务栈使用动态申请内存，不再使用静态数组
*打开并生效Wi-Fi的本振和相位补偿功能
*修复GPIO的数据定义边界问题
*删除link文件，当前默认make使用的是use lib
*修复命令行编译结果不变的问题：因elf文件未移动导致的

W800 SDK v0.00.04 | 2020/06/04
==========================
*********
SDK功能
*********
*优化蓝牙配网兼容性
*增加CK-LINK复用打开关闭的宏开关:WM_SWD_ENABLE，默认打开
*代码清理
*sdk打包里添加编译的固件（bin目录）
*修改Standby和Sleep功耗问题
*修改ADC采集内部温度功能（采集电压功能还不支持）

W800 SDK v0.00.03 | 2020/06/01
==========================
*********
SDK功能
*********
*优化蓝牙配网兼容性
*优化Wi-Fi的基带参数，解决最大输入电平问题
*增加mbedtls及demo
*默认JTAG复用功能打开

W800 SDK v0.00.02 | 2020/05/19
==========================
*********
SDK功能
*********
*更新优化后的Wi-Fi相关参数
*更新Flash工作模式及工作频率(80MHz)
*更新SDIO HOST和I2S驱动
*更新AT+ENTS的Sleep和Standby功能，更新文档
*更新AT+HTTPC的返回值说明，更新文档
*更新secboot版本
*默认打开IPERF功能

W800 SDK v0.00.01 | 2020/04/30
==========================
*********
SDK功能
*********
*Wi-Fi基本功能：STA，AP，APSTA
*Wi-Fi配网功能：oneshot，蓝牙，ap，web
*基本驱动功能（除adc，sdio host，i2s外）
*Flash的布局及参数区
*升级功能：串口升级，OTA（http服务器升级）
*加密功能
*基础的demo









