MG32F157 Standard Peripherals Firmware Library
SPI1 SPI_Flash example
  ****************** (C) COPYRIGHT 2023 Megawin Technology *******************
  * @file    SPI/SPI_Flash/readme.txt 
  * @author  Megawin Application Team
  * @version V0.0.4
  * @date    16-June-2023
  * @brief   Description of the SPI1 Flash example.
  ******************************************************************************
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT, MEGAWIN SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
  * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM
  * THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  ******************************************************************************
Example Description

This example describes how to manipulate SPi peripherals using the SPI firmware library and drivers that communicate with SPI Flash using SPI peripherals.

In this example, Main clock is from PLL clock and it is configured at 96MHz. The PLL clock is based on 8MHz HSE. APB1 clock is the 2 frequency division of the Main clock, APB2 clock is from Main clock.

This example does the following:

  • Initializes and sets the communication rate of SPI1 to 12 Mbit/s.
  • Read the SPI Flash ID and print it out.
  • Use the SPI FLASH driver to erase the sectors to be accessed and write data from WriteData to memory.
  • Read memory, where data is stored in ReadBuffer. The ReadBuffer data is then compared with the expected value in WriteData. And print out the comparison results.
Directory contents
  • SPI/SPI_Flash/SPI_Flash.uvprojx MDK5 project file
  • SPI/SPI_Flash/SPI_Flash.uvoptx MDK5 project options file
  • SPI/SPI_Flash/JLinkSettings.ini Jlink settings file
  • SPI/SPI_Flash/main.c Main program
  • SPI/SPI_Flash/drv_spi_flash.c ES8316 Driver source file
  • SPI/SPI_Flash/drv_spi_flash.h ES8316 Driver header file
Hardware and Software environment
  • Hardware environment
    • HSE crystal is 8MHz
  • Chip pins and SPI FLASH are connected as follows:
    • SPI_CS PA4 Pin connected to SPI Flash CS (pin1)
    • SPI_CLK PA5 Pin connected to SPI Flash CLK (pin6)
    • SPI_MISO PA6 pin connected to SPI Flash DO (pin2)
    • SPI_MOSI PA7 Pin connected to SPI Flash DI (pin5)
    • SPI Flash WP (pin3) Connects to Vdd
    • SPI Flash HOLD (pin7) Connects to Vdd
How to use it ?

In order to make the program work, you must do the following :

  • Open SPI_Flash.uvprojx from this example folder by Keil MDK5
  • Rebuild all files and load your image into target memory
  • Run the example

    © COPYRIGHT 2023 Megawin Technology