Re: Interrupt driven UART



On Thu, 12 Oct 2006 04:53:04 -0400, CBFalconer <cbfalconer@xxxxxxxxx>
wrote:

The OP will also need to implement some sort of critical section in
either case. I imagine this will be most easily implmented by
controlling the interrupt enable.

Not really.

The two error situations with a ring buffer without critical section
is that you get a premature "buffer full" when writing to the buffer,
when there actually was one free byte in buffer (=extend the buffer by
one byte) or you get "buffer empty", when actually one more byte would
be available (=in a polling system read the byte at next poll).

This is valid for buffers less than 256 bytes for 8 bit data bus
systems and 64 KiB buffers in 16 bit data bus systems.

Paul

.



Relevant Pages

  • Re: DDR SDRAM Controller
    ... Could it be that they are not used so that the synthesis tool ... data is my 64-bit data bus. ... using output buffer primitives and buffer the data bus using inpit buffers ... that the synthesis tool (XSE in my case) optimizes the complete read path ...
    (comp.arch.fpga)
  • Re: dacs, microcontrollers and ground planes
    ... >>buffer set will keep the logic currents from flowing away from the ground ... >noise on them which was getting into the ADC. ... data bus isn't always present at the ADC or DAC. ...
    (sci.electronics.design)
  • Re: [take19 1/4] kevent: Core files.
    ... We need the mapped ring buffer. ... Considering the if at all and if then how of ring buffer implemetation ... coalescing multiple events into one until delivery. ... insertion of the same kevent will fire immediately, ...
    (Linux-Kernel)
  • [PATCH v8] Unified trace buffer
    ... This is a unified tracing buffer that implements a ring buffer that ... There are 4 types (all internal use for the ring buffer, ... Look at a next item in the cpu buffer. ... Read the iterator and increment it. ...
    (Linux-Kernel)
  • [PATCH v5] Unified trace buffer
    ... Implemented buffer resizing. ... There are 4 types (all internal use for the ring buffer, ... Look at a next item in the cpu buffer. ...
    (Linux-Kernel)