Ⅰ、寫在前面
很多朋友初學STM32的時候,對STM32芯片很多相關知識都不是很了解,導致了在學習的路上很迷茫,甚至半途放棄。希望本文的內容對初學的朋友有一定幫助。
常見問題:
1.我開發板是STM32F103ZE芯片,但網上找到的軟件工程基于STM32F103R8芯片的,我能直接將工程下載并調試嗎?
2.我有STM32F205R8的原理圖和封裝庫,但現在需要畫STM32F405RC芯片的板子,能直接替換使用嗎?
以上問題在你閱讀本文之后就會得到比較明確的答案。
關于本文的更多詳情請往下看。
Ⅱ、本文要點
從本文的標題可以看得出來,主要是站在“STM32兼容性”的角度來分析問題。
在開發STM32項目中,往往是軟件工程師、硬件工程師相互配合完成一個項目的開發。STM32兼容性其實是分硬件和軟件:
硬件兼容性:主要考慮的就是不同型號芯片引腳上是否可以通用。
軟件兼容性:單純的從芯片出發考慮問題,和硬件開發相比,軟件開發需要考慮的問題就有很多。ST公司為了讓軟件開發工程師能很好的移植代碼,在軟件(庫)兼容性上做的就很好,基本上很多芯片都可以相互使用共同的底層代碼。
本文就結合ST官網最新手冊及相關資料,從硬件和軟件角度來簡單講述一下STM32兼容性的問題,希望對你有所幫助。
【下面內容牽涉到STM32芯片數據手冊、參考手冊,可以下載數據手冊查看詳情。相關文章:開發STM32相關資料下載】
Ⅲ、硬件兼容性
硬件兼容性針對的主要是硬件工程師,但作為STM32的軟件工程師也是有必要了解的。
不管是前面說的用不同芯片的原理圖和封裝庫,還是你從一個項目拷貝部分器件到另一個項目,在得知STM32硬件兼容性之后,有很多工作都可以省略。
比如:你前面項目使用STM32F205R8設計的PCB板子,現在新的項目使用STM32F405RC,而且外部器件只有很小地方的改動,有很多外設器件和前面項目相同。這時,你的PCB很大一部分走線布局都可以不變,這樣就不用費盡心思、花費大部分時間從新再次設計那不用修改的部分。
對應硬件工程師來說,開發STM32主要就是選型,可以在官網下載芯片選型手冊、芯片手冊來進行參考:
下面就以LQFP64封裝為例,將(F0 - F4)不同系列、型號芯片的引腳圖進行對比,相信你們看了引腳圖,就會明白其實STM32大部分芯片(相同封裝)是可以兼容的。
1.STM32F0系列
2.STM32F1系列
3.STM32F2系列
4.STM32F3系列
5.STM32F4系列
6.綜上所述
以上截圖來自ST官網最新數據手冊,可自行到官網下載。
從上面可以看得出來,大部分相同封裝的芯片在引腳上基本上相同。我們雖然是以LQFP64封裝為例,其它封裝也是類似的具有很高的兼容性。
【注意:我這里說的是大部分,不是完全(可能存在略微差異)。因此,在選擇芯片型號時請查看對應數據手冊。】
Ⅳ、軟件兼容性
查看本文的讀者應該大部分都是從事軟件開發的工程師,ST公司推出的芯片在硬件上做了相當好的兼容性,在軟件上也不落后,同樣做了很好的兼容性。不管你是利用寄存器還是固件庫(標準外設庫和HAL庫)開發STM32,軟件的移植都是很方便的。
這里說的軟件兼容性,主要從兩個方面來說:寄存器 和 固件庫:
1.固件庫開發
這里主要考慮固件庫函數接口一致性的問題。同一系列的芯片固件庫接口都是一樣的,跨系列芯片固件庫其實ST公司也是做得很好,函數接口基本上也差不多相同。
說這么一個實例吧:硬件上,我將F207芯片的替換為F407芯片;軟件上,我將之前F207的程序移植到F407上依然可以運行。
上面這個實例說明ST跨系列的芯片也是可以做到軟硬件兼容的。
下面以標準外設庫來講述一下軟件的兼容性。
A.啟動文件
同一系列芯片的啟動文件在標準庫里面一般有幾個,為什么有幾個呢?原因很簡單,芯片資源存在一定的不同,一般是向下兼容的。也就是說大容量芯片資料包含小容量芯片資源。
【對比工具Beyond Compare介紹、下載、安裝、破解與基本使用方法】
利用對比工具對F1固件庫啟動文件:
從上面對比情況可以看見,其實中等容量芯片相比大容量芯片資源要少一些,也就是說中等容量芯片可以在大容量芯片中運行。
B.初始化配置源代碼
接觸多系列芯片的朋友可能會發現,很多資源初始化配置大同小異,基本上差不多,USART串口初始化配置源代碼各個系列基本都是如下一些參數:
2.寄存器開發
從軟件角度來分析,其兼容性牽涉到底層一點的東西,那就是資源模塊的寄存器(偏移地址)。也可以說各個資源模塊內容很多相同之處。
截取各個系列USART寄存器:
從上面截圖可以看見,其模塊寄存器基本上差不多。這里最底層對應的上層應用代碼兼容性就可以做的很好。
Ⅴ、說明
上面說的內容是針對大部分ST的MCU芯片,當然也不是完全,請根據實際情況來分析是否完全兼容。
看完上面內容之后,應該明白我前面文章提供的軟件工程適合哪些芯片。
以上總結僅供參考,若有不對之處,敬請諒解。
-
封裝
+關注
關注
127文章
7947瀏覽量
143099 -
STM32
+關注
關注
2270文章
10910瀏覽量
356579 -
STM32F103
+關注
關注
33文章
477瀏覽量
63705
發布評論請先 登錄
相關推薦
評論