int main(int argc, char *argv[]) { const char *dev; int port; int mode; if (argc < 3) { usage(argv[0]); exit(1); } dev = argv[1]; port = get_port(argv[2]); /* default to telnet mode */ if (argc == 3) mode = 1; else mode = get_mode(argv[3]); signal(SIGPIPE, SIG_IGN); signal(SIGTERM, do_stop); ser = ser_new(dev, port, mode); if (ser == NULL) return -1; ser_start(ser); return 0; }
int main(int argc, char *argv[]) { signal(SIGPIPE, SIG_IGN); signal(SIGTERM, do_stop); ser = ser_new("/dev/ttyUSB0", 4307, 1); if (ser == NULL) return -1; ser_start(ser); return 0; }
static void sarm_setup_serport (simarm_t *sim, ini_sct_t *ini) { unsigned i; unsigned long addr; unsigned irq; unsigned multichar; const char *driver; const char *chip; ini_sct_t *sct; serport_t *ser; e8250_t *uart; sim->serport[0] = NULL; sim->serport[1] = NULL; i = 0; sct = NULL; while ((i < 2) && (sct = ini_next_sct (ini, sct, "serial")) != NULL) { ini_get_uint32 (sct, "address", &addr, 0xc0030000); ini_get_uint16 (sct, "irq", &irq, 2); ini_get_uint16 (sct, "multichar", &multichar, 1); ini_get_string (sct, "uart", &chip, "8250"); ini_get_string (sct, "driver", &driver, NULL); pce_log_tag (MSG_INF, "UART:", "n=%u addr=0x%08lx irq=%u uart=%s multi=%u driver=%s\n", i, addr, irq, chip, multichar, (driver == NULL) ? "<none>" : driver ); ser = ser_new (addr, 2); if (ser == NULL) { pce_log (MSG_ERR, "*** serial port setup failed [%08lX/%u -> %s]\n", addr, irq, (driver == NULL) ? "<none>" : driver ); } else { sim->serport[i] = ser; uart = ser_get_uart (ser); if (driver != NULL) { if (ser_set_driver (ser, driver)) { pce_log (MSG_ERR, "*** can't open driver (%s)\n", driver ); } } e8250_set_buf_size (uart, 256, 256); e8250_set_multichar (uart, multichar, multichar); if (e8250_set_chip_str (uart, chip)) { pce_log (MSG_ERR, "*** unknown UART chip (%s)\n", chip ); } e8250_set_irq_fct (uart, sim->intc, ict_get_irq_f (sim->intc, irq) ); mem_add_blk (sim->mem, ser_get_reg (ser), 0); i += 1; } } }