jlink使用技巧之虛擬串口功能 Stm32找不到串口?
Stm32找不到串口?串行端口應已連接。STLINK只是一個下載和調(diào)試程序的4線接口,類似于JLINK。串行端口可以通過USB轉TLL連接到串行引腳,也可以購買藍牙模塊來連接串行端口。c語言的程序怎么
Stm32找不到串口?
串行端口應已連接。STLINK只是一個下載和調(diào)試程序的4線接口,類似于JLINK。串行端口可以通過USB轉TLL連接到串行引腳,也可以購買藍牙模塊來連接串行端口。
c語言的程序怎么燒進stm32里?
你首先需要明確的是,C語言程序最終需要通過一個叫編譯器的東西轉換成匯編語言,這也是C語言能夠跨平臺的原因。當你用C語言寫程序的時候,如果你想在51單片機上運行,那么你就要通過一個具有51內(nèi)核編譯能力的編譯器把它編譯成51匯編代碼,這樣你的代碼才能正確運行,而如果你想在STM32上運行,就需要一個ARM內(nèi)核編譯器來編譯。
讓 讓我們回到如何寫作的問題上來。目前,我知道有兩種常見的下載。串行端口2。調(diào)試器。
首先,讓我們 讓我們討論一個簡單的串行下載。據(jù)我所知,這是所有STM32單片機都有的下載方法。它的下載方法很簡單,就是通過一個軟件,比如mcuisp.exe,將bin、hex之類編譯文件的數(shù)據(jù)通過串口傳輸?shù)絊TM32(掉電不丟失),然后執(zhí)行你的代碼。優(yōu)點是只要有串口和下載軟件就可以下載,缺點是下載速度慢,可以 不要在線調(diào)試。
下面簡單說一下STM32串口下載的原理。STM32在生產(chǎn)中會先燒一個程序,可以叫做Bootloader程序。這個程序在正常情況下是不會運行的,需要通過設置一些BOOTx的狀態(tài)來激活。這個代碼一旦運行,就會一直檢測其中一個串口的狀態(tài)信息,一旦識別出需要下載的條件,就會按照自己的通信協(xié)議完成數(shù)據(jù)傳輸,最后將整個文件代碼保存在單片機中。下載完成后,在執(zhí)行剛剛下載的程序之前(或者通過設置BOOTx管腳的狀態(tài)),需要將其脫離這種模式,恢復到正常的程序運行狀態(tài)。
現(xiàn)在讓我們 下面說說第二種下載,下載器。
下載器有很多種,比如J-LINK,ST-LINK,CMSIS,ULINK等??纯碝DK的下載列表。
挺有錢的。用調(diào)試器下載最大的好處就是可以在線調(diào)試,實時觀察運行情況和數(shù)據(jù)變化,挺好的。
調(diào)試器的下載有很多種,比如上面說的直接通過MDK集成軟件下載,非常方便。這邊走。axf已下載。
文件類型(注意可以通過MDK下載到RAM或FLASH中,下載到RAM中斷電后代碼會消失)。
還有專業(yè)的下載工具。下載,比如ST-LINK Utility(使用ST-LINK下載器下載),這個下載工具下載的文件類型比較豐富,可以。斌。
或者。十六進制
等等(這些文件類型可以由MDK軟件直接生成),也很方便。當然,這些下載工具不具備在線調(diào)試的功能。
事實上,除了以上兩種常見的下載,部分型號的STM32單片機還集成了CAN、USB等下載。有興趣的人可以去ST官網(wǎng)找相關筆記。