I found out that the problem was that i was not assigning a unique pirq
line to the uart while building the LEON hardware project. It is working
ok after assigning a unique irq line.<br>
<br>
Many thanks all.<br>
<br>
<br>
Best,<br>
JM<br>
<br><br><br><div class="gmail_quote">
On Tue, Aug 17, 2010 at 5:13 PM, Joćo Rasta <span dir="ltr"><<a href="mailto:freakforever@gmail.com" target="_blank">freakforever@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
read() is not working as well with the uart in interrupt mode. It blocks the same way as fread. I have set the termios parameters the same way as in the RTEMS version with the uarts in polling mode so this is not the cause. What can i be missing? Any suspicious configuration?<br>
<br>I'm configuring RTEMS with<br><br>#define CONFIGURE_INIT<br>#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER<br>#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER<br>#define CONFIGURE_NUMBER_OF_TERMIOS_PORTS 2<br>
<br><br>#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 10<br>#define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE (10*1024)<br>#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINT<br><br>#define CONFIGURE_MAXIMUM_POSIX_THREADS 10<br>
#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 10<br>#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 8<br>#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES 8<br>#define CONFIGURE_MAXIMUM_POSIX_KEYS 5<br>
#define CONFIGURE_MAXIMUM_POSIX_TIMERS 5<br>#define CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS 8<br>#define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES 8<br><br><br><br>Best,<br>JM<div><div></div><div>
<br><br><div class="gmail_quote">
On Tue, Aug 17, 2010 at 5:00 PM, Eric Norum <span dir="ltr"><<a href="mailto:wenorum@lbl.gov" target="_blank">wenorum@lbl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div>On Aug 17, 2010, at 8:56 AM, Joćo Rasta wrote:<br>
<br>
> You mean setting termios struct and use tcsetattr() to set the parameters? tcsetattr() only accepts the file descriptor ID as an int, not a FILE * pointer which is returned by fopen()..<br>
<br>
</div>Right.<br>
In many cases you're better off using the low level open/read/write calls with serial ports anyway since the buffering performed by the stdio routines just gets in the way.<br>
<div><br>
><br>
> Anyway it was working with the uart in polling mode so it should work also in interrupt mode without changing any RTEMS parameter right?<br>
<br>
</div>I don't know enough about the implementation of the serial port driver to answer this.<br>
<font color="#888888"><br>
--<br>
</font><div><div></div><div>Eric Norum<br>
<a href="mailto:wenorum@lbl.gov" target="_blank">wenorum@lbl.gov</a><br>
<br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>