47 lines
1.5 KiB
C
47 lines
1.5 KiB
C
![]() |
#ifndef __LOGFLASH_H
|
|||
|
#define __LOGFLASH_H
|
|||
|
#include "stm32f10x.h"
|
|||
|
#include "flash.h"
|
|||
|
|
|||
|
/*****************************************
|
|||
|
*<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
****************************************/
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint32_t head ; //<2F>̶<EFBFBD><CCB6><EFBFBD>0x50505050
|
|||
|
uint32_t writeOffset ; //д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ƫ<EFBFBD>Ƶ<EFBFBD>ַ
|
|||
|
uint16_t overflowCounter ; //FLASH<53><48><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
uint32_t readOffset ; //<2F><><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ƫ<EFBFBD>Ƶ<EFBFBD>ַ
|
|||
|
uint32_t tail ; //<2F>̶<EFBFBD><CCB6><EFBFBD>0x05050505
|
|||
|
}LogFlash_s ; //LogFlash<73><68>Ϣ<EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|||
|
|
|||
|
typedef union
|
|||
|
{
|
|||
|
LogFlash_s sLogFlash ; //LogFlash<73><68>Ϣ<EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|||
|
uint8_t bytes[sizeof(LogFlash_s)] ;
|
|||
|
}LogFlash_u ; //LogFlash<73><68>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
/*****************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ⲿʹ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
****************************************/
|
|||
|
extern LogFlash_u uLogFlash ; //LogFlash<73><68>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uLogFlash<73><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>logflash<73><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
|||
|
#define LOGFLASH_INFO_ADDRESS LOG_AREA_ADDR //0x8040000 //<2F><>129ҳ
|
|||
|
#define LOGFLASH_START_ADDRESS (LOGFLASH_INFO_ADDRESS+FLASH_PAGE_SIZE) //0x8040800
|
|||
|
#define LOGFLASH_SIZE (FLASH_BASE+FLASH_SIZE-LOGFLASH_START_ADDRESS)
|
|||
|
|
|||
|
/*****************************************
|
|||
|
*<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
****************************************/
|
|||
|
void ReadLogFromFlash(uint32_t readAddr, uint32_t length) ;
|
|||
|
void Refresh_LogFlash_Info(void) ;
|
|||
|
|
|||
|
/*****************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
****************************************/
|
|||
|
extern void LogFlash_Init(void) ;
|
|||
|
extern void Erase_LogFlash(void) ;
|
|||
|
extern void WriteLogToFlash(char *buffer) ;
|
|||
|
|
|||
|
#endif
|