Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
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);
}