#ifndef RTDB_123_INCLUDED #define RTDB_123_INCLUDED #ifdef __cplusplus extern "C" { #endif /************************************************************************/ //#define RTDB_MEMORY_128M 1 //本标识表示缓冲是否初始化 #define SHM_BUFF_INIT_FLAG 0x1234A55A #ifdef RTDB_MEMORY_128M //address:120M, size大概128K+1k=129k //address:104M #define RTDB_BUFFER_START_ADDRESS 0x06800000 //分别存放:初始化标识 #define RTDB_BUFFER_INIT_FLAG 0x06800010 //保护程序校验和 #define RTDB_BUFFER_INIT_PROTCRC 0x06800014 //,时间(秒),时间(毫秒 #define RTDB_BUFFER_INIT_TIME 0x06800018 //CORE0使用ETH1 #define RTDB_BUFFER_INIT_C0_ETH1 0x0680001C #define RTDB_BUFFER_SERV850_INIT 0x06800020 #define RTDB_BUFFER_SERV850_COUNT 0x06800024 //保护相关,初始化完成和计数器 #define RTDB_BUFFER_PROTECT_INIT 0x06800030 #define RTDB_BUFFER_PROTECT_COUNT 0x06800034 #define RTDB_BUFFER_PROTECT_TMP1 0x06800038 #define RTDB_BUFFER_PROTECT_TMP2 0x0680003C //以太网1驱动的接收发送 #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驱动的接收发送 #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,可用16M #define RTDB_BUFFER_START_ADDRESS 0x0D800000 //分别存放:初始化标识 #define RTDB_BUFFER_INIT_FLAG 0x0D800010 //保护程序校验和 #define RTDB_BUFFER_INIT_PROTCRC 0x0D800014 //,时间(秒),时间(毫秒 #define RTDB_BUFFER_INIT_TIME 0x0D800018 //CORE0使用ETH1 #define RTDB_BUFFER_INIT_C0_ETH1 0x0D80001C #define RTDB_BUFFER_SERV850_INIT 0x0D800020 #define RTDB_BUFFER_SERV850_COUNT 0x0D800024 //GPS模块的卫星状态是否有效(1B的最低bit位) #define RTDB_BUFFER_GPSL_VALID 0x0D800028 //61850配置文件初始化错误(程序没运行):BIT0=1 #define RTDB_BUFFER_SERV850_CONF 0x0D80002C //保护相关,初始化完成和计数器 #define RTDB_BUFFER_PROTECT_INIT 0x0D800030 #define RTDB_BUFFER_PROTECT_COUNT 0x0D800034 #define RTDB_BUFFER_PROTECT_TMP1 0x0D800038 #define RTDB_BUFFER_PROTECT_TMP2 0x0D80003C //以太网1驱动的接收发送 #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驱动的接收发送 #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驱动相关计数 #define RTDB_BUFFER_CAN_RECV 0x0D800060 #define RTDB_BUFFER_CAN_ERR 0x0D800064 #define RTDB_BUFFER_CAN_SEND 0x0D800068 //接口计数,+1 #define RTDB_BUFFER_COMMCPU_REJECT 0x0D800070 //cbt add 2021.3.31 //保护配置库校验状态--用作4字节int型 #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