borge_strand wrote on Saturday, January 29, 2011:
Hi Richard,
The SPI is a slave device to the MCU, so that shouldn’t be a problem. The MCU is UART slave to the PC, but on the PC side I have made my own slowcat() function which can be set up to know about MCU state machine latencies.
Generally, as a FreeRTOS novice, I wonder if there are OS-owned, blocking, wait_for_interrupt_X() functions which I can put into my tasks, or if I have to write my own ISRs with queues to communicate with the tasks. The tasks in question will have fairly low priorities, as the data rate is non-critical and low.
My device is an FPGA with an I2S audio source (CD drive) and a controlling MCU (AVR) connected to it. The MCU runs the user interface and state machine. For debug the MCU is connected to a PC with the UART. This works very well today. For the future I aim to replace the CD drive with a more advanced MCU (AVR32) running a USB interface in FreeRTOS. With time I want to move the state machine into a FreeRTOS task on this MCU. The UART is used for debug and for uploading new filter coefficient files from the PC, through the UART, to the FPGA.
Borge