對于STM32F4xx_StdPeriph_Driver,其重要源文件為:
- stm32f4xx_ppp.c:外設源文件。這里的ppp只是一個代碼,在實際上是具體的外設名字,如ADC,DMA等。在實際使用時根據所需的外設選擇性移植。
- stm32f4xx_conf.h:外設驅動配置文件。通過修改該文件中所包含的外設頭文件,用戶啟動或禁用外設驅動。此外,在此文件夾打開宏定義USE_FULL_ASSERT,通過預處理啟 用或禁用標準外設庫運行時的故障檢測。
- stm32f4xx_it.h :頭文件。包括所有中斷處理程序原型。在Project\STM32F4xx_StdPeriph_Templates中。
- stm32f4xx_it.c :中斷源程序模板,中斷函數的名稱要與啟動文件中中斷向量表的名稱一致。此外,對于stm32f4的標準外設固件庫,在CMSIS文件夾中還有相應的DSP庫:DSP_Lib和Lib。DSP_Lib主要為DSP函數庫的實例和源碼;Lib為編譯好的,且對于不同內核的STM32系列MCU所使用的lib文件。
以下為固件庫移植時CMSIS文件夾中的重要源文件:
- core_cm4.h :內核功能的定義,比如NVIC相關寄存器的結構體和Systick配置。
- core_cmFunc.h :內核核心功能接口頭文件。
- core_cmInstr.h :包含一些內核核心專用指令。
- core_cmSimd.h :包含與編譯器相關的處理。
- stm32f4xx.h :包含了stm32f4的寄存器結構體的定義(類似于c51的reg52.h)。
- system_stm32f4xx.h :system_stm32f4xx.c的頭文件。
- system_stm32f4xx.c :stm32f4的系統時鐘配置。
- startup_stm32f40_41xxx.s:啟動文件:設定SP的初始值;設置PC的初始值;設置中斷向量表的地址;配置時鐘;設置堆棧;調用main。這個啟動文件先調用system_stm32f4xx.c里面的systeminit()在調用main()之前。
文章整合自:csdn
編輯:ymf
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
STM32
+關注
關注
2288文章
10999瀏覽量
362008 -
頭文件
+關注
關注
0文章
26瀏覽量
10024 -
源文件
+關注
關注
0文章
30瀏覽量
4744
發布評論請先 登錄
相關推薦
熱點推薦
基于STM32F103RC的電子相冊(原理圖、PCB源文件、程序源碼及制作)
基于STM32F103RC的電子相冊(原理圖、PCB源文件、程序源碼及制作) 項目示例下載!
純分享帖,需要者可點擊附件免費獲取完整資料~~~【免責聲明】本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,刪除內容!
發表于 05-23 20:40
cypress3014在頭文件修改編譯后,時間不變,這樣頭文件的程序有被執行嗎?
你好,請問我在頭文件修改編譯后,時間不變,這樣頭文件的程序有被執行嗎,怎么解決這個問題
發表于 05-14 06:50
STM32CubeMX生成代碼就會覆蓋CMakeLists.txt文件,怎么解決?
請教一下用STM32CubeMX生成代碼后,我自己加了一個頭文件和源文件,這些自己加的文件不是要配置到CMakeLists.txt編譯么,但下載在用
發表于 03-12 08:03
關于stm32,u8g2菜單之間切換(二)u8g2的移植
移植是基于stm32cubeide,oled屏是1306驅動128x64的。接口用iic軟件模擬,hal庫iic硬件貌似有bug。 1,先在網上下載u8g2包。 2,解壓后找到源文件文件夾。 3

C語言中的頭文件能不能重復包含
兩行代碼起了作用。 #ifndef _STDIO_H#define _STDIO_H 1 寫頭文件的時候,習慣上都會加上兩個預處理指令,ifndef 和 define。 就以這個 test.h 為例
使用vscode始終無法找到頭文件怎么解決?
scons --target=vsc 生成的c_cpp_properties.json 的includePath是對的,但vscode就是要報找不到rtthread.h 等頭文件。
[2024/9
發表于 09-27 06:33
bin文件怎么燒錄到stm32
燒錄bin文件到STM32微控制器是一個相對復雜的過程,涉及到硬件連接、軟件配置和固件燒錄等多個方面。 一、硬件準備 STM32開發板 STM32開發板是燒錄bin
編譯components文件夾內容引入的頭文件不對怎么處理?
最近在移植LVGL,需要自己寫RGB驅動
我把LVGL放在components文件夾中,但編譯的時候提示缺少esp_lcd下頭文件的引用
仔細找了一下發現,編譯components內容的時候只引入
發表于 06-17 07:35
引用外部文件夾中的頭文件時,如何讓VSCODE不提示波浪線錯誤?
各位好:
我將常用的組件放在項目文件夾以外的某個地方,嘗試在項目內引用此文件夾下的組件,失敗,在代碼中無法include相關頭文件。我在main組件中也添加了requires,任然失敗。
另外,在VSCODE中,當我引用外部
發表于 06-07 08:19
為什么找不到esp_event_legacy.h頭文件?
最核心的問題是components/esp_event/include目錄下沒有esp_event_legacy.h頭文件(已停產)找不到。我想問下,先不遷移,將就用VSCODE查看的話,用什么頭文件取
發表于 06-07 08:03
components包含頭文件錯誤是怎么回事?
我新建了一個工程,添加了一個BLE組件,現在我在BLE組件的頭文件中包含了如下文件Code: Select all
#include \"api/esp_gatt_common_api.h
發表于 06-06 07:21
評論