extern int cfg_mode_init() { char *cfg_env = getenv ("cfg_mode"); int ucfg, dcfg=0; if(strcmp(cfg_env , NULL) == 0) goto DEFAULT_SET; /* get env : cfg_mode */ if (cfg_env[0] >'6' || cfg_env[0] <'1') //UCFG : 1-6 goto DEFAULT_SET; else if (cfg_env[2] >'3' || cfg_env[2] <'1') //DCFG : 1-3 goto DEFAULT_SET; else{ ucfg = cfg_env[0] -48; dcfg = cfg_env[2] -48; goto SET_REG; } DEFAULT_SET : ucfg = CONFIG_INIT_UCFG; SET_REG : if(SOCLE_SCU_SDRAM_BUS_WIDTH_32 == socle_scu_sdram_bus_width_status()) dcfg = 3; else if (dcfg == 2) dcfg = 2; else dcfg = 1; if (ucfg != 6) uart_set((u32) CFG_NS16550_COM2); socle_scu_ucfg_mode_set(ucfg); socle_scu_dcfg_mode_set(dcfg); return 0; }
int main(void) { // const char *w_buf = "something to write"; int loop_count = 50; char w_buf[50]; size_t w_len = sizeof(w_buf); char r_buf[1024]; int r_len = 10; w_buf[0] = 0x1; w_buf[1] = 0x2; w_buf[2] = 0x4; w_buf[3] = 0x8; w_buf[4] = 0x10; w_buf[5] = 0x20; w_buf[6] = 0x40; w_buf[7] = 0x80; w_buf[8] = 0x55; w_buf[9] = 0xaa; w_len = 10; bzero(r_buf,1024); fd = uart_open(fd,"/dev/ttyLF1"); /*串口号/dev/ttySn,USB口号/dev/ttyUSBn*/ if (fd == -1) { fprintf(stderr,"uart_open error\n"); exit(EXIT_FAILURE); } if (uart_set(fd, 115200, 0, 8, 'N', 1) == -1) { fprintf(stderr,"uart set failed!\n"); exit(EXIT_FAILURE); } ret = uart_write(fd, w_buf, w_len); if (ret == -1) { fprintf(stderr,"uart write failed!\n"); exit(EXIT_FAILURE); } #if 1 fprintf(stdout,"while 1 start!\n"); while (1) { fprintf(stdout,"\n=== uart_write start! ===\n"); ret = uart_write(fd, w_buf, w_len); if(ret == -1) { fprintf(stderr,"uart write failed!\n"); exit(EXIT_FAILURE); } fprintf(stdout,"=== uart_read start! ===\n"); ret = uart_read(fd, r_buf, r_len); if(ret == -1) { fprintf(stderr,"uart read failed!\n"); exit(EXIT_FAILURE); } if (ret >= 0) { int i; fprintf(stdout,"[%s]: Received data:\n", __func__); for (i=0; i < ret; i++) printf("%x ", r_buf[i]); printf("\n"); } sleep(1); //usleep(1); } #endif ret = uart_close(fd); if (ret == -1) { fprintf(stderr,"uart_close error\n"); exit(EXIT_FAILURE); } exit(EXIT_SUCCESS); }