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

    关注

    2319

    文章

    11289

    浏览量

    378399
  • 头文件
    +关注

    关注

    0

    文章

    27

    浏览量

    10467
  • 源文件
    +关注

    关注

    0

    文章

    31

    浏览量

    5007
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AT32 WorkBench 代码预览

    : - main.c:主源文件,主要对各外设初始化函数进行调用。 - AT32xxxx_wk_config.h:外设配置头文件,主要对各外设初始化函数进行声明。 - AT32xxxx_wk_config.c
    发表于 08-10 09:58

    RK平台U-Boot开发干货:读懂配置头文件三层继承链

    做瑞芯微 RK 平台 U-Boot 开发,很容易混淆 Kconfig 与 C 配置头文件的分工:Kconfig 管「编译哪些功能」,头文件管「运行时参数」。本文完整拆解 RK 平台配置头文件清晰的三层继承关系,从原理、源码到实操
    的头像 发表于 07-21 16:36 703次阅读
    RK平台U-Boot开发干货:读懂配置<b class='flag-5'>头文件</b>三层继承链

    RTD 4.0.0 中缺少 S32K328 的头文件 为什么

    S32DSsoftwarePlatformSDK_S32K3RTDBaseNXP_TS_T40D34M40I0R0header 文件夹中,我可以看到所有平台的头文件,但没有专门针对S32K328. 目前,S32K358标题也用于S32K328。 这是推荐的方法吗?如
    发表于 07-14 07:51

    如何在 Autosar MCAL 环境中为模块生成 MemMap 头文件

    您好,我想询问如何在 Autosar MCAL 环境中为模块生成 MemMap 头文件(例如 Gpt_MemMap.h)。完成此作是否需要特定的工具或配置步骤?期待您的回复。谢谢!
    发表于 07-13 08:17

    如何在 STM32Cube CMake 工程中添加源文件

    STM32Cube for Visual Studio Code V3 版本(例如,如下图所示的 Pre-release V3.4.11)打开,编辑,编译以及调试。但是除了 STM32CubeMX 生成的文件,还有自己开发的
    发表于 04-15 16:07 0次下载

    【教程】CW32之使用J-Link烧录.hex文件

    在平时调试时,我们也可以使用DAP-Link、ST-Link等进行烧录和Debug,使用方法和STM32类似。然而当我们手头只有hex文件(或bin文件)时,可以尝试使用J-Link进行烧录。
    的头像 发表于 04-01 16:56 4211次阅读
    【教程】CW32之使用J-Link烧录.hex<b class='flag-5'>文件</b>

    LAT1574_如何在 STM32Cube CMake 工程中添加源文件

    STM32Cube for Visual Studio Code V3 版本(例如,如下图所示的 Pre-release V3.4.11)打开,编辑,编译以及调试。但是除了 STM32CubeMX 生成的文件,还有
    发表于 03-11 10:46 0次下载

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件
    的头像 发表于 11-28 07:27 4411次阅读

    RISC-V GCC编译,如何添加math.h头文件

    在使用一些数学函数(例如exp)时,需要添加math.h头文件 risc-v embedded gcc在添加math.h函数时,会到riscv-none-embed/lib里寻找链接库文件库libm.a,但编译显示失败:undefined exp();
    发表于 11-10 07:50

    基于蜂鸟E203添加完外设后软件头文件添加过程

    对应的头文件,才可以在软件代码里调用。platform.h文件定义了SoC平台相关的宏定义。在里面添加下图所示代码。 AES_CTRL_ADDR _AC(0x10041000,UL)表示AES模块基地址为
    发表于 10-30 06:48

    头文件保护失效,提示变量重复包含,是什么原因导致的?

    我自定了一个头文件,而且使用了头文件保护机制。但是在两个源文件包含相同的头文件时,依然提示某些变量重复包含。想不出来问题在哪里。 这个文件
    发表于 10-09 06:19

    RT-thread源码scons --dist --target=vsc;STM32L475-pandora没有STM32L4xx.h头文件是怎么回事?

    原因是这个文件夹没有stm32L4xx.h的头文件
    发表于 09-28 13:00

    无法找到已经存在的头文件,为什么?

    fatal error: stm32f0xx_hal_conf.h: No such file or directory compilation terminated. 这个.H文件在MX里已经自动生成了,为什么还会显示找不到了? 如何解决?哪里有文档可查?
    发表于 09-28 06:25

    移植Nano板报错error: #20: identifier “va_list” is undefined怎么解决?

    rt_hw_hard_fault_exception()函数的while(1)处。 通过调试发现是在使用rt_thread_create创建main()函数线程的时候死掉的 这是源文件 STM32F103.zip
    发表于 09-26 07:16

    RTT如何添加文件夹并加入编译?

    想把一个新的工程文件夹(包含若干个源文件头文件)放入同一个工程内编译。 试了下把在文件系统添加了文件夹到相关位置,rtthread stu
    发表于 09-15 07:50