This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Serial problem on EB40


Hi,

I have a quite strange problem with my serial port (using a EB40 board). I
can get a handle to the port using the lookup function but when i am trying
to make any calls to it (like cyg_io_set_config) then i get a -EDEVNOSUPP in
return (see clip below). It looks like the serial port isn't setup right in
the DEVTAB since the functioncall "t->handlers->set_config" in iosys.c
doesn't work. Any clues of what the problem maigt be?

Regards, Daniel

---clip from iosys.c----
273	if (!t->handlers->set_config) {
274	        return -EDEVNOSUPP;
275	    }
---end clip from iosys.c----


-----clip-----
	//Find device
	err = cyg_io_lookup("/dev/ser0",&serial_handle );
	if (ENOERR != err) {
		serial_handle = 0; //ERROR
	}

	//Set up device
	//ser_info.baud = CYGNUM_SERIAL_BAUD_9600;
	ser_info.baud = CYGNUM_SERIAL_BAUD_38400;
	ser_info.stop = CYGNUM_SERIAL_STOP_1;
	ser_info.parity = CYGNUM_SERIAL_PARITY_EVEN;
	ser_info.word_length = CYGNUM_SERIAL_WORD_LENGTH_8;
	ser_info.flags = CYG_SERIAL_FLAGS_DEFAULT;

	config_len = sizeof(ser_info);

	err = cyg_io_set_config(serial_handle,
		CYG_IO_SET_CONFIG_SERIAL_INFO,
		&ser_info,
		&config_len);
	if (ENOERR != err) {
		serial_handle = 0; //ERROR
	}
	//TBD Until new OS arrives in a couple of days DBO 010629
	HAL_WRITE_UINT32(0xfffd0000, 0x50);


	config_len = sizeof(cyg_uint32);	
	//No blocking when read
	blocking_val = 0;
	err = cyg_io_set_config(serial_handle,
		CYG_IO_SET_CONFIG_SERIAL_READ_BLOCKING,
		&blocking_val,
		&config_len);
	if (ENOERR != err) {
		serial_handle = 0; //ERROR
	}

	// Blocking when write
	blocking_val = 1;
	err = cyg_io_set_config(serial_handle,
		CYG_IO_SET_CONFIG_SERIAL_WRITE_BLOCKING,
		&blocking_val,
		&config_len);
	if (ENOERR != err) {
		serial_handle = 0; //ERROR
	}

----clip end----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]