STM32不同型號單片機keil工程移植說明

        STM32系列單片機如果庫函數開發的話,那麼不同型號單片機的工程是可以直接移植的。這樣的話如果項目中更換了芯片,工程就可以直接移植過去,不用重新編寫。這樣就節約了很多時間。

        下面說一下如何將 在STM32F103RCT6單片機上開發的工程,移植到STM32F103C8T6單片機上。移植工程之前,首先要確保工程中用到的IO口,在兩個芯片中都有。否則如果工程中使用IO在一個芯片上有,另一個芯片上沒有,那麼是不能直接移植的,需要更改 IO口後才能使用。

相關IO口可以在官方芯片資料中查看

如上圖所示 PC0口,在48個引腳的單片機中是沒有的,在其他單片機中的引腳位置也不一樣。移植的時候引腳位置要確認好,看看位置不同是否影響使用。雖然在不同封裝上引腳編號不一樣,但是引腳的功能都是一樣的。在程序中的設置方法也是一樣的。

下面用一個工程來說明,用STM32F103RCT6單片機編寫的讀取內部溫度傳感器工程,移植到STM32F103C8T6單片機上。由於溫度傳感器是內部自帶的功能,和外部IO口無關,所以程序不用做任何修改。只需要在keil中修改配置就行了。

首先將Device中芯片型號由STM32F103RC 改爲 STM32F103C8

下面更改宏定義設置

在C/C++中將宏定義STM32F10X_HD 改爲 STM32F10X_MD,因爲STM32F103RC爲大容量芯片,而 STM32F103C8爲中等容量芯片,所以要將HD改爲MD。

最後設置Debug選項

在Debug中選擇燒寫器爲J-LINK,然後點後面的Settings按鈕。

打開的界面中選擇Flash DownLoad選項,底下默認是STM32F103RC單片機的flash文件,爲512k,而當前用的STM32F103C8單片機flash爲128K,所以要將原來的文件刪除掉,重新添加文件。

選中默認文件,點底下Remove按鈕,刪除原文件。

刪除掉原文件後,再點Add按鈕添加新文件。

在打開的對話框中選擇第一個文件 128K大小

點Add按鈕,添加新文件。

這時flash文件大小就變成128k了,最後點確定按鈕。

這時回到設置界面,在點OK按鈕。這樣設置工作就完成了,重新編譯工程就可以直接使用了。

工程編譯成功,下載到單片機中看看運行結果。

溫度讀取成功,說明工程移植也成功了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章