﻿/**
  ******************************************************************************
  * 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:
--------------------------------------------------------------------------------->
2023-6-12	V1.00	AE TEAM

<--------------------------------------------------------------------------------
Demo introduction:
--------------------------------------------------------------------------------->
本示例功能：Flash DB 演示示例，基于 Flash 芯片 MX25L6406 的 KVDB 及 TSDB 演示。

<--------------------------------------------------------------------------------
测试环境:
--------------------------------------------------------------------------------->
测试用板：
ES-PDS-ES32F3696LX-V1.0
ES-PDS-E2+FLASH-V2.2

辅助工具：
ES Bridge / USB TO TTL(USB转串口工具)

辅助软件：
ES Bridge / XCOM 

注：建议使用 USB转串口工具 搭配 XCOM (能看到更多数据以及保存数据)
<--------------------------------------------------------------------------------
测试步骤：
--------------------------------------------------------------------------------->
1) 编译工程，编译通过后将程序下载到目标芯片；
2) 将芯片的NSS/SCK/MISO/MOSI分别连接flash的CS/SCK/MISO/MOSI (ES-PDS-ES32F3696LX-V1.0板子背面E接口可以直插ES-PDS-E2+FLASH-V2.2)
3) 打开ES Bridge的UART界面，按照程序配置参数（波特率115200-1位停止位-8位数据位-无奇偶校验），打开串口；
4) 复位芯片，或在线调试，打开相关宏定义，运行测试程序，ES Bridge的UART接收框输出相关信息。

注：sfud_test主要测试sfud是否正常工作
<--------------------------------------------------------------------------------
注意：
--------------------------------------------------------------------------------->
1) ES-PDS-E2+FLASH需要插入ES-PDS的E接口；
2) keil工程请勿勾选“GNU extensions”。

<--------------------------------------------------------------------------------
System clock:
--------------------------------------------------------------------------------->
外部HOSC 12MHz 3分频后PLL倍频到72MHz.

<--------------------------------------------------------------------------------
Pin connection:
--------------------------------------------------------------------------------->
SPI0_NSS  ---- PB0[GPIO_FUNC_1]
SPI0_SCK  ---- PD3[GPIO_FUNC_4]
SPI0_MISO ---- PB4[GPIO_FUNC_4]
SPI0_MOSI ---- PB5[GPIO_FUNC_4]
UART2_TX  ---- PE2[GPIO_FUNC_3]
UART2_RX  ---- PE3[GPIO_FUNC_3]