对于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
+关注
关注
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 平台配置头文件清晰的三层继承关系,从原理、源码到实操
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进行烧录。
LAT1574_如何在 STM32Cube CMake 工程中添加源文件
STM32Cube for Visual Studio Code V3 版本(例如,如下图所示的 Pre-release V3.4.11)打开,编辑,编译以及调试。但是除了 STM32CubeMX 生成的文件,还有
发表于 03-11 10:46
•0次下载
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
stm32头文件和源文件的作用
评论