Gerardo Puga 78c84df00c PR 1548: ERC32 console stops working when UART error flags are set
Problem:

The console works fine when only transmitting data from the ERC32, but stops
working after a while when receiving data.

"Stops working" means, bytes are neither sent nor received from the UART, but
the rest of the system keeps functioning (task are executing, the operative
system is responsive, etc).

Context:

- When an RX error occurs, the ERC32 UARTS stop generating RX/TX interrupts
until the corresponding error flag in the UART_STATUS are cleared.

- The console.c code currently cleans the error flags from the console_isr_x
subroutines, but those are NOT called when an RX error occurs. Thus the error
flag is never cleaned and then the UARTs stop generating interrupts
indefinitely.

- The ERC32 UARTs generate a different interrupt when an RX error occurs.

Fixed by:

- Adding a third interrupt service routine console_isr_error to handle the
UART_ERROR trap. This isr cleans the error flags of the channels.

- Cleaning the error flags manually just after having initialized the interrupt
vectors. This is because if the error flag was already set by the time the
interrupt vectors are configured, the interrupts might never be called.
2014-01-09 09:44:14 -05:00
2012-08-06 13:04:24 -04:00
2012-10-09 19:26:51 +02:00
2013-05-27 14:47:20 +02:00
2013-06-18 13:38:31 +02:00
2013-05-27 14:47:20 +02:00
2013-06-18 13:38:31 +02:00
2012-10-09 19:26:51 +02:00
2013-09-19 13:16:06 +02:00
2013-05-27 14:47:20 +02:00
2013-05-27 14:47:20 +02:00
2013-05-01 10:13:08 -05:00
2013-05-27 14:47:20 +02:00

This is the Real-Time Executive for Multiprocessing Systems (RTEMS).
The version number for this software is indicated in the VERSION file.

See the documentation manuals in doc/ with daily builds available online at
http://rtems.org/onlinedocs/doc-current/share/rtems/html/ and released builds
at http://www.rtems.org/onlinedocs/releases/ for information on building,
installing, and using RTEMS. The INSTALL file tells you to come back here.

See the RTEMS Wiki at http://wiki.rtems.org/wiki/index.php/Main_Page
for community knowledge and tutorials.

RTEMS Doxygen available at http://www.rtems.org/onlinedocs/doxygen/cpukit/html

Get help on the mailing lists:
* For general-purpose questions related to using RTEMS, use the
  rtems-users ml: http://www.rtems.org/mailman/listinfo/rtems-users
* For questions and discussion related to development of RTEMS, use the
  rtems-devel ml: http://www.rtems.org/mailman/listinfo/rtems-devel

See http://www.rtems.org/bugzilla/ to report a bug.

Description
RTEMS is a ​real-time executive in use by embedded systems applications around the world and beyond
Readme 126 MiB
Languages
C 93.9%
Assembly 3.4%
Ada 1.4%
Python 0.3%
HTML 0.3%
Other 0.4%