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

<--------------------------------------------------------------------------------
Version history:
--------------------------------------------------------------------------------->
2020-05-07	V1.0.0	AE TEAM


<--------------------------------------------------------------------------------
Demo introduction:
--------------------------------------------------------------------------------->
Bootloader vid UART[1K-Xmode]

Test_bin/ -- Test bin file.
Test_bin/run_in_flash.bin -- User program runs on FLASH
Test_bin/run_in_sram.bin -- User program runs on SRAM

Allocate address space:
(Details can be viewed in \ES32_SDK\Middlewares\Eastsoft\Bootloader\Library\boot_flash.h)
1. User program runs on FLASH
    FLASH: 0x00000000--0x00007FFF  Bootloader code segment
           0x00008000--0x0003FFFF  User program code segment
    SRAM:  0x20000000--0x20008000  Common bootloader program and user program
2. User program runs on SRAM
    FLASH: 0x00000000--0x00007FFF  Bootloader code segment
           0x00008000--0x0003FFFF  User program storage area
    SRAM:  0x20000000--0x20003FFF  Common bootloader program and user program
           0x20004000--0x20008000  User program code segment


Users can view the second and sixth chapters of <AN2020_Application_Note_ES32F36xx_Bootloader>

<--------------------------------------------------------------------------------
System clock:
--------------------------------------------------------------------------------->
External HOSC[12MHz] divided by 3, then PLL to 48Mhz.

<--------------------------------------------------------------------------------
Pin connection: 
--------------------------------------------------------------------------------->
UART0_TX ---- PB10[GPIO_FUNC_3]
UART0_RX ---- PB11[GPIO_FUNC_3]

Note: UART0 for debug[baudrate->115200]