調(diào)試STM32F4 VCP遇到的問題
板子已經(jīng)做好了,功能就是:利用傳感器和GPS精確定位。該板子用到了調(diào)試STM32F4 VCP,也就是USB轉(zhuǎn)串口。在移植ST官方程序出現(xiàn)的問題,以及解決方法,羅列如下:
1.因?yàn)橛玫南螺d接口是5針的SWD,下載器是st-linkv2ST-LINK/V2。首先要搞清楚SWD接口與st-linkv2的接法。這里關(guān)鍵注意的是SWD的VCC引腳接到st-linkv2的第一腳上面。如果不這樣接,會(huì)出現(xiàn)internalcommanderror錯(cuò)誤。這個(gè)錯(cuò)誤的出現(xiàn),有時(shí)候是因?yàn)閺?fù)位的問題。如果能正常進(jìn)行下載,那么后面的問題就好辦了!我這里糾結(jié)了半天。
2.檢查板子晶振是否起振,用示波器量。修改地方是,system_stm32f4xx.c中的HSE_VAlUE和PLL_M。
3.因?yàn)镾T公司缺省的USB配置是用的高速的USB口。我們要去掉keiloptions中c/c++選項(xiàng)中有關(guān)HS的宏定義。如下圖:
4.配置自己的串口時(shí),要注意使用哪個(gè)串口,波特率(LINE_CODINGlinecoding),串口時(shí)鐘使能函數(shù),還有就是有串口中斷,一定要有中斷程序,如果么有的話,會(huì) 出現(xiàn)程序跑到startup_stm32f4xx.s的B.ENDPALIGN死機(jī)的情況。
5.程序跳到0x08001460BEABBKPT0xAB后就跑不動(dòng)的現(xiàn)象,需要設(shè)置微庫UseMicroLIB。