STM32F407之了解程式設計環境

2021-06-21 00:56:55 字數 1038 閱讀 7359

前文再續,書接上一回,前面我們建立了乙個資料夾,用來存放我們的工程,有建了三個資料夾,現在,分別解析一下這三個資料夾裡放的是什麼東西。

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...