📄 flash.h
字号:
/****************************************Copyright (c)**************************************************
**
** STR710 development team
**
**
** http://www.appchip.com
**
**--------------文件信息--------------------------------------------------------------------------------
** 文 件 名: flash.c
** 创 建 人: 李海军
** 创建日期: 2006年5月14日
** 描 述: 该文件包含了所有FLASH 功能函数原型与所需要的常量
**
**--------------历史版本--------------------------------------------------------------------------------
** 创 建 人: 李海军
** 版 本: V1.0
** 日 期: 2006年5月14日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef __FLASH_H
#define __FLASH_H
#include "config.h"
#if EN_ARM_FLASH > 0 //决定是否编译该文件
/************************************** 宏定义,常量定义 ******************************************/
#define BIT0 (0x00000001)
#define BIT1 (0x00000002)
#define BIT2 (0x00000004)
#define BIT3 (0x00000008)
#define BIT4 (0x00000010)
#define BIT5 (0x00000020)
#define BIT6 (0x00000040)
#define BIT7 (0x00000080)
#define BIT8 (0x00000100)
#define BIT9 (0x00000200)
#define BIT10 (0x00000400)
#define BIT11 (0x00000800)
#define BIT12 (0x00001000)
#define BIT13 (0x00002000)
#define BIT14 (0x00004000)
#define BIT15 (0x00008000)
#define BIT16 (0x00010000)
#define BIT17 (0x00020000)
#define BIT18 (0x00040000)
#define BIT19 (0x00080000)
#define BIT20 (0x00100000)
#define BIT21 (0x00200000)
#define BIT22 (0x00400000)
#define BIT23 (0x00800000)
#define BIT24 (0x01000000)
#define BIT25 (0x02000000)
#define BIT26 (0x04000000)
#define BIT27 (0x08000000)
#define BIT28 (0x10000000)
#define BIT29 (0x20000000)
#define BIT30 (0x40000000)
#define BIT31 (0x80000000)
#define BITALL (0xffffffff)
/* Flash Control Regester 0 Define */
#define FLASH_BSYA0 BIT1
#define FLASH_BSYA1 BIT2
#define FLASH_LOCK BIT4
#define FLASH_PWD BIT15
#define FLASH_INTP BIT20
#define FLASH_INTM BIT21
#define FLASH_SPR BIT24
#define FLASH_SER BIT27
#define FLASH_DWPG BIT28
#define FLASH_WPG BIT29
#define FLASH_SUSP BIT30
#define FLASH_WMS BIT31
/* Flash Control Regester 1 Define */
#define FLASH_B0F0 BIT0
#define FLASH_B0F1 BIT1
#define FLASH_B0F2 BIT2
#define FLASH_B0F3 BIT3
#define FLASH_B0F4 BIT4
#define FLASH_B0F5 BIT5
#define FLASH_B0F6 BIT6
#define FLASH_B0F7 BIT7
#define FLASH_B1F0 BIT16
#define FLASH_B1F1 BIT17
#define FLASH_B0S BIT24
#define FLASH_B1S BIT25
#define FLASH_BANK0 (BIT0 | BIT1 |BIT2 | BIT3 | BIT4 |BIT5 |BIT6 |BIT7)
#define FLASH_BANK1 (BIT16 | BIT17)
/* Flash Error Regester Define */
#define FLASH_ERR BIT0
#define FLASH_ERER BIT1
#define FLASH_PGER BIT2
#define FLASH_10ER BIT3
#define FLASH_SEQER BIT6
#define FLASH_RESER BIT7
#define FLASH_WPF BIT8
/* Flash Non Volatile Write Protection Register Define */
#define FLASH_W0P0 BIT0
#define FLASH_W0P1 BIT1
#define FLASH_W0P2 BIT2
#define FLASH_W0P3 BIT3
#define FLASH_W0P4 BIT4
#define FLASH_W0P5 BIT5
#define FLASH_W0P6 BIT6
#define FLASH_W0P7 BIT7
#define FLASH_W1P0 BIT16
#define FLASH_W1P1 BIT17
#define FLASH_WP_ALL (BIT0 | BIT1 | BIT2 | BIT3 | BIT3 | BIT4 | BIT5 | BIT6 | BIT7 | BIT16 | BIT17)
/* Flash NV Access Protection Register 0 Define */
#define FLASH_DBGP BIT1
/* Flash NV Access Protection Register 1 Define */
#define FLASH_PDS0 BIT0
#define FLASH_PDS1 BIT1
#define FLASH_PDS2 BIT2
#define FLASH_PDS3 BIT3
#define FLASH_PDS4 BIT4
#define FLASH_PDS5 BIT5
#define FLASH_PDS6 BIT6
#define FLASH_PDS7 BIT7
#define FLASH_PDS8 BIT8
#define FLASH_PDS9 BIT9
#define FLASH_PDS10 BIT10
#define FLASH_PDS11 BIT11
#define FLASH_PDS12 BIT12
#define FLASH_PDS13 BIT13
#define FLASH_PDS14 BIT14
#define FLASH_PDS15 BIT15
#define FLASH_PEN0 BIT16
#define FLASH_PEN1 BIT17
#define FLASH_PEN2 BIT18
#define FLASH_PEN3 BIT19
#define FLASH_PEN4 BIT20
#define FLASH_PEN5 BIT21
#define FLASH_PEN6 BIT22
#define FLASH_PEN7 BIT23
#define FLASH_PEN8 BIT24
#define FLASH_PEN9 BIT25
#define FLASH_PEN10 BIT26
#define FLASH_PEN11 BIT27
#define FLASH_PEN12 BIT28
#define FLASH_PEN13 BIT29
#define FLASH_PEN14 BIT30
#define FLASH_PEN15 BIT31
#define flash_wait_finish() while(FLASH_CR0 & (FLASH_BSYA0 | FLASH_BSYA1 | FLASH_LOCK)) us_sleep(20);
/************************************** 枚举类型定义 *******************************************/
/************************************** 结构体类型定义 ******************************************/
/********************************** 全局外部函数原型声明 *****************************************/
UWORD32 flash_reset(void);
UWORD32 flash_write_word(UWORD32 address, UWORD32 data);
UWORD32 flash_write_double_word(UWORD32 address, UWORD32 data0, UWORD32 data1);
UWORD32 flash_write_block(UWORD32 address, UWORD32 * p_data, UWORD32 lenght);
UWORD32 flash_erase(UWORD32 sector_mask);
void flash_suspend(void);
void flash_resume(void);
UWORD32 flash_read_word(UWORD32 address);
void flash_read_block(UWORD32 address, UWORD32 * p_buf, UWORD32 lenght);
//UWORD32 flash_sector_protect(UWORD32 sector, SYS_BOOL b_write_unwrite);
//void flash_debug_temporary(SYS_BOOL b_enable_disable);
#endif /* EN_ARM_FLASH > 0 */
#endif /* __FLASH_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -