USB – STR71x and FreeRTOS
Hi!
Do I need to make the RTOS handle all the USB standard requests or can I just let it happend in interrupts?
I will then use the RTOS queues for collecting data from the data endpoints.
Best regards,
Frank Andersen
USB – STR71x and FreeRTOS
Not quite sure what you are asking here. You have the design choice of handling USB events from the interrupt service routine if you want. If the event is going to take a long time to process then it is best to let a task perform the processing. Maybe you want some events processed directly in the ISR and some passed to a task.
USB – STR71x and FreeRTOS
Hello, I’m trying to do the same thing. Use an str711 with usb and IAR. What interrupt handlers do I need to include to get the usb to work, so far I only have an example of how to use the uart handler with freeRtos (that was included with the iar build)
thanks for any help
USB – STR71x and FreeRTOS
You need to write an interrupt handler like the one for uart
RSEG ICODE:CODE
CODE32
EXTERN USB_Istr
PUBLIC vUSBISREntry
; Wrapper for the USB interrupt service routine. This can cause a
; context switch so requires an assembly wrapper.
; Defines the portSAVE_CONTEXT and portRESTORE_CONTEXT macros.
#include "ISR_Support.h"
vUSBISREntry:
portSAVE_CONTEXT ; Save the context of the current task.
bl USB_Istr ; Call the ISR routine.
portRESTORE_CONTEXT ; Restore the context of the current task –
; which may be different to the task that
; was interrupted.
END
and then exchange the DefaultISR with vUSBISREntry at the USBLP_Addr and the USBHP_Addr
Best regards,
Frank Andersen