obit 发表于 2015-2-2 06:14:35

STM32F103ZET6 gcc编译usb虚拟串口问题

一块STM32F103ZET6板子,官方下载4.0 usb固件库自带的usb虚拟串口例程用mdk编译可以正确识别该串口,改用gcc编译则不能枚举。

同一个代码,mdk中的C define参数跟gcc下的一样,都是-DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD -DUSE_STM3210E_EVAL,也试过O0和O3参数都不行。

其他代码,比如LED闪烁之类的例程gcc编译则正常,这会是什么问题呢


两次bus hound抓包,
失败的
DevicePhaseData                      Description       Cmd.Phase.Ofs(rep)
---------------------------------------------------------------------
   9.1IN   00 01                     ..                     1.1.0      
   9.0CTL    a3 00 00 0008 00 04 00GET STATUS               2.1.0      
   9.0IN   01 01 01 00               ....                     2.2.0      
   9.0CTL    23 01 10 0008 00 00 00CLEAR FEATURE            3.1.0      
   9.0CTL    a3 00 00 0008 00 04 00GET STATUS               4.1.0      
   9.0IN   01 01 00 00               ....                     4.2.0      
   9.0CTL    23 03 04 0008 00 00 00SET FEATURE            5.1.0(4)   
   9.1IN   00 01                     ..                     6.1.0(4)   
   9.0CTL    a3 00 00 0008 00 04 00GET STATUS               7.1.0(4)   
   9.0IN   03 01 10 00               ....                     7.2.0      
   9.0CTL    23 01 14 0008 00 00 00CLEAR FEATURE            8.1.0(4)   
   9.0CTL    a3 00 00 0008 00 04 00GET STATUS               9.1.0(4)   
   9.0IN   03 01 00 00               ....                     9.2.0      
   9.0CTL    23 01 01 0008 00 00 00CLEAR FEATURE         25.1.0      



成功的
DevicePhaseData                      Description       Cmd.Phase.Ofs(rep)
---------------------------------------------------------------------
   9.1IN   00 01                     ..                     1.1.0      
   9.0CTL    a3 00 00 0008 00 04 00GET STATUS               2.1.0      
   9.0IN   01 01 01 00               ....                     2.2.0      
   9.0CTL    23 01 10 0008 00 00 00CLEAR FEATURE            3.1.0      
   9.0CTL    a3 00 00 0008 00 04 00GET STATUS               4.1.0      
   9.0IN   01 01 00 00               ....                     4.2.0      
   9.0CTL    23 03 04 0008 00 00 00SET FEATURE            5.1.0(2)   
   9.1IN   00 01                     ..                     6.1.0(2)   
   9.0CTL    a3 00 00 0008 00 04 00GET STATUS               7.1.0(2)   
   9.0IN   03 01 10 00               ....                     7.2.0      
   9.0CTL    23 01 14 0008 00 00 00CLEAR FEATURE            8.1.0(2)   
   9.0CTL    a3 00 00 0008 00 04 00GET STATUS               9.1.0(3)   
   9.0IN   03 01 00 00               ....                     9.2.0      
   9.0CTL    80 06 ee 0300 00 12 00GET DESCRIPTOR          16.1.0      
   9.0USTS   c0000004                  stall pid               16.2.0      
   9.0CTL    80 06 03 0309 04 ff 00GET DESCRIPTOR          17.1.0      
   9.0IN   1a 03 34 0038 00 45 00..4.8.E.                17.2.0      
               46 00 37 0036 00 35 00F.7.6.5.                17.2.8      
               43 00 33 0035 00 33 00C.3.5.3.                17.2.16      
               37 00                     7.                      17.2.24      
   9.0CTL    80 06 00 0300 00 ff 00GET DESCRIPTOR          18.1.0      
   9.0IN   04 03 09 04               ....                  18.2.0      
   9.0CTL    80 06 02 0309 04 ff 00GET DESCRIPTOR          19.1.0      
   9.0IN   32 03 53 0054 00 4d 002.S.T.M.                19.2.0      
               33 00 32 0020 00 56 003.2. .V.                19.2.8      
               69 00 72 0074 00 75 00i.r.t.u.                19.2.16      
               61 00 6c 0020 00 43 00a.l. .C.                19.2.24      
   9.0CTL    80 06 00 0600 00 0a 00GET DESCRIPTOR          20.1.0      
   9.0USTS   c0000004                  stall pid               20.2.0      

holts1 发表于 2015-2-2 08:01:22

GCC用的人少,太多参数不确定

chaplin1999-262 发表于 2015-2-2 08:20:33

gcc用的 CoIDE很好用的哇,都设置好的,

拼命三郎 发表于 2015-2-2 08:43:17

Zacking 发表于 2015-3-12 09:19:08

楼主你好,我想请问虚拟串口例程为什么需要再用到串口呢,不是usb虚拟串口了吗?
页: [1]
查看完整版本: STM32F103ZET6 gcc编译usb虚拟串口问题