<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>RTX + Compostie USB CDC and MSC</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/39833/rtx-compostie-usb-cdc-and-msc</link><description> 
Greetings, 

 
I am new to USB, so some help on this would be greatly
appreciated. 

 
I am using an STM32F207 chip, and am attempting to get it to come
up as a composite USB MSC and CDC device on the FS port under
RTX. 

 
I am using the STM3220G-EVAL</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: RTX + Compostie USB CDC and MSC</title><link>https://community.arm.com/thread/106229?ContentTypeID=1</link><pubDate>Wed, 01 Aug 2012 11:55:27 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:96eb2959-4295-4715-88c4-29929e04639e</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; If I uninstall the USB drivers, then build with just the
CDC device enabled in the usb_config on endpoints 2 and 3, the device
enumerates correctly, however I get the same behaviour on the virtual
COM port.&lt;br /&gt;
&amp;gt; If I uninstall the USB drivers, then build with just the CDC
device enabled in the usb_config on endpoints 1 and 2 instead, the
serial interface seems to work just fine.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
It leads me to believe that it is definitely related to library
implementation.&lt;br /&gt;
Contact to Keil support.&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTX + Compostie USB CDC and MSC</title><link>https://community.arm.com/thread/80436?ContentTypeID=1</link><pubDate>Wed, 01 Aug 2012 10:40:46 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:90b906eb-4847-4e89-9ab3-f3f228b9b9db</guid><dc:creator>Carl S</dc:creator><description>&lt;p&gt;&lt;p&gt;
Thank-you, Tsuneo.&lt;/p&gt;

&lt;p&gt;
I have assigned the endpoints as you suggested.&lt;/p&gt;

&lt;p&gt;
The device enumerates correctly as a composite device, and I get a
COM port and drive letter on my computer. No issues reported.&lt;/p&gt;

&lt;p&gt;
I can read/write the SD card contents without issue.&lt;/p&gt;

&lt;p&gt;
I can open the COM port using a terminal application, however
whenever I type characters in to the terminal, my firmware encounters
an OS_ERR_FIFO_OVF error.&lt;/p&gt;

&lt;p&gt;
The call stack shows me that the overflow is a result of an
isr_evt_set call from the OTG_FS_IRQHandler while my
USBD_RTX_CDC_EP_BULK_Event task is in a running state.&lt;/p&gt;

&lt;p&gt;
I have increased my ISR FIFO queue size to max (96 entries) to no
avail.&lt;/p&gt;

&lt;p&gt;
If I uninstall the USB drivers, then build with &lt;b&gt;just&lt;/b&gt; the
CDC device enabled in the usb_config on endpoints 2 and 3, the device
enumerates correctly, however I get the same behaviour on the virtual
COM port.&lt;/p&gt;

&lt;p&gt;
If I uninstall the USB drivers, then build with &lt;b&gt;just&lt;/b&gt; the
CDC device enabled in the usb_config &lt;b&gt;&lt;i&gt;on endpoints 1 and 2
instead&lt;/i&gt;&lt;/b&gt;, the serial interface seems to work just fine.&lt;/p&gt;

&lt;p&gt;
This leads me to believe that it is somehow still related to
endpoint selection.&lt;/p&gt;

&lt;p&gt;
Any ideas on why I may be encountering this?&lt;br /&gt;
I am using Keil 4.53.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTX + Compostie USB CDC and MSC</title><link>https://community.arm.com/thread/60974?ContentTypeID=1</link><pubDate>Tue, 31 Jul 2012 10:36:01 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:63314df9-694f-4607-bb96-1a85a22a5818</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; and changed the interrupt endpoint from 1 to 3, and the
bulk in and out endpoints from 2 to 4&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
OTG_FS USB device core on STM32 supports fixed endpoint numbers,
just 1, 2, 3, for bulk/interrupt IN/OUT endpoints. There is no
EP4.&lt;/p&gt;

&lt;p&gt;
You may assign endpoints, for example,&lt;br /&gt;
MSC&lt;br /&gt;
- bulk IN 1&lt;br /&gt;
- bulk OUT1&lt;br /&gt;
CDC&lt;br /&gt;
- interrupt IN2&lt;br /&gt;
- bulk IN 3&lt;br /&gt;
- bulk OUT3&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>