您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CYGACC_CALL_IF_SET_CONSOLE_COMM函数代码示例

51自学网 2021-06-01 20:08:19
  C++
这篇教程C++ CYGACC_CALL_IF_SET_CONSOLE_COMM函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CYGACC_CALL_IF_SET_CONSOLE_COMM函数的典型用法代码示例。如果您正苦于以下问题:C++ CYGACC_CALL_IF_SET_CONSOLE_COMM函数的具体用法?C++ CYGACC_CALL_IF_SET_CONSOLE_COMM怎么用?C++ CYGACC_CALL_IF_SET_CONSOLE_COMM使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CYGACC_CALL_IF_SET_CONSOLE_COMM函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: cyg_hal_plf_serial_init

/* Early initialization of comm channels. */voidcyg_hal_plf_serial_init(void){    hal_virtual_comm_table_t* comm;    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    int chan = 0;    struct port_info *port;    static int init = 0;    if (init) return;    init++;    // Setup procs in the vector table        for (port = ports, chan = 0;  chan < NUM(ports);  chan++, port++) {                CYGACC_CALL_IF_SET_CONSOLE_COMM(chan);        comm = CYGACC_CALL_IF_CONSOLE_PROCS();        CYGACC_COMM_IF_CH_DATA_SET(*comm, port);        CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);        CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);        CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);        CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);        CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);        CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);        if (port->is_smc) {            cyg_hal_plf_smcx_init_channel(port, port->cpm_page);            CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_smcx_isr);        } else {            cyg_hal_plf_sccx_init_channel(port, port->cpm_page);            CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_sccx_isr);        }    }    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:KarenHung,项目名称:ecosgit,代码行数:37,


示例2: cyg_hal_plf_serial_init

static void cyg_hal_plf_serial_init(void){  hal_virtual_comm_table_t* comm;  int                       cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);  int                       iChannels = sizeof(s_atSerialChannels) / sizeof(s_atSerialChannels[0]);  int                       iIdx;  for(iIdx = 0; iIdx < iChannels; iIdx++)  {    // Disable interrupts.    HAL_INTERRUPT_MASK(s_atSerialChannels[iIdx].isr_vector);    // Init channels    cyg_hal_plf_serial_init_channel(&s_atSerialChannels[iIdx]);    // Setup procs in the vector table    CYGACC_CALL_IF_SET_CONSOLE_COMM(iIdx);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, &s_atSerialChannels[iIdx]);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);  }  // Restore original console  CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:eartes,项目名称:netx_ecos_port,代码行数:31,


示例3: cyg_hal_plf_serial_init

static voidcyg_hal_plf_serial_init(void){    hal_virtual_comm_table_t* comm;    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    channel_data_t* chan;    chan = &aeb_ser_channels[0];    chan->base = (cyg_uint8*)CYG_DEV_UART1_BASE;    chan->isr_vector = CYGNUM_HAL_INTERRUPT_UART1;    chan->msec_timeout = 1000;    // Init channel    cyg_hal_plf_serial_init_channel(chan);    // Setup procs in the vector table    // Set channel 0    CYGACC_CALL_IF_SET_CONSOLE_COMM(0);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, chan);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:lijinlei,项目名称:Kernel_BOOX60,代码行数:32,


示例4: cyg_hal_plf_screen_init

void cyg_hal_plf_screen_init(void){    hal_virtual_comm_table_t* comm;    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    // Disable interrupts.    HAL_INTERRUPT_MASK(pc_ser_channels[PCMB_PORT_INDEX].isr_vector);    // Init channels    cyg_hal_plf_screen_init_channel(&pc_ser_channels[PCMB_PORT_INDEX]);    // Setup procs in the vector table    // Set channel 2    CYGACC_CALL_IF_SET_CONSOLE_COMM(PCMB_PORT_INDEX);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, &pc_ser_channels[PCMB_PORT_INDEX]);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_screen_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_screen_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_screen_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_screen_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_screen_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_screen_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_screen_getc_timeout);    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:EPiCS,项目名称:reconos_v2,代码行数:28,


示例5: hal_if_diag_init

voidhal_if_diag_init(void){    // This function may be called from various places and the code    // should only run once.    static cyg_uint8 called = 0;    if (called) return;    called = 1;#ifndef CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE#if defined(CYGDBG_HAL_DIAG_TO_DEBUG_CHAN)    // Use the mangler channel, which in turn uses the debug channel.    CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_MANGLER);    // Initialize the mangler channel.#if defined(CYGSEM_HAL_DIAG_MANGLER_GDB)    cyg_hal_diag_mangler_gdb_init();#elif defined(CYGSEM_HAL_DIAG_MANGLER_None)    cyg_hal_diag_mangler_null_init();#endif#else // CYGDBG_HAL_DIAG_TO_DEBUG_CHAN    // Use an actual (raw) IO channel    CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL);#endif // CYGDBG_HAL_DIAG_TO_DEBUG_CHAN#endif // CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE}
开发者ID:KarenHung,项目名称:ecosgit,代码行数:31,


示例6: cyg_hal_plf_serial_init

static void CYGOPT_HAL_KINETIS_DIAG_FLASH_SECTION_ATTRcyg_hal_plf_serial_init(void){    hal_virtual_comm_table_t* comm;    int cur;    int chan_i;    cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    // Init channels    for(chan_i=0; chan_i<CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS; chan_i++) {        cyg_hal_plf_serial_init_channel(&plf_ser_channels[chan_i]);        // Setup procs in the vector table        CYGACC_CALL_IF_SET_CONSOLE_COMM(chan_i);        comm = CYGACC_CALL_IF_CONSOLE_PROCS();        CYGACC_COMM_IF_CH_DATA_SET(*comm, &plf_ser_channels[chan_i]);        CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);        CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);        CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);        CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);        CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);        CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);        CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);    }    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);#if (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD != CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD)    plf_ser_channels[CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL]->baud_rate =        CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD;    update_baud_rate( &plf_ser_channels[CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL] );#endif}
开发者ID:benchfox,项目名称:ecos,代码行数:33,


示例7: cyg_hal_am33_serial_init

voidcyg_hal_am33_serial_init(int first_chan){    hal_virtual_comm_table_t* comm;    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    int i;    for (i = 0; i < AM33_NUM_UARTS; i++) {	// Disable interrupts.	HAL_INTERRUPT_MASK(channels[0].isr_vector);	// Init channel	cyg_hal_plf_serial_init_channel((void*)&channels[i]);	cyg_hal_plf_serial_set_baud(channels[i].base, CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD);	// Setup procs in the vector table	CYGACC_CALL_IF_SET_CONSOLE_COMM(i + first_chan);	comm = CYGACC_CALL_IF_CONSOLE_PROCS();	CYGACC_COMM_IF_CH_DATA_SET(*comm, &channels[i]);	CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);	CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);	CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);	CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);	CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);	CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);	CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);    }    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:lijinlei,项目名称:Kernel_BOOX60,代码行数:32,


示例8: cyg_hal_ixp425_serial_init

voidcyg_hal_ixp425_serial_init(void){    hal_virtual_comm_table_t* comm;    int i, cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    for (i = 0; i < IXP425_NUM_UARTS; i++) {	// Disable interrupts.	HAL_INTERRUPT_MASK(plf_ser_channels[i].isr_vector);	// Init channels	cyg_hal_plf_serial_init_channel(&plf_ser_channels[i]);	// Setup procs in the vector table	CYGACC_CALL_IF_SET_CONSOLE_COMM(i);	comm = CYGACC_CALL_IF_CONSOLE_PROCS();	CYGACC_COMM_IF_CH_DATA_SET(*comm, &plf_ser_channels[i]);	CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);	CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);	CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);	CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);	CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);	CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);	CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);    }    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:0xCA5A,项目名称:dd-wrt,代码行数:29,


示例9: cyg_hal_plf_serial_init

static voidcyg_hal_plf_serial_init(void){    hal_virtual_comm_table_t* comm;    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    int i;    // Init channels#define NUMOF(x) (sizeof(x)/sizeof(x[0]))    for (i = 0;  i < NUMOF(ser_channels);  i++) {        init_channel(&ser_channels[i]);        CYGACC_CALL_IF_SET_CONSOLE_COMM(i);        comm = CYGACC_CALL_IF_CONSOLE_PROCS();        CYGACC_COMM_IF_CH_DATA_SET(*comm, &ser_channels[i]);        CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);        CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);        CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);        CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);        CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);        CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);        CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);    }         // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:lijinlei,项目名称:Kernel_BOOX60,代码行数:26,


示例10: mon_set_read_char_timeout

voidmon_set_read_char_timeout(int ms){    hal_virtual_comm_table_t *__chan;#ifdef CYGPKG_REDBOOT_ANY_CONSOLE    if (!console_selected) {        int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);        int i;        // Set timeout to minimum on each channel; total amounts to desired value        _mon_timeout = ms;        ms = 1;        for (i = 0;  i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  i++) {            CYGACC_CALL_IF_SET_CONSOLE_COMM(i);            if ((__chan = CYGACC_CALL_IF_CONSOLE_PROCS()) != 0) {                CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms);            }        }        CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);            } else #endif    {        if ((__chan = CYGACC_CALL_IF_CONSOLE_PROCS()) != 0) {            CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms);        }        if ((__chan = CYGACC_CALL_IF_DEBUG_PROCS()) != 0) {            CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_SET_TIMEOUT, ms);        }    }}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:30,


示例11: cyg_hal_plf_serial_init

static voidcyg_hal_plf_serial_init(void){    hal_virtual_comm_table_t* comm;    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    // Init channels    cyg_hal_plf_serial_init_channel(&aaed2000_ser_channels[0]);    // Setup procs in the vector table    // Set channel 0    CYGACC_CALL_IF_SET_CONSOLE_COMM(0);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, &aaed2000_ser_channels[0]);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:lijinlei,项目名称:Kernel_BOOX60,代码行数:26,


示例12: cyg_hal_plf_serial_init

static voidcyg_hal_plf_serial_init(void){    hal_virtual_comm_table_t* comm;    int i, cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);#define NUM_CHANNELS CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS    for (i = 0; i < NUM_CHANNELS; i++) {	// Disable interrupts.	HAL_INTERRUPT_MASK(channels[i].isr_vector);	// Init channels	cyg_hal_plf_serial_init_channel((void*)&channels[i]);	// Setup procs in the vector table	// Set COMM callbacks for channel	CYGACC_CALL_IF_SET_CONSOLE_COMM(i);	comm = CYGACC_CALL_IF_CONSOLE_PROCS();	CYGACC_COMM_IF_CH_DATA_SET(*comm, &channels[i]);	CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);	CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);	CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);	CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);	CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);	CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);	CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);    }    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:KarenHung,项目名称:ecosgit,代码行数:31,


示例13: cyg_hal_plf_serial_init

static voidcyg_hal_plf_serial_init(void){    hal_virtual_comm_table_t* comm;    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    // Disable interrupts.    HAL_INTERRUPT_MASK(CYGNUM_HAL_VECTOR_INTCSI1);    // Init channels    init_serial_channel((cyg_uint8*)0);    // Setup procs in the vector table    // Set channel 0    CYGACC_CALL_IF_SET_CONSOLE_COMM(0);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, 0);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);        // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:29,


示例14: set_console_baud_rate

intset_console_baud_rate(int rate){    int ret = -1;#ifdef CYGPKG_REDBOOT_ANY_CONSOLE    if (!console_selected) {        int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);        int i;        // Set baud for all channels        for (i = 0;  i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  i++) {            CYGACC_CALL_IF_SET_CONSOLE_COMM(i);	    ret = set_comm_baud_rate(CYGACC_CALL_IF_CONSOLE_PROCS(), rate);	    if (ret < 0)		break;        }        CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);    } else#endif    ret = set_comm_baud_rate(CYGACC_CALL_IF_CONSOLE_PROCS(), rate);    if (ret < 0)	diag_printf("Setting console baud rate to %d failed/n", rate);    return ret;}
开发者ID:cilynx,项目名称:dd-wrt,代码行数:25,


示例15: mon_write_char

void mon_write_char(unsigned char c){    hal_virtual_comm_table_t *__chan;#ifdef CYGPKG_REDBOOT_ANY_CONSOLE    if (!console_selected) {        int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);        int i;        // Send output to all channels        for (i = 0;  i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  i++) {            CYGACC_CALL_IF_SET_CONSOLE_COMM(i);            __chan = CYGACC_CALL_IF_CONSOLE_PROCS();            CYGACC_COMM_IF_PUTC(*__chan, c);        }        CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);    } else #endif    {        __chan = CYGACC_CALL_IF_CONSOLE_PROCS();        if (__chan)            CYGACC_COMM_IF_PUTC(*__chan, c);        else {            __chan = CYGACC_CALL_IF_DEBUG_PROCS();            CYGACC_COMM_IF_PUTC(*__chan, c);        }    }}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:28,


示例16: net_io_assume_console

static voidnet_io_assume_console(void){#ifdef CYGPKG_REDBOOT_ANY_CONSOLE    console_selected = true;#endif    console_echo = false;    orig_console = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    CYGACC_CALL_IF_SET_CONSOLE_COMM(TCP_CHANNEL);    orig_debug = CYGACC_CALL_IF_SET_DEBUG_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    CYGACC_CALL_IF_SET_DEBUG_COMM(TCP_CHANNEL);}
开发者ID:perryhg,项目名称:terkos,代码行数:12,


示例17: mon_read_char_with_timeout

boolmon_read_char_with_timeout(unsigned char *c){    bool res = false;    hal_virtual_comm_table_t *__chan;#ifdef CYGPKG_REDBOOT_ANY_CONSOLE    if (!console_selected) {        int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);        int i, j, tot;        // Try input from all channels        tot = 0;        while (tot < _mon_timeout) {            for (i = 0;  i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  i++, tot++) {                CYGACC_CALL_IF_SET_CONSOLE_COMM(i);                __chan = CYGACC_CALL_IF_CONSOLE_PROCS();                res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c);                if (res) {                    // Input available on this channel, make it be the console                    if (*c != '/0') {                        // Don't chose this unless real data have arrived                        console_selected = true;                        CYGACC_CALL_IF_SET_DEBUG_COMM(i);                        // Disable interrupts on all channels but this one                        for (j = 0;  j < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS;  j++) {                            if (i != j) {                                CYGACC_CALL_IF_SET_CONSOLE_COMM(j);                                __chan = CYGACC_CALL_IF_CONSOLE_PROCS();                                CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_IRQ_DISABLE);                            }                        }                        CYGACC_CALL_IF_SET_CONSOLE_COMM(i);                        return res;                    }                }            }        }        CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);            } else #endif    {        __chan = CYGACC_CALL_IF_CONSOLE_PROCS();        if (__chan)            res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c);        else {            __chan = CYGACC_CALL_IF_DEBUG_PROCS();            res = CYGACC_COMM_IF_GETC_TIMEOUT(*__chan, c);        }    }    return res;}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:51,


示例18: cyg_hal_plf_serial_init

static voidcyg_hal_plf_serial_init(void){    hal_virtual_comm_table_t* comm;    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);	// CYGACC_CALL_VV1(__call_if_set_console_comm_t*, CYGNUM_CALL_IF_SET_CONSOLE_COMM, -1)	//__call_VV1(CYGNUM_CALL_IF_SET_CONSOLE_COMM, __call_if_set_console_comm_t, int, int)    // Disable interrupts.    HAL_INTERRUPT_MASK(smdk_ser_channels[0].isr_vector);    HAL_INTERRUPT_MASK(smdk_ser_channels[1].isr_vector);    //Unmask UART0/1 RX interrupt    HAL_WRITE_UINT32(INTSUBMSK, __READ_UINT32(INTSUBMSK) & ~(BIT_SUB_RXD0|BIT_SUB_RXD1));    // Init channels    cyg_hal_plf_serial_init_channel(&smdk_ser_channels[0]);    cyg_hal_plf_serial_init_channel(&smdk_ser_channels[1]);    // Setup procs in the vector table    // Set channel 0    CYGACC_CALL_IF_SET_CONSOLE_COMM(0);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, &smdk_ser_channels[0]);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);    // Set channel 1    CYGACC_CALL_IF_SET_CONSOLE_COMM(1);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, &smdk_ser_channels[1]);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:jamsan-n,项目名称:ecos-hmi2416,代码行数:48,


示例19: zm_dprintf

/* * Note: this debug setup only works if the target platform has two serial ports * available so that the other one (currently only port 1) can be used for debug * messages. */static intzm_dprintf(char *fmt, ...){    int cur_console;    va_list args;    va_start(args, fmt);#ifdef REDBOOT    cur_console = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    CYGACC_CALL_IF_SET_CONSOLE_COMM(1);#endif    diag_vprintf(fmt, args);#ifdef REDBOOT    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur_console);#endif}
开发者ID:A1DEVS,项目名称:lenovo_a1_07_uboot,代码行数:21,


示例20: cyg_hal_plf_serial_init

static voidcyg_hal_plf_serial_init(void){    hal_virtual_comm_table_t* comm;    int cur;    cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);#if 0 /* No interrupts yet */    // Disable interrupts.    HAL_INTERRUPT_MASK(channels[0].isr_vector);#endif    // Init channels    cyg_hal_plf_serial_init_channel((void*)&channels[0]);    // Setup procs in the vector table    // Set channel 0    CYGACC_CALL_IF_SET_CONSOLE_COMM(0);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, &channels[0]);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);#ifdef NOTANYMORE    // Set channel 1    CYGACC_CALL_IF_SET_CONSOLE_COMM(1);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, &channels[1]);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);#endif    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:0xCA5A,项目名称:dd-wrt,代码行数:46,


示例21: cyg_hal_plf_serial_init

//===========================================================================// Initialize serial channel//===========================================================================void cyg_hal_plf_serial_init(void){    hal_virtual_comm_table_t* comm;    int cur;    cur =        CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    // Init channels    cyg_hal_plf_serial_init_channel(&lpc2xxx_ser_channels[0]);#if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 1    cyg_hal_plf_serial_init_channel(&lpc2xxx_ser_channels[1]);#endif    // Setup procs in the vector table    // Set channel 0    CYGACC_CALL_IF_SET_CONSOLE_COMM(0);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, &lpc2xxx_ser_channels[0]);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);#if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 1    // Set channel 1    CYGACC_CALL_IF_SET_CONSOLE_COMM(1);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, &lpc2xxx_ser_channels[1]);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);#endif    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:houzhenggang,项目名称:ecos-1,代码行数:48,


示例22: cyg_hal_diag_mangler_null_init

// This is the COMMS init function. It gets called both by the stubs// and diag init code to initialize the COMMS mangler channel table -// that's all. The callers have to decide whether to actually use this// channel.voidcyg_hal_diag_mangler_null_init(void){    hal_virtual_comm_table_t* comm;    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    // Initialize mangler procs    CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_MANGLER);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_diag_mangler_null_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_diag_mangler_null_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_diag_mangler_null_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_diag_mangler_null_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_diag_mangler_null_control);        // Restore the original console channel.    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:KarenHung,项目名称:ecosgit,代码行数:22,


示例23: net_io_revert_console

static voidnet_io_revert_console(void){#ifdef CYGPKG_REDBOOT_ANY_CONSOLE    console_selected = false;#endif    CYGACC_CALL_IF_SET_CONSOLE_COMM(orig_console);    CYGACC_CALL_IF_SET_DEBUG_COMM(orig_debug);    console_echo = true;}
开发者ID:perryhg,项目名称:terkos,代码行数:10,


示例24: start_console

int start_console(void){    int cur_console =        CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);#ifdef CYGSEM_REDBOOT_FLASH_CONFIG    int i = 0;    if ( flash_get_config( "info_console_force", &i, CONFIG_BOOL) )        if ( i )            if ( ! flash_get_config( "info_console_number", &i, CONFIG_INT) )                i = 0; // the default, if that call failed.    if ( i )        CYGACC_CALL_IF_SET_CONSOLE_COMM(i);    else#endif        CYGACC_CALL_IF_SET_CONSOLE_COMM(0);    return cur_console;}
开发者ID:perryhg,项目名称:terkos,代码行数:20,


示例25: cyg_hal_plf_scif_init

voidcyg_hal_plf_scif_init(int scif_index, int comm_index,                       int rcv_vect, cyg_uint8* base, bool irda_mode){    channel_data_t* chan = &channels[scif_index];    hal_virtual_comm_table_t* comm;    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    // Initialize channel table    chan->base = base;    chan->isr_vector = rcv_vect;    chan->msec_timeout = 1000;    chan->irda_mode = irda_mode;#ifdef CYGHWR_HAL_SH_SH2_SCIF_ASYNC_RXTX    chan->async_rxtx_mode = false;#endif    // Disable interrupts.    HAL_INTERRUPT_MASK(chan->isr_vector);    // Init channel    cyg_hal_plf_scif_init_channel(chan);    // Setup procs in the vector table    // Initialize channel procs    CYGACC_CALL_IF_SET_CONSOLE_COMM(comm_index);    comm = CYGACC_CALL_IF_CONSOLE_PROCS();    CYGACC_COMM_IF_CH_DATA_SET(*comm, chan);    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_scif_write);    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_scif_read);    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_scif_putc);    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_scif_getc);    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_scif_control);    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_scif_isr);    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_scif_getc_timeout);    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);}
开发者ID:EPiCS,项目名称:reconos_v2,代码行数:40,


示例26: do_channel

static voiddo_channel(int argc, char *argv[]){    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    if (argc == 2) { #ifdef CYGPKG_REDBOOT_ANY_CONSOLE        if (strcmp( argv[1], "-1") == 0) {            console_selected = false;            console_echo = true;        } else #endif        {            unsigned long chan;            if ( !parse_num( argv[1], &chan, NULL, NULL) ) {                diag_printf("** Error: invalid channel '%s'/n", argv[1]);            } else {                if (chan < CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS) {                    CYGACC_CALL_IF_SET_CONSOLE_COMM(chan);                    CYGACC_CALL_IF_SET_DEBUG_COMM(chan);                    if (chan != cur)                        console_echo = true;                }                else {                    diag_printf("**Error: bad channel number '%s'/n", argv[1]);                }            }        }    }    /* else display */     else {        diag_printf("Current console channel id: ");#ifdef CYGPKG_REDBOOT_ANY_CONSOLE        if (!console_selected)            diag_printf("-1/n");        else#endif            diag_printf("%d/n", cur);    }}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:40,


示例27: hal_a2fxxx_serial_init

static voidhal_a2fxxx_serial_init(void){    hal_virtual_comm_table_t* comm;    int cur;    int i;    cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);    for( i = 0; i < CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS ; i++ )    {        hal_a2fxxx_serial_init_channel(&a2fxxx_ser_channels[i]);        CYGACC_CALL_IF_SET_CONSOLE_COMM(i);        comm = CYGACC_CALL_IF_CONSOLE_PROCS();        CYGACC_COMM_IF_CH_DATA_SET(*comm, &a2fxxx_ser_channels[i]);        CYGACC_COMM_IF_WRITE_SET(*comm, hal_a2fxxx_serial_write);        CYGACC_COMM_IF_READ_SET(*comm, hal_a2fxxx_serial_read);        CYGACC_COMM_IF_PUTC_SET(*comm, hal_a2fxxx_serial_putc);        CYGACC_COMM_IF_GETC_SET(*comm, hal_a2fxxx_serial_getc);        CYGACC_COMM_IF_CONTROL_SET(*comm, hal_a2fxxx_serial_control);        CYGACC_COMM_IF_DBG_ISR_SET(*comm, hal_a2fxxx_serial_isr);        CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, hal_a2fxxx_serial_getc_timeout);    }    // Restore original console    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);    // set debug channel baud rate if different#if (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD != CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD)    a2fxxx_ser_channels[CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL]->baud_rate =        CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD;    update_baud_rate( &a2fxxx_ser_channels[CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL] );#endif}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:36,


示例28: net_io_init

static voidnet_io_init(void){    static int init = 0;    if (!init) {        hal_virtual_comm_table_t* comm;        int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);        // Setup procs in the vector table        CYGACC_CALL_IF_SET_CONSOLE_COMM(TCP_CHANNEL);        comm = CYGACC_CALL_IF_CONSOLE_PROCS();        //CYGACC_COMM_IF_CH_DATA_SET(*comm, chan);        CYGACC_COMM_IF_WRITE_SET(*comm, net_io_write);        CYGACC_COMM_IF_READ_SET(*comm, net_io_read);        CYGACC_COMM_IF_PUTC_SET(*comm, net_io_putc);        CYGACC_COMM_IF_GETC_SET(*comm, net_io_getc);        CYGACC_COMM_IF_CONTROL_SET(*comm, net_io_control);        CYGACC_COMM_IF_DBG_ISR_SET(*comm, net_io_isr);        CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, net_io_getc_timeout);        // Disable interrupts via this interface to set static        // state into correct state.        net_io_control( comm, __COMMCTL_IRQ_DISABLE );                // Restore original console        CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);        init = 1;        gdb_active = false;    }    __tcp_listen(&tcp_sock, gdb_port);    state = tcp_sock.state; #ifdef DEBUG_TCP    diag_printf("show tcp = %p/n", (void *)&show_tcp);#endif}
开发者ID:perryhg,项目名称:terkos,代码行数:36,


示例29: xyzModem_stream_open

intxyzModem_stream_open (connection_info_t * info, int *err){#ifdef REDBOOT  int console_chan;#endif  int stat = 0;  int retries = xyzModem_MAX_RETRIES;  int crc_retries = xyzModem_MAX_RETRIES_WITH_CRC;/*    ZM_DEBUG(zm_out = zm_out_start); */#ifdef xyzModem_zmodem  if (info->mode == xyzModem_zmodem)    {      *err = xyzModem_noZmodem;      return -1;    }#endif#ifdef REDBOOT  /* Set up the I/O channel.  Note: this allows for using a different port in the future */  console_chan =    CYGACC_CALL_IF_SET_CONSOLE_COMM    (CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);  if (info->chan >= 0)    {      CYGACC_CALL_IF_SET_CONSOLE_COMM (info->chan);    }  else    {      CYGACC_CALL_IF_SET_CONSOLE_COMM (console_chan);    }  xyz.__chan = CYGACC_CALL_IF_CONSOLE_PROCS ();  CYGACC_CALL_IF_SET_CONSOLE_COMM (console_chan);  CYGACC_COMM_IF_CONTROL (*xyz.__chan, __COMMCTL_SET_TIMEOUT,			  xyzModem_CHAR_TIMEOUT);#else/* TODO: CHECK ! */  int dummy;  xyz.__chan = &dummy;#endif  xyz.len = 0;  xyz.crc_mode = true;  xyz.at_eof = false;  xyz.tx_ack = false;  xyz.mode = info->mode;  xyz.total_retries = 0;  xyz.total_SOH = 0;  xyz.total_STX = 0;  xyz.total_CAN = 0;#ifdef USE_YMODEM_LENGTH  xyz.read_length = 0;  xyz.file_length = 0;#endif  CYGACC_COMM_IF_PUTC (*xyz.__chan, (xyz.crc_mode ? 'C' : NAK));  if (xyz.mode == xyzModem_xmodem)    {      /* X-modem doesn't have an information header - exit here */      xyz.next_blk = 1;      return 0;    }  while (retries-- > 0)    {      stat = xyzModem_get_hdr ();      if (stat == 0)	{	  /* Y-modem file information header */	  if (xyz.blk == 0)	    {#ifdef USE_YMODEM_LENGTH	      /* skip filename */	      while (*xyz.bufp++);	      /* get the length */	      parse_num ((char *) xyz.bufp, &xyz.file_length, NULL, " ");#endif	      /* The rest of the file name data block quietly discarded */	      xyz.tx_ack = true;	    }	  xyz.next_blk = 1;	  xyz.len = 0;	  return 0;	}      else if (stat == xyzModem_timeout)	{	  if (--crc_retries <= 0)	    xyz.crc_mode = false;	  CYGACC_CALL_IF_DELAY_US (5 * 100000);	/* Extra delay for startup */	  CYGACC_COMM_IF_PUTC (*xyz.__chan, (xyz.crc_mode ? 'C' : NAK));	  xyz.total_retries++;	  ZM_DEBUG (zm_dprintf ("NAK (%d)/n", __LINE__));	}      if (stat == xyzModem_cancel)	{	  break;	}    }//.........这里部分代码省略.........
开发者ID:AceecaNZ,项目名称:MEZ1500Rev2dLinuxUboot,代码行数:101,



注:本文中的CYGACC_CALL_IF_SET_CONSOLE_COMM函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CYGARC_HAL_RESTORE_GP函数代码示例
C++ CYASSL_MSG函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。