0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

stm32头文件和源文件的作用

汽车玩家 来源:csdn 作者:csdn 2021-07-22 14:05 次阅读

对于STM32F4xx_StdPeriph_Driver,其重要源文件为:

  • stm32f4xx_ppp.h:外设头文件。这里的ppp只是一个代码,在实际上是具体的外设名字,如ADCDMA等。在实际使用时根据所需的外设选择性移植。

  • 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
    +关注

    关注

    2264

    文章

    10852

    浏览量

    354148
  • 头文件
    +关注

    关注

    0

    文章

    24

    浏览量

    9838
  • 源文件
    +关注

    关注

    0

    文章

    30

    浏览量

    4566
收藏 人收藏

    评论

    相关推荐

    使用vscode始终无法找到头文件怎么解决?

    scons --target=vsc 生成的c_cpp_properties.json 的includePath是对的,但vscode就是要报找不到rtthread.h 等头文件。 [2024/9
    发表于 09-27 06:33

    可重复头文件的固定结构

    年轻人,你可曾记得,在修习C语言的时候,见过这样的字句:在创建头文件的时候,一定要加入保护宏。
    的头像 发表于 08-29 10:23 279次阅读
    可重复<b class='flag-5'>头文件</b>的固定结构

    bin文件怎么烧录到stm32

    烧录bin文件STM32微控制器是一个相对复杂的过程,涉及到硬件连接、软件配置和固件烧录等多个方面。 一、硬件准备 STM32开发板 STM32开发板是烧录bin
    的头像 发表于 08-22 09:38 1289次阅读

    编译components文件夹内容引入的头文件不对怎么处理?

    最近在移植LVGL,需要自己写RGB驱动 我把LVGL放在components文件夹中,但编译的时候提示缺少esp_lcd下头文件的引用 仔细找了一下发现,编译components内容的时候只引入
    发表于 06-17 07:35

    FX3工程导入后头文件找不到是为什么?如何添加头文件路径?

    在网上参考别人的工程项目,但是载入进去之后发现它的头文件都找不到,应该如何添加头文件路径?
    发表于 05-27 07:53

    请问头文件能不能定义变量呢?

    最近在编译一个工程的时候,突然遇到了变量重复定义的问题,根据提示打开这几个 C 文件,并没有发现定义变量的地方。后来再找一找,原来变量定义在了头文件里面。
    的头像 发表于 04-28 09:33 985次阅读

    请问为什么库函数头文件和寄存器头文件不可共用?

    CLK_CKDIVR=0x01;可是这么编程后就报错iostm8s208mb.h头文件缺少括号,不知道为何库函数头文件与寄存器头文件放一起时哪构成语法错误了;请问我这个把库函数一句一句地换成寄存器的想法可以吗?还是说得把整个库函
    发表于 04-28 06:22

    STM32CubeMX如何在*.c源文件中使用c++特性?

    用arm-xxx-gcc编译器进行编译,*.cpp文件会使用arm-xxx-g++编译器进行编译,STM32CubeMX生成文件都是*.c源文件,在不修改
    发表于 04-25 06:15

    C语言中的头文件

    #include 指令会指示 C 预处理器浏览指定的文件作为输入。预处理器的输出包含了已经生成的输出,被引用文件生成的输出以及 #include 指令之后的文本输出。
    发表于 02-23 14:06 389次阅读

    keil如何生成bin文件

    创建工程、编写代码、配置编译选项、编译生成可执行文件、转换为bin文件等。 创建工程 首先,打开Keil软件,点击“File”->“New”->“Project”,选择适合的目标设备,如STM32系列或其他ARM芯片。输入项目名
    的头像 发表于 12-15 13:43 1.1w次阅读

    C语言必备知识头文件包含

    头文件在C语言中是非常重要的组成部分。
    的头像 发表于 12-01 18:20 1753次阅读

    Keil分散加载文件浅析

    ARM 映像文件其实就是源文件经编译器生成的目标文件,一般是bin文件或者hex文件,可以直接烧录到ROM中执行(一般是内部FLASH),这
    的头像 发表于 11-17 10:00 2346次阅读
    Keil分散加载<b class='flag-5'>文件</b>浅析

    linux删除文件命令rm

    在Linux系统中,可以使用rm命令来删除文件或目录。该命令的功能是删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,rm命令只是断开
    的头像 发表于 11-13 16:42 817次阅读

    什么是头文件头文件编写的一般格式要求是怎样?

    本文介绍头文件的定义、编写、保存及引用等方面的内容,包括了一般的格式要求、例程等。
    的头像 发表于 11-08 16:25 1604次阅读
    什么是<b class='flag-5'>头文件</b>?<b class='flag-5'>头文件</b>编写的一般格式要求是怎样?

    linux解压gz文件的命令

    “gzip 源文件”;例压缩“b.txt”文件,执行命令“gzip b.txt”即可。想要解压文件,就执行“gzip -d 压缩文件”或“gunzip 压缩
    的头像 发表于 11-08 14:42 5226次阅读