STM32學習筆記 一

2021-09-01 20:37:40 字數 1986 閱讀 3619

一、

stm32韌體

學習

1.建立模板

模板是按照附件的方法建立的,共建立了

4個資料夾:

cmsis

、startup

、user

、project

。在project

中還建立了

2個資料夾:

obj和

listing

,用於存放目標檔案和列表檔案。最終的物理目錄如下。

在mdk4.23

中建立相應的目錄,實際上除了

misc.c

和stm32f10xrcc.c

是必須的外,其它的庫根據需要剪裁。

2.整理庫**

根據所選的晶元型別將

libraries\cmsis\cm3\devicesupport\st\stm32f10x\startup\arm\

下對應的啟動檔案

system_stm32f10x.c, system_stm32f10x.h

這兩個檔案提供函式用來初始化

stm32

晶元,配置

pll、系統時鐘和內建

flash

介面。

事實上,

stm32

標準外設庫的使用在

stm32f10x_stdperiph_lib_um.chm

中的how to use the library

一節中已有說明,主要步驟如下:

a. 根據所選晶元,把

libraries\cmsis\cm3\devicesupport\st\stm32f10x\startup\arm

中的啟動**加到工程中。這裡,我將

startup_stm32f10x_md.s

拷貝到libraries\startup

資料夾中。

b. 在stm32f10x.h

的66-73

行,根據所選晶元型別,去掉相應注釋,這裡我去掉

stm32f10x_md

行的注釋。

c. 去掉105

行的use_stdperiph_driver

注釋,啟用

stm32

標準外設庫。

d. 在system_stm32f10x.c

的110-115

行,根據所選晶元主頻,去掉相應注釋,預設

sysclk_freq_72mhz

注釋已去掉,如果你的晶元主頻是

72mhz

,就不用做修改了。

3.編寫檔案

將模板另存,改工程名,編寫相應的

main

函式和**。

按照李想老師的教程,庫函式編寫程式時,在

main

中首先是呼叫

rcc_configuration()

。而rcc_configuration()

函式用於配製晶元時鐘,**如下:

實際上如按照上述步驟整理後,除開啟

gpiob

、gpioa

時鐘**外,其餘已不需要,在

system_stm32f10x.c

中已經為我們做了上述的時鐘配製工作了。

system_stm32f10x.c

由此看見,

system_stm32f10x.c

中已經完成了

rcc_configuration()

的相同的時鐘配製。

此外,在

stm32f10x_conf.h

檔案中,可以注釋掉一些不用的外圍標頭檔案。

(詳見附件)

stm32學習筆記一

最近小毅入手了一塊stm32,考慮到其arm cotexm3核心的強大性,決定學學。今天是第一次接觸,先從簡單的開始。小毅使用的開發環境是windows下的rvmdk,是keil的乙個版本,keil大家都不陌生吧,哈哈,學過51的都知道,就不贅述了。遇到了第乙個問題 led.axf error l6...

STM32學習筆記之一 初窺STM32

怎麼做好學習筆記?答 自我感知 學習知識 歸納總結 自我昇華 真正屬於自己的知識是,拋開書本,運用時,你還能記得的思想 自我感知 看到知識概念,先自我感覺那應該是個什麼東西 如 暫存器 寄存東西 資料 的地方嘛 學習知識 有了自我感知後,就需要驗證自己的感知是否正確,請記住,帶著自己思想的學習是最高...

STM32學習筆記

剛到公司實習,要學習stm32開發,boss給了一塊戰艦開發板,讓我自己寫乙個功能要用在公司的產品上。難啊。以前根本沒接觸過stm32,只能一步一步慢慢來,利用晚上利用週末惡補一下。哎,算是為了大學前兩年還債吧。一 跑馬燈實驗 gpio輸出 實驗環境 keil4 實驗平台 戰艦stm32開發板 gp...