STM32开发环境搭建
目錄
1.? MDK軟件安裝
1.1? MDK安裝(編程環境)
1.2? USB串口驅動安裝
1.3? STLINK驅動安裝
2.? 串口程序下載
2.1? 硬件連接
2.2? 一鍵下載方法
2.3? STM32啟動模式
3.? ST-LINK程序下載
3.1? ST-LINK與開發板硬件連接
3.2? ST-LINK下載配置過程
3.2.1? 驅動安裝
3.2.2? 編程軟件(MDK)配置
4.? 庫函數和寄存器的區別
5.? Keil問題解決
1.? MDK軟件安裝
1.1? MDK安裝(編程環境)
- MDK是什么?
RealView MDK 是Keil公司開發的,為基于Cortex、ARM7、ARM9等處理器設備提供的一個完整的開發環境。
- 參考資料:
ALIENTEK xxSTM32開發板入門資料\MDK5安裝手冊.pdf
- 安裝過程(略)
1.2? USB串口驅動安裝
- USB作用:
1.可以當串口使用。
2.如果USB串口連接到STM32的串口1(STM32ISP下載只能是串口1)的話,那么可以用來串口下載程序。
3.因為要連接到USB,所以可以用來USB供電。(如果開發板功耗較大,例如帶液晶、外部連接多個模塊,可能會導致供電不足,建議開發板再接外部電源、適配器來供電)
USB串口驅動芯片型號:CH340
串口下載工具:mcuisp(FlyMcu)
- 安裝過程(略)
1.3? STLINK驅動安裝
- STLINK驅動作用:
安裝了驅動之后,就可以在windows下配合MDK進行程序下載和調試
2.? 串口程序下載
參考資料:
戰艦/精英STM32F1開發板:《STM32F1開發指南-庫函數版本》-3.4.2 STM32串口程序下載
2.1? 硬件連接
特別注意:
STM32的ISP下載,只能使用串口1,也就是對應串口發送接收引腳PA9,PA10,不能使用其他串口(例如串口2:PA2,PA3)用來ISP下載。?
2.2? 一鍵下載方法
環境準備:CH340驅動安裝
對于F4板子,波特率(bps)請選擇76800(不能過高),對于F1板子,波特率可以任意,這是F1和F4的唯一區別。?
常見問題:
2.3? STM32啟動模式
STM32直接通過兩個引腳Boot0和Boot1設置啟動模式
參考資料:
M3《STM32中文參考手冊V10》2.4小節 表6
M4《STM32F4中文參考手冊》2.4小節 表3
?一鍵下載原理:
一鍵下載電路,則利用串口的DTR和RTS信號,分別控制STM32的復位和B0,配合上位機軟件(mcuisp),設置:DTR的低電平復位,RTS高電平進BootLoader,這樣,B0和STM32的復位,完全可以由下載軟件自動控制,從而實現一鍵下載。
3.? ST-LINK程序下載
本人買的時候是ST-LINK,視頻中有JLINK的講解,所以這里就寫ST-LINK的程序下載。
3.1? ST-LINK與開發板硬件連接
參考視頻教程(57秒):https://www.bilibili.com/video/BV1Pi4y157zu
3.2? ST-LINK下載配置過程
3.2.1? 驅動安裝
首先,需要下載ST-Link 資料包,下載地址為: http://openedv.com/posts/list/0/62552.htm 解壓資料包,可以看到,在資料包里面,我們提供了 ST-Link 驅動包: ST-Link 官方驅動.zip 首先,大家解壓資料包:
?解壓后,驅動包里面包含兩個可執行 exe 文件: dpinst_x86.exe和dpinst_amd64.exe? 64位操作系統就執行dpinst_amd64.exe,32位操作系統就執行dpinst_x86.exe。安裝完成后安裝界面會提示:
驅動安裝成功之后,大家把 ST-Link 通過 usb 連接到電腦,然后打開設備管理器,可以看 到會多出一個設備:
注意 2 點:
1, 各種 windows 版本設備名稱和所在設備管理器欄目可能不一樣,例如 WIN10 插上 STLINK 后顯示的是 STM32 STLINK。
2, 如果設備名稱旁邊顯示的是黃色的嘆號,直接點擊設備名稱,然后在彈出的界面 點擊更新設備驅動 至此,ST-Link 驅動已經安裝完成。接下來大家只需要在 mdk 工程里面配置一下 ST-Link 即可。
3.2.2? 編程軟件(MDK)配置
參考視頻教程(57秒):https://www.bilibili.com/video/BV1Pi4y157zu
4.? 庫函數和寄存器的區別
本質上是一樣的。我們可以在庫函數模板里面,直接操作寄存器,因為官方庫相關頭文件有寄存器定義,但是不能在寄存器模板調用庫函數,因為沒用引入庫函數相關定義。
了解寄存器基本原理的目的是為了讓我們對STM32相關知識有比較深入的理解,這樣在開發過程中方可得心應手。底層代碼配置出了問題需要調試的話,必須對寄存器有一定的了解才能找到問題,因為調試代碼,底層只能查看寄存器相關配置。
5.? Keil問題解決
利用STM32創建工程,用Keil5打開后報如下錯誤:
One or more Device Family Pack Devices are not present
解決方法:
在官網中下載并打開安裝(任意路徑)
總結
以上是生活随笔為你收集整理的STM32开发环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux: Nginx proxy_p
- 下一篇: [react] 为什么属性使用class