前文再續,書接上一回,前面我們建立了乙個資料夾,用來存放我們的工程,有建了三個資料夾,現在,分別解析一下這三個資料夾裡放的是什麼東西。
inc資料夾裡放的是標頭檔案,一共六個,以後我們自己的標頭檔案也可以放到這裡來。
stm32f4xx.h 包含了stm32f4的暫存器結構體的定義(類似於c51的reg52.h)
core_cm4.h 核心功能的定義,比如nvic相關暫存器的結構體
core_cminstr.h 包含一些核心核心專用指令
core_cmfunc.h 核心核心功能介面標頭檔案
core_cm4_simd.h 包含與編譯器相關的處理
system_stm32f4xx.h system_stm32f4xx.c的標頭檔案
user裡面放的是system_stm32f4xx.c檔案和使用者自己定義的檔案(比如main.c)。system_stm32f4xx.c裡面是系統初始化的設定,包括時鐘的配置等
startup裡放的startup_stm32f4xx.s是啟動檔案,是乙個彙編檔案。不同的編譯器應該用不同的啟動檔案。它的作用包括:
1. 設定sp的初值
2. 設定pc的初值
3. 設定中斷向量表的位址
4. 配置時鐘
5. 設定堆疊
6. 呼叫mian等
這個啟動檔案是先呼叫system_stm32f4xx.c裡面的systeminit()在呼叫main的。
然後就是iar的操作。
以下這幾個按鈕時最常用的
第乙個是編譯
第二個是生成可執行檔案
第三個是設定斷點
我們寫好程式,然後按編譯,在按第二個,如果編譯沒錯,連線提示錯誤的話,原因很可能是之前linker configuration file的檔案沒選對,或者一開始的晶元型別沒選對等
ok,這就是我們的程式設計環境。
STM32F407之數字濾波
為了對stm32f4的adc和dac有更多的了解,我決定做乙個實用性比較強的實驗。就是數字濾波實驗,利用stm32f4的dac可以產生雜訊的特點,利用它的一路dac產生疊加雜訊的訊號作為原始訊號。然後用adc測量,把結果經過濾波處理後用dac的另一通道把結果輸出,用雙蹤示波器觀察。一階慣性濾波器及其...
基於stm32f407建立stm32F427工程
分為三個部分 1.啟動檔案 2.fwilib 包含兩個資料夾inc和src。src裡面是stm32資源的c檔案,inc則是32資源的h檔案 3.user這也是我不太理解的部分 ddbugconfig只包含了用於debug的初始化,則是f4的系統檔案。我是在f407的基礎上改的 總的來說 1.改了晶元...
STM32F407上除錯freeRTOS問題
是在正點原子的阿波羅stm32f429開發板上的例子改來的,他們的編譯沒有問題,我編譯時出現如下問題 定位到出錯的地方,是 再追 configmax syscall interrupt priority 的定義是 define configmax syscall interrupt priority...