⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 console-recording.c

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 C
📖 第 1 页 / 共 2 页
字号:
  unsigned char spur_dev,  unsigned char spur_cnt){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_TX_ISR_SPURIOUS_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =      cd2401_get_record_size( sizeof( struct cd2401_tx_isr_spurious_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.channel = ch;  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.status = status;  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.initial_ier = initial_ier;  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.final_ier = final_ier;  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.spurdev = spur_dev;  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.spurcount = spur_cnt;    cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_tx_isr_buserr_info(  unsigned char ch,  unsigned char status,  unsigned char initial_ier,  unsigned char buserr,  unsigned long buserr_type,  unsigned long buserr_addr){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_TX_ISR_BUSERR_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =    cd2401_get_record_size( sizeof( struct cd2401_tx_isr_buserr_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.channel = ch;  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.status = status;  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.initial_ier = initial_ier;  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.buserr = buserr;  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.type = buserr_type;  cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.addr = buserr_addr;    cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_rx_isr_info(  unsigned char ch,  unsigned char total,  char * buffer){  int max_length;    max_length = (total < CD2401_DEBUG_CHAR_BUFSIZE ) ? total : CD2401_DEBUG_CHAR_BUFSIZE;    memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_RX_ISR_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =      cd2401_get_record_size( sizeof( struct cd2401_rx_isr_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_info.length = max_length; memcpy ( &(cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_info.buffer), buffer, max_length );     cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_rx_isr_spurious_info(  unsigned char ch,  unsigned char status,  rtems_unsigned32 spur_dev,  rtems_unsigned32 spur_cnt){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_RX_ISR_SPURIOUS_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =      cd2401_get_record_size( sizeof( struct cd2401_rx_isr_spurious_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_spurious_info.channel = ch;  cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_spurious_info.status = status;  cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_spurious_info.spurdev = spur_dev;  cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_spurious_info.spurcount = spur_cnt;     cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_re_isr_spurious_info(  unsigned char ch,  rtems_unsigned32 spur_dev,  rtems_unsigned32 spur_cnt){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_RE_ISR_SPURIOUS_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =      cd2401_get_record_size( sizeof( struct cd2401_re_isr_spurious_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.re_isr_spurious_info.channel = ch;  cd2401_debug_buffer[cd2401_debug_index].u.re_isr_spurious_info.spurdev = spur_dev;  cd2401_debug_buffer[cd2401_debug_index].u.re_isr_spurious_info.spurcount = spur_cnt;     cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_modem_isr_spurious_info(  unsigned char ch,  rtems_unsigned32 spur_dev,  rtems_unsigned32 spur_cnt){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_MODEM_ISR_SPURIOUS_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =      cd2401_get_record_size( sizeof( struct cd2401_modem_isr_spurious_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.modem_isr_spurious_info.channel = ch;  cd2401_debug_buffer[cd2401_debug_index].u.modem_isr_spurious_info.spurdev = spur_dev;  cd2401_debug_buffer[cd2401_debug_index].u.modem_isr_spurious_info.spurcount = spur_cnt;     cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_first_open_info(  unsigned char ch,  rtems_unsigned8 init_count){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_FIRST_OPEN_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =      cd2401_get_record_size( sizeof( struct cd2401_first_open_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.first_open_info.channel = ch;  cd2401_debug_buffer[cd2401_debug_index].u.first_open_info.init_count = init_count;     cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_last_close_info(  unsigned char ch,  rtems_unsigned8 init_count){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_LAST_CLOSE_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =      cd2401_get_record_size( sizeof( struct cd2401_last_close_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.last_close_info.channel = ch;  cd2401_debug_buffer[cd2401_debug_index].u.last_close_info.init_count = init_count;     cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_start_remote_tx_info(  unsigned char ch){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_START_REMOTE_TX_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =      cd2401_get_record_size( sizeof( struct cd2401_start_remote_tx_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.start_remote_tx_info.channel = ch;     cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_stop_remote_tx_info(  unsigned char ch){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_STOP_REMOTE_TX_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =      cd2401_get_record_size( sizeof( struct cd2401_stop_remote_tx_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.stop_remote_tx_info.channel = ch;     cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_set_attributes_info(   int minor,  rtems_unsigned8 need_reinit,  rtems_unsigned8 csize,  rtems_unsigned8 cstopb,  rtems_unsigned8 parodd,  rtems_unsigned8 parenb,  rtems_unsigned8 ignpar,  rtems_unsigned8 inpck,  rtems_unsigned8 hw_flow_ctl,  rtems_unsigned8 sw_flow_ctl,  rtems_unsigned8 extra_flow_ctl,  rtems_unsigned8 icrnl,  rtems_unsigned8 igncr,  rtems_unsigned8 inlcr,  rtems_unsigned8 brkint,  rtems_unsigned8 ignbrk,  rtems_unsigned8 parmrk,  rtems_unsigned8 istrip,  rtems_unsigned16 tx_period,  rtems_unsigned16 rx_period,  rtems_unsigned32 out_baud,  rtems_unsigned32 in_baud){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_SET_ATTRIBUTE_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =  cd2401_get_record_size( sizeof( struct cd2401_set_attribute_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.minor = minor;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.need_reinit = need_reinit;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.txEmpty = CD2401_Channel_Info[minor].txEmpty;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.csize = csize;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.cstopb = cstopb;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.parodd = parodd;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.parenb = parenb;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.ignpar = ignpar;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.inpck = inpck;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.hw_flow_ctl = hw_flow_ctl;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.sw_flow_ctl = sw_flow_ctl;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.extra_flow_ctl = extra_flow_ctl;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.icrnl = icrnl;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.igncr = igncr;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.inlcr = inlcr;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.brkint = brkint;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.ignbrk = ignbrk;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.parmrk = parmrk;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.istrip = istrip;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.tx_period = tx_period;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.rx_period = rx_period;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.out_baud = out_baud;  cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.in_baud = in_baud;    cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_drain_output_info(  rtems_unsigned8 txEmpty,  rtems_unsigned8 own_buf_A,  rtems_unsigned8 own_buf_B){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_DRAIN_OUTPUT_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =      cd2401_get_record_size( sizeof( struct cd2401_drain_output_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.drain_output_info.txEmpty = txEmpty;  cd2401_debug_buffer[cd2401_debug_index].u.drain_output_info.own_buf_A = own_buf_A;  cd2401_debug_buffer[cd2401_debug_index].u.drain_output_info.own_buf_B = own_buf_B;    cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_delay_info(  rtems_interval start,  rtems_interval end,  rtems_interval current,  unsigned long loop_count){  memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info )  );  cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_DELAY_INFO;  cd2401_debug_buffer[cd2401_debug_index].record_size =      cd2401_get_record_size( sizeof( struct cd2401_delay_info ) );  cd2401_debug_buffer[cd2401_debug_index].u.delay_info.start = start;  cd2401_debug_buffer[cd2401_debug_index].u.delay_info.end = end;  cd2401_debug_buffer[cd2401_debug_index].u.delay_info.current = current;  cd2401_debug_buffer[cd2401_debug_index].u.delay_info.loop_count = loop_count;    cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}#else/* Do not call the data recording functions */#define CD2401_RECORD_WRITE_INFO( args )#define CD2401_RECORD_TX_ISR_INFO( args )#define CD2401_RECORD_TX_ISR_SPURIOUS_INFO( args )#define CD2401_RECORD_TX_ISR_BUSERR_INFO( args )#define CD2401_RECORD_RX_ISR_INFO( args )#define CD2401_RECORD_RX_ISR_SPURIOUS_INFO( args )#define CD2401_RECORD_RE_ISR_SPURIOUS_INFO( args )#define CD2401_RECORD_MODEM_ISR_SPURIOUS_INFO( args )#define CD2401_RECORD_FIRST_OPEN_INFO( args )#define CD2401_RECORD_LAST_CLOSE_INFO( args )#define CD2401_RECORD_START_REMOTE_TX_INFO( args )#define CD2401_RECORD_STOP_REMOTE_TX_INFO( args )#define CD2401_RECORD_SET_ATTRIBUTES_INFO( args )#define CD2401_RECORD_DRAIN_OUTPUT_INFO( args )#define CD2401_RECORD_DELAY_INFO( args )#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -