📄 flash.h
字号:
#ifndef DEF_FLASH
#define DEF_FLASH
#define UART_FLASH 1
#define SST_SECTOE_NUM 512
#define SST_SECTOR_LIMIT 76
#define SST_BASE_ADDR 0x1000000 // flash基址和FLASH_BASE一致
#define SST_DATA_BASE 0x1008000 // 布点数据基地址
#define SST_CFGTABL_BASE 0x114c000 // 配置表数据基地址
#define SST_CHIP_HWORD_SIZE 1024*1024L //1MB = 512k * 16
#define SST_SECTOR_HWORD_SIZE 2048L //4kB = 2K * 16
#define SST_SECTOR_BYTE_SIZE 4096
/*解锁地址*/
#define SST_ADDR_UNLOCK1 0x5555
#define SST_ADDR_UNLOCK2 0x2aaa
/*解锁数据*/
#define SST_DATA_UNLOCK1 0xaaaa
#define SST_DATA_UNLOCK2 0x5555
/*编程擦除命令*/
#define SST_SETUP_WRITE 0xa0a0
#define SST_SETUP_ERASE 0x8080
#define SST_CHIP_ERASE 0x1010
#define SST_SECTOR_ERASE 0x3030
/*
********************************************************************************
* DEFINE DATA TYPE
********************************************************************************
*/
#define OFFSET_STA 0
#define OFFSET_OBJ 1
#define NUMBER_STA 2
#define NUMBER_OBJ 3
#define POSITI_STA 4
#define POSITI_OBJ 5
#define NUMS_STA 6
/*
********************************************************************************
* DEFINE CONFIG TABLE TYPE
********************************************************************************
*/
#define LINE_TABLE 0
#define STATION_TABLE 1
#define FlashAbsAddr(nSector, offset) (SST_BASE_ADDR + SST_SECTOR_BYTE_SIZE * nSector + offset)
#define FlashSector(address) (INT32U)((address & ~(INT32U)(SIZE_FLASHSECTOR -1)) / SIZE_FLASHSECTOR)
void ProgramFlash_AtAbsAddr(INT16U *addr, INT8U *buffer, INT32U length);
void FlashWrite(INT16U nSector, INT32U offset, INT8U *buffer, INT32U length);
void SectorErase_Flash(INT16U nSector);
void ChipErase_Flash(void);
INT8U ReadByteFrom_Flash(INT16U nSector, INT32U offset);
void HWordProgram_Flash(INT16U nSector, INT32U offset, INT16U prghword);
void ReadRecFromFlash(INT8U type,INT32U nPackage,INT8U len, INT8U *dptr);
void ReadDotFromFlash(INT16U nSector,INT32U nPackage,INT8U len, INT8U *dptr);
void ReadTableCellFromFlash(INT8U type,INT32U nPackage,INT8U len, INT8U *dptr);
//void ByteProgram_Flash(INT16U nSector, INT32U offset, INT8U prgbyte);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -