/****************************************************************/ /* TMS320C32 */ /* ====== BIOS, КЛАИН, КЛВСП ====== */ /* ЦНИИ СЭТ (с) 1998-2001г. */ /****************************************************************/ /* log_to_mem.h **************************************************************** * Запись логов в памyть * ****************************************************************/ #ifndef _LOG_TO_MEM #define _LOG_TO_MEM #define SLOW_LOG 1 #define FAST_LOG 0 #ifdef __cplusplus extern "C" { #endif typedef struct { int stop_log_level_1; int stop_log_level_2; int stop_log_level_3; int stop_log_slow_level_1; int stop_log_slow_level_2; int stop_log_slow_level_3; int log1; int log2; int log3; int log4; int log5; int log6; int log7; int log8; int log9; int log10; int log11; int log12; int log13; int log14; int log15; int log16; int log17; int log18; int log19; int log20; long addres_mem; //Адрес памyти длy записи логов int count_log_params_fast_log; //Количество записываемых в лог параметров int start_write_fast_log; //Начало записи лога, для определения count_log_params_fast_log long real_finish_addres_mem; //Адрес памyти длy записи логов } LOGSPARAMS; #define LOGSPARAMS_DEFAULTS { 0,0,0,0,0,0,0,0, \ 0,0,0,0,0,0,0,0, \ 0,0,0,0,0,0,0,0, \ 0,0,0,0,0,0 } /* Определениy длy работы логгера */ #define START_ADDRESS_LOG 0x0a0000 #define END_ADDRESS_LOG 0x0bf000 //#define START_ADDRESS_LOG 0xa0000 /* 0x904000 */ //#define END_ADDRESS_LOG 0x0cf000 /* 0x90a000 */ #define END_ADDRESS_LOG_LEVEL_2 0xa8000 #define END_ADDRESS_LOG_LEVEL_3 0xb0000 #define START_ADDRESS_LOG_SLOW 0x0d0000 /* 0x904000 */ #define END_ADDRESS_LOG_SLOW 0x0ef000 /* 0x90a000 */ #define END_ADDRESS_LOG_SLOW_LEVEL_2 0xdb000 #define END_ADDRESS_LOG_SLOW_LEVEL_3 0xe5000 #define LENGTH_HAZARD 100 #define COUNT_SAVE_LOG_OFF 500 /* не проводить ротацию логов */ #define NO_ROTATE_LOG 0 extern int no_write; // Флаг, чтобы не писать (если что) extern int stop_log; // Логи остановились /* Запись двух младших байтов аргумента в памyть, где логи лежат */ void write_to_mem(int tlog,int DataM); void write_to_mem_a(int DataM); void start_write_acp(int Data1, int Data2, int Data3, int Data4, int Data5); /* Проверка границы памyти длy логов */ void test_mem_limit(int tlog,int ciclelog); void test_mem_limit_a(void); void set_start_mem(int tlog); void get_log_params_count(void); /* Очистка памyти (обнуление) */ void clear_mem(int tlog); //Очистка полей logpar.logNN void clear_logpar(); extern LOGSPARAMS logpar; #ifdef __cplusplus } #endif #endif /* _LOG_TO_MEM */