144 lines
3.6 KiB
C
Raw Permalink Normal View History

2025-04-30 16:24:29 +08:00
#ifndef RTDB_123_INCLUDED
#define RTDB_123_INCLUDED
#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************/
//#define RTDB_MEMORY_128M 1
//<2F><><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC>
#define SHM_BUFF_INIT_FLAG 0x1234A55A
#ifdef RTDB_MEMORY_128M
//address:120M<30><4D> size<7A><65><EFBFBD><EFBFBD>128K<38><4B>1k<31><6B>129k
//address:104M
#define RTDB_BUFFER_START_ADDRESS 0x06800000
//<2F>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʶ
#define RTDB_BUFFER_INIT_FLAG 0x06800010
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>
#define RTDB_BUFFER_INIT_PROTCRC 0x06800014
//<2F><>ʱ<EFBFBD><EFBFBD><EFBFBD><EBA3A9>ʱ<EFBFBD><EFBFBD><E4A3A8><EFBFBD><EFBFBD>
#define RTDB_BUFFER_INIT_TIME 0x06800018
//CORE0ʹ<30><CAB9>ETH1
#define RTDB_BUFFER_INIT_C0_ETH1 0x0680001C
#define RTDB_BUFFER_SERV850_INIT 0x06800020
#define RTDB_BUFFER_SERV850_COUNT 0x06800024
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɺͼ<C9BA><CDBC><EFBFBD><EFBFBD><EFBFBD>
#define RTDB_BUFFER_PROTECT_INIT 0x06800030
#define RTDB_BUFFER_PROTECT_COUNT 0x06800034
#define RTDB_BUFFER_PROTECT_TMP1 0x06800038
#define RTDB_BUFFER_PROTECT_TMP2 0x0680003C
//<2F><>̫<EFBFBD><CCAB>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>շ<EFBFBD><D5B7><EFBFBD>
#define RTDB_BUFFER_ETH1_RECV 0x06800040
#define RTDB_BUFFER_ETH1_RECV_M 0x06800044
#define RTDB_BUFFER_ETH1_SEND 0x06800048
#define RTDB_BUFFER_ETH1_SEND_M 0x0680004C
//LinkPort<72><74><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>շ<EFBFBD><D5B7><EFBFBD>
#define RTDB_BUFFER_LP_RECV 0x06800050
#define RTDB_BUFFER_LP_RECV_M 0x06800054
#define RTDB_BUFFER_LP_SEND 0x06800058
#define RTDB_BUFFER_LP_SEND_M 0x0680005C
#else
//address:216M<36><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16M
#define RTDB_BUFFER_START_ADDRESS 0x0D800000
//<2F>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʶ
#define RTDB_BUFFER_INIT_FLAG 0x0D800010
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>
#define RTDB_BUFFER_INIT_PROTCRC 0x0D800014
//<2F><>ʱ<EFBFBD><EFBFBD><EFBFBD><EBA3A9>ʱ<EFBFBD><EFBFBD><E4A3A8><EFBFBD><EFBFBD>
#define RTDB_BUFFER_INIT_TIME 0x0D800018
//CORE0ʹ<30><CAB9>ETH1
#define RTDB_BUFFER_INIT_C0_ETH1 0x0D80001C
#define RTDB_BUFFER_SERV850_INIT 0x0D800020
#define RTDB_BUFFER_SERV850_COUNT 0x0D800024
//GPSģ<53><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4>Ƿ<EFBFBD><C7B7><EFBFBD>Ч(1B<31><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bitλ)
#define RTDB_BUFFER_GPSL_VALID 0x0D800028
//61850<35><30><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>)<29><>BIT0=1
#define RTDB_BUFFER_SERV850_CONF 0x0D80002C
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɺͼ<C9BA><CDBC><EFBFBD><EFBFBD><EFBFBD>
#define RTDB_BUFFER_PROTECT_INIT 0x0D800030
#define RTDB_BUFFER_PROTECT_COUNT 0x0D800034
#define RTDB_BUFFER_PROTECT_TMP1 0x0D800038
#define RTDB_BUFFER_PROTECT_TMP2 0x0D80003C
//<2F><>̫<EFBFBD><CCAB>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>շ<EFBFBD><D5B7><EFBFBD>
#define RTDB_BUFFER_ETH1_RECV 0x0D800040
#define RTDB_BUFFER_ETH1_RECV_M 0x0D800044
#define RTDB_BUFFER_ETH1_SEND 0x0D800048
#define RTDB_BUFFER_ETH1_SEND_M 0x0D80004C
//LinkPort<72><74><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>շ<EFBFBD><D5B7><EFBFBD>
#define RTDB_BUFFER_LP_RECV 0x0D800050
#define RTDB_BUFFER_LP_RECV_M 0x0D800054
#define RTDB_BUFFER_LP_SEND 0x0D800058
#define RTDB_BUFFER_LP_SEND_M 0x0D80005C
//CAN<41><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>
#define RTDB_BUFFER_CAN_RECV 0x0D800060
#define RTDB_BUFFER_CAN_ERR 0x0D800064
#define RTDB_BUFFER_CAN_SEND 0x0D800068
//<2F>ӿڼ<D3BF><DABC><EFBFBD><EFBFBD><EFBFBD>+1
#define RTDB_BUFFER_COMMCPU_REJECT 0x0D800070
//cbt add 2021.3.31
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>У<EFBFBD><D0A3>״̬--<2D><><EFBFBD><EFBFBD>4<EFBFBD>ֽ<EFBFBD>int<6E><74>
#define RTDB_BUFFER_PROTCFG_CHECKSTATUS 0x0D800078
#endif
typedef enum
{
SYSTIME_SOURCE_TYPE_TOOL103=1,
SYSTIME_SOURCE_TYPE_1588,
SYSTIME_SOURCE_TYPE_CODEB,
SYSTIME_SOURCE_TYPE_SNTP,
SYSTIME_SOURCE_TYPE_YD104,
SYSTIME_SOURCE_TYPE_RTC,
} SYSTIME_SOURCE_TYPE;
int rtdb_init(void);
int rtdb_inf_write_cmd(unsigned char * pucCmd);
int rtdb_protect_read_cmd(unsigned char * pucCmd);
int rtdb_protect_write_cmd(unsigned char * pucCmd);
int rtdb_inf_read_cmd(unsigned char * pucCmd);
int rtdb_inf_get_addr_systime(unsigned int **addr);
int rtdb_inf_set_gps_status( unsigned char status );
unsigned char rtdb_protect_get_gps_status( void );
int rtdb_inf_add_reject_num(void);
/************************************************************************/
#ifdef __cplusplus
}
#endif
#endif