Im usign v8.2.2 of freeRTOS together with ATMEL UC3. Im using my own custom PCB, no demo board.
For CLI im using UART1 which is connected to a FTDI chip. I have also two tasks which is blinking two LEDs in different freq (just to see that it is alive). As long as I have the USB from FTDI chip connected to my computer, the two tasks is running, I get text on the console and so on… When I disconnect the USB for the console, only the first task starts. I then connect the FTDI USB to the computer and it is alive. I can also boot the board with USB from FTDI connected to computer, then disconnect it, and the two tasks is still running. So it has something to do with usart->ier = AVR32_USART_IER_RXRDY_MASK. When I delete that line in the code above, it always works (two LEDs blinking), with or without the USB from FTDI connected to the computer (but not the interrupt).
I’m afraid that the information that you’re giving is still not enough to give some advice.
You are setting an RX-ready interrupt, and I presume that somewhere the code (the ISR) checks what interrupts have been enabled.
One of your tasks stops blinking the LED: it sounds like it stays in a blocking call for ever.
If I were you I would use a limited value for xBlockTime so you are able to show more information and/or to set breakpoints.
Please give more information or attach some sample source code if you like.
I think I found the problem. In my code in the first post, if I only enter this:
usart->cr = AVR32_USART_CR_TXEN_MASK;
To be said; im using external RAM. The init of the SDRAM and vPortDefineHeapRegions() is done after the UART init. So when I put the usart->cr = AVR32_USART_CR_RXEN_MASK; after the SDRAM init it works.
The strange thing is why did it work before with the USB cable connected to the computer.