STM32,使用USB VCP功能,即虛擬串口功能時,選擇USB_OTG_FS Device_Only,如上圖。cube自動生成工程,不作修改。將USB插入電腦,WIN10或WIN7系統(tǒng)設備管理器中端口項中都能成功出現(xiàn)STMicroelecronics Virtual COM Port(COM4),但驅(qū)動前顯示黃色嘆號,表示設備安裝存在問題的警告。
問題:
usbd_cdc.c文件中,USBD_CDC_Init函數(shù)中存在一個USBD_malloc,可在此打斷點調(diào)試,pdev->pClassData為NULL??芍猰alloc并沒有申請到空間。
解決方法:
malloc沒有申請到空間,并不是USBD_malloc函數(shù)有問題,而是系統(tǒng)設置堆空間過小,申請空間大于堆空間,所以無法申請成功。只需要將startup_stm32f429xx.s系統(tǒng)啟動文件里的Heap_Size EQU 0x200 值高大就可以了
//======================================================================
備注::
1>在win10下運行C:\Program Files (x86)\STMicroelectronics\Software\Virtual comport driver\Win8下的dpinst_amd64.exe就可以把驅(qū)動安裝成功-----顯示的串口也就不帶感嘆號了!!!
上海意泓電子科技有限責任公司 版權所有 未經(jīng)授權禁止復制或鏡像
CopyRight 2020-2025 www.hljhgw.com All rights reserved 滬ICP備2021005866號