* RE: [ECOS] Serial problem on EB40
@ 2001-07-11 1:00 Daniel.Andersson
2001-07-11 1:41 ` Jesper Skov
0 siblings, 1 reply; 4+ messages in thread
From: Daniel.Andersson @ 2001-07-11 1:00 UTC (permalink / raw)
To: jskov; +Cc: ecos-discuss
Do you mean any special part?
The thing that makes me a bit confused is that i get a valid handle back
from the lookup function but when i try to use it then I can't.....This
indicates that something is wrong in the setup of the "handles". In my
serial file i have the following:
DEVTAB_ENTRY(at91_serial_io0,
CYGDAT_IO_SERIAL_ARM_EB01_SERIAL0_NAME,
0, // Does not depend on a lower level
interface
&cyg_io_serial_devio, //&serial_devio,
at91_serial_init,
at91_serial_lookup, // Serial driver may need initializing
&at91_serial_channel0
....which seems to be in every serial device setup. However, since i can't
get by the "t->handlers->set_config" then something must be wrong in the
"cyg_io_serial_devio"-part, am i write? Where do we have the connection
between the "cyg_io_serial_devio" and my actual set_config function. I
assume that this is through the funs? My funs table looks like this:
static SERIAL_FUNS(at91_serial_funs,
at91_serial_putc,
at91_serial_getc,
at91_serial_set_config,
at91_serial_start_xmit,
at91_serial_stop_xmit
);
....and the functions they all exists in my serial file. Have i missed
anything that might cause this problem?
Regards, Daniel
> -----Original Message-----
> From: Jesper Skov [ mailto:jskov@cambridge.redhat.com ]
> Sent: den 11 juli 2001 09:21
> To: Andersson Daniel
> Cc: ecos-discuss@sourceware.cygnus.com
> Subject: Re: [ECOS] Serial problem on EB40
>
>
> >>>>> "Daniel" == Daniel Andersson
> <Daniel.Andersson@combitechsystems.com> writes:
>
> Daniel> Hi, I have a quite strange problem with my serial port (using
> Daniel> a EB40 board). I can get a handle to the port using the lookup
> Daniel> function but when i am trying to make any calls to it (like
> Daniel> cyg_io_set_config) then i get a -EDEVNOSUPP in return (see
> Daniel> clip below). It looks like the serial port isn't setup right
> Daniel> in the DEVTAB since the functioncall "t->handlers->set_config"
> Daniel> in iosys.c doesn't work. Any clues of what the problem maigt
> Daniel> be?
>
> You should have a look at the serial driver code.
>
> Jesper
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [ECOS] Serial problem on EB40
@ 2001-07-11 0:01 Daniel.Andersson
2001-07-11 0:21 ` Jesper Skov
0 siblings, 1 reply; 4+ messages in thread
From: Daniel.Andersson @ 2001-07-11 0:01 UTC (permalink / raw)
To: ecos-discuss
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----
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ECOS] Serial problem on EB40
2001-07-11 0:01 Daniel.Andersson
@ 2001-07-11 0:21 ` Jesper Skov
0 siblings, 0 replies; 4+ messages in thread
From: Jesper Skov @ 2001-07-11 0:21 UTC (permalink / raw)
To: Daniel.Andersson; +Cc: ecos-discuss
>>>>> "Daniel" == Daniel Andersson <Daniel.Andersson@combitechsystems.com> writes:
Daniel> Hi, I have a quite strange problem with my serial port (using
Daniel> a EB40 board). I can get a handle to the port using the lookup
Daniel> function but when i am trying to make any calls to it (like
Daniel> cyg_io_set_config) then i get a -EDEVNOSUPP in return (see
Daniel> clip below). It looks like the serial port isn't setup right
Daniel> in the DEVTAB since the functioncall "t->handlers->set_config"
Daniel> in iosys.c doesn't work. Any clues of what the problem maigt
Daniel> be?
You should have a look at the serial driver code.
Jesper
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2001-07-11 1:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-11 1:00 [ECOS] Serial problem on EB40 Daniel.Andersson
2001-07-11 1:41 ` Jesper Skov
-- strict thread matches above, loose matches on Subject: below --
2001-07-11 0:01 Daniel.Andersson
2001-07-11 0:21 ` Jesper Skov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).