/**
  ******************************************************************************
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * Copyright (C) 2021 Shanghai Eastsoft Microelectronics Co., Ltd. ALL rights reserved.
  *******************************************************************************
  */

<--------------------------------------------------------------------------------
Version history:
--------------------------------------------------------------------------------->
2025-03-17	V1.0.0	AE TEAM

<--------------------------------------------------------------------------------
Demo introduction:
--------------------------------------------------------------------------------->
本示例功能：
(1).接收通过串口下发的固件。
(2).目录下app_demo.bin已经准备好的升级bin文件
<--------------------------------------------------------------------------------
测试环境:
--------------------------------------------------------------------------------->
测试用板；
ES-PDS-ES8H0464ELLT

辅助工具：
ch340串口工具

辅助软件：
add_checksum.exe
ECOM串口助手

<--------------------------------------------------------------------------------
测试步骤：
--------------------------------------------------------------------------------->
(1) 编译工程，设置rom起始地址0x0000，使用空间最大为32K，编译通过后将程序下载到目标芯片。app下载
地址从0x8000开始，使用空间最大为224k。
(2) 打开串口助手，选择对应的串口号。
(3) 复位程序，观察串口工具输出的log。
(4) 在串口助手中输入version，观察版本号。
(5) 在串口助手的发送控制，选择对应的传输协议1K Xmode，打开准备发送的固件文件。固件文件
通过编译后生成为.Bin文件，通过add_checksum.exe对文件进行添加CRC和文件长度到bin文件末端。
(6) 在串口助手中输入update，看到提示特定Log后，选择发送文件。
log:
Strat updating afer 3 second !
Don't input anything!!!

(7) 在串口助手中输入run_flash，学习LED间隔1秒闪烁。

<--------------------------------------------------------------------------------
System clock:
--------------------------------------------------------------------------------->
Internal HRC 48MHz

<--------------------------------------------------------------------------------
Pin connection: 
--------------------------------------------------------------------------------->
UART_TX_PIN  ----  PB1[GPIO_FUNC_2]
UART_RX_PIN  ----  PB0[GPIO_FUNC_2]
