We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
HI,
My Requirement is to use CMSIS FreeRTOS and use USB CDC device driver middleware to communicate with UART terminal.
If I try to use CDC Virtual Communication Port example in STM32 by using FreeRTOS and CMSIS RTOS2 as config option, CDC Enumeration is not happening.
All I understood is ThreadCreate API from CMSIS RTOS is calling newThread function present in cmsis_os2 and calls FreeRtos based Taskcreate.
The same example code is working in RTX5 as CMSIS RTOS choice and USB CDC device Enumeration is happening but enumeration is not happening with CMSIS FreeRTOS.
Also I dont understand the use of handler.c here from the below link,
https://github.com/ARM-software/CMSIS-FreeRTOS/tree/develop/CMSIS/RTOS2/FreeRTOS/Source
Also I use correct Vendor and product ID and other configuration options properly
Please correct me if there are any configuration missing or do I need to have FreeRTOS library separately or interrupt handler.
Now this software should be portable since I use CMSIS FreeRTOS.
Please let me know, What changes do I require to make for the thread calls API in CDC class for control, interrupt and Bulk transfer threads. These are in protected mode with Lock, So please advise me about my mistakes.
Thanks,
GOKUL.
Hi Gokul,
Did you see this article? Are you creating threads in your code? If so, it might be relevant to you.
www.keil.com/.../4072.htm
Also what version of the CMSIS-Packs are you using? What Keil version?
Dear Ron Wedge,
Thanks for the reply.
Iam truly grateful to reply from you. Now I could get the debugger step inside the USBD_Driver code.(Initialize,Power,Connect routines)
I need to use event recorder and component viewer to get the exact event for not getting enumerated.
Thanks.