You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
4.8 KiB
C
99 lines
4.8 KiB
C
/**
|
|
******************************************************************************
|
|
* @file main.h
|
|
* @author MCU Application Team
|
|
* @brief Header for main.c file.
|
|
* This file contains the common defines of the application.
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* <h2><center>© Copyright (c) 2023 Puya Semiconductor Co.
|
|
* All rights reserved.</center></h2>
|
|
*
|
|
* This software component is licensed by Puya under BSD 3-Clause license,
|
|
* the "License"; You may not use this file except in compliance with the
|
|
* License. You may obtain a copy of the License at:
|
|
* opensource.org/licenses/BSD-3-Clause
|
|
*
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* <h2><center>© Copyright (c) 2016 STMicroelectronics.
|
|
* All rights reserved.</center></h2>
|
|
*
|
|
* This software component is licensed by ST under BSD 3-Clause license,
|
|
* the "License"; You may not use this file except in compliance with the
|
|
* License. You may obtain a copy of the License at:
|
|
* opensource.org/licenses/BSD-3-Clause
|
|
*
|
|
******************************************************************************
|
|
*/
|
|
|
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
|
#ifndef __MAIN_H
|
|
#define __MAIN_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
#include "py32f4xx_hal.h"
|
|
#include "py32f403xx_Start_Kit.h"
|
|
|
|
/* Private includes ----------------------------------------------------------*/
|
|
/* Private defines -----------------------------------------------------------*/
|
|
/* Exported variables prototypes ---------------------------------------------*/
|
|
extern ESMC_HandleTypeDef hesmc;
|
|
|
|
/* Exported functions prototypes ---------------------------------------------*/
|
|
void APP_ErrorHandler(void);
|
|
|
|
/* Private defines -----------------------------------------------------------*/
|
|
/***** READ MEMORY Operations ************************************************/
|
|
#define P25Q64_READ_CMD 0x03U /* Normal Read Address */
|
|
#define P25Q64_FAST_READ_CMD 0x0BU /* Fast Read Address */
|
|
#define P25Q64_1I2O_FAST_READ_CMD 0x3BU /* Dual Output Fast Read Address */
|
|
#define P25Q64_2IO_FAST_READ_CMD 0xBBU /* Dual Input/Output Fast Read Address */
|
|
#define P25Q64_1I4O_FAST_READ_CMD 0x6BU /* Quad Output Fast Read Address */
|
|
#define P25Q64_4IO_FAST_READ_CMD 0xEBU /* Quad Input/Output Fast Read Address */
|
|
#define P25Q64_4IO_WORD_READ_CMD 0xE7U /* Quad Input/Output Word Read Address */
|
|
|
|
/***** WRITE Operations ******************************************************/
|
|
#define P25Q64_WRITE_ENABLE_CMD 0x06U /* Write Enable */
|
|
#define P25Q64_WRITE_DISABLE_CMD 0x04U /* Write Disable */
|
|
|
|
/***** PROGRAM Operations ****************************************************/
|
|
#define P25Q64_PAGE_PROG_CMD 0x02U /* Page Program Address */
|
|
#define P25Q64_DUAL_INPUT_PAGE_PROG_CMD 0xA2U /* Dual Input Page Program Address */
|
|
#define P25Q64_QUAD_INPUT_PAGE_PROG_CMD 0x32U /* Quad Input Page Program Address */
|
|
|
|
/***** ERASE Operations ******************************************************/
|
|
#define P25Q64_PAGE_ERASE_256_CMD 0x81U /* SubSector Erase 32KB 3/4 Byte Address */
|
|
#define P25Q64_SECTOR_ERASE_4K_CMD 0x20U /* Sector Erase 4KB Byte Address */
|
|
#define P25Q64_SUBBLOCK_ERASE_32K_CMD 0x52U /* SUBBLOCK Erase 32KB Byte Address */
|
|
#define P25Q64_BLOCK_ERASE_64K_CMD 0xD8U /* BLOCK Erase 64KB Byte Address */
|
|
#define P25Q64_CHIP_ERASE_CMD 0x60U /* CHIP Erase */
|
|
|
|
/***** READ REGISTER Operations **********************************************/
|
|
#define P25Q64_READ_STATUS_REG_CMD 0x05U /* Read Status Register */
|
|
#define P25Q64_READ_STATUS_REG_1_CMD 0x35U /* Read Status Register1 */
|
|
|
|
/***** WRITE REGISTER Operations *********************************************/
|
|
#define P25Q64_WRITE_STATUS_REG_CMD 0x01U /* Write Status Register */
|
|
#define P25Q64_WRITE_STATUS_REG_1_CMD 0x31U /* Write Status Register1 */
|
|
|
|
/* Default dummy clocks cycles */
|
|
#define DUMMY_CLOCK_CYCLES_READ 8
|
|
|
|
/* Page size */
|
|
#define P25Q64_PAGE_SIZE 256
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __MAIN_H */
|
|
|
|
/************************ (C) COPYRIGHT Puya *****END OF FILE******************/
|