STM32程序移植技巧總結

1. 工程更換不同的STM32芯片

eg:stm32f103rct6 ---->stm32f103c8t6:

1.1. 修改芯片

點擊魔術棒,在出來的菜單欄裏,Device 選項重新選擇芯片

在這裏插入圖片描述

1.2. 修改啓動文件

此處舉例是 RCT6 修改爲 C8T6,因爲 flash 容量大小不一樣,所以需要對應修改啓動文件,如果是 flash 大小相同,此步驟不需要。此處由:startup_stm32f10x_hd.s修改爲startup_stm32f10x_md.s

在這裏插入圖片描述

1.3. 修改全局宏定義

同樣先點擊魔術棒,在菜單欄選擇 C/C++。進而修改全局宏定義。此處:STM32F10X_HD–>STM32F10X_MD

在這裏插入圖片描述

1.4. 重新添加FLASH

此處是將大容量的 RCT6 修改爲中容量的 C8T6,所以我們需要重新添加 flash。

在這裏插入圖片描述

至此,一個工程就從 RCT6 修改爲 C8T6 ,編譯下載即可。

2. 外部晶振的修改

此處舉例:8M---->12M

常見的STM32硬件外部用的也是 8M ,今天一個新板子原理圖畫的是25M,實際焊接的是 12M,找了一下午問題,最後發現是晶振引起的問題。遇到問題,除了多思考總結,也要在網上查找資料,很多問題我們的前輩已經遇到並且解決了,這樣我們學習的過程也會輕鬆一些。

2.1. 修改 stm32f10x.h 文件

默認是8M,修改爲12M。

在這裏插入圖片描述

2.2. 修改 system_stm32f10x.c 文件

默認是9倍頻,最大 72MHz。修改爲:RCC_CFGR_PLLMULL6。

在這裏插入圖片描述

注:晶振不一樣,一個很直觀的問題就是串口輸出亂碼,下午找了半天BUG。此博客後面有不錯的技巧還會繼續補充。

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