/**
  ******************************************************************************
  * 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) 2022 Shanghai Eastsoft Microelectronics Co., Ltd. ALL rights reserved.
  *******************************************************************************
  */

<--------------------------------------------------------------------------------
Version history:
--------------------------------------------------------------------------------->
2023-08-09       V1.0.0      AE TEAM

<--------------------------------------------------------------------------------
Demo introduction:
--------------------------------------------------------------------------------->
本示例功能：APP程序需要BOOT程序进行跳转。作为USB MSC设备被PC识别，从USB MSC主机（PC）中获取新APP。
更新APP的方式为：在PC上将APP存入MSC设备，APP文件名LOAD????.BIN。

各区域划分如下：

地址范围                   功能
0x00000 - 0x059FF（22.5k） BOOT程序
0x05A00 - 0x0AFFF（22k）   FAT区
0x0B000 - 0x1FFFF（83.5k） 被下载的新APP程序

<--------------------------------------------------------------------------------
测试环境:
--------------------------------------------------------------------------------->
测试用板；
ES-PDS-ES32F0283LT-V1.0

辅助工具：
ES-BUR-ESLINK2OB

辅助软件：
MobaXterm上位机软件

<--------------------------------------------------------------------------------
测试步骤：
--------------------------------------------------------------------------------->
1) 编译BOOT工程，编译通过后将程序下载到目标芯片。BOOT工程的SDK绝对路径为：
\Projects\ES32F0283_FS026\Applications\CherryUSB\usb_device\04_mscbldr
2) 编译APP工程生成bin文件，重命名为load.bin
3) PC13拉高，复位芯片或在线调试运行程序。
4) 将USB_OTG接口与PC USB连接。
5) 等待USB设备枚举完成。在PC提示“磁盘未被格式化”时格式化USB MSC设备。
6) 在PC上将load.bin放入USB MSC设备，APP程序将被更新。
7) PC13拉低，APP程序运行。

<--------------------------------------------------------------------------------
注意：
--------------------------------------------------------------------------------->

<--------------------------------------------------------------------------------
System clock:
--------------------------------------------------------------------------------->
PLL  72M

<--------------------------------------------------------------------------------
Pin connection: 
--------------------------------------------------------------------------------->
PC13 - BOOTPIN