完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
CMSIS 标准中最主要的为 CMSIS 核心层,它包括了: 内核函数层:其中包含用于访问内核寄存器的名称、地址定义; 设备外设访问层:提供了片上的核外外设的地址和中断定义。 库目录,文件简介 在STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 文件中: Libraries:文件夹下是驱动库的源代码及启动文件。 Project :文件夹下是用驱动库写的例子和工程模板。 Utilities:包含了基于 ST 官方实验板的例程,以及第三方软件库,如 emwin 图形软件 库、fatfs 文件系统。 MCD-ST Liberty…:库文件的 License 说明。 Release_Note.html::库的版本更新说明。 stm32f4xx_dsp_stdperiph…: 库帮助文档,这是一个已经编译好的 HTML 文件,主要 讲述如何使用驱动库来编写自己的应用程序。 在使用库开发时,我们需要把 libraries 目录下的库函数文件添加到工程中,并查阅库 帮助文档来了解 ST 提供的库函数,这个文档说明了每一个库函数的使用方法。 进入Libraries 文件夹: 关于内核与外设的库文件分别存放在 CMSIS 和STM32F4xx_StdPeriph_Driver 文件夹中 CMSIS 文件夹: 其中 Device 与 Include 中的文件是我们使用得最多的。 Include: 在 Include 文件夹中包含了 的是位于 CMSIS 标准的核内设备函数层的 Cortex-M 核通用 的头文件,它们的作用是为那些采用 Cortex-M 核设计 SOC 的芯片商设计的芯片外设提供 一个进入内核的接口,定义了一些内核相关的寄存器(类似我们前面写的 stm32f4xx.h 文件, 但定义的是内核部分的寄存器)。 我们写 STM32F4 的工程,必须用到其中的四个文件:core_cm4.h、core_cmFunc.h、 corecmInstr.h、core_cmSimd.h Device 文件夹: 在 Device 文件夹下的是具体芯片直接相关的文件,包含启动文件、芯片外设寄存器定 义、系统时钟初始化功能的一些文件。 system_stm32f4xx.c 这个文件包含了 STM32 芯片上电后初始化系统时钟、扩展外部存储器用的函数,例如 我们前两章提到供启动文件调用的“SystemInit”函数,用于上电后初始化时钟,该函数的 定义就存储在 system_stm32f4xx.c 文件。STM32F429 系列的芯片,调用库的这个 SystemInit 函数后,系统时钟被初始化为 180MHz,如有需要可以修改这个文件的内容,设 置成自己所需的时钟频率。 启动文件 在这个目录下,还有很多文件夹,如“ARM”、“gcc_ride7”、“iar”等,这些文件在这个目录下,还有很多文件夹,如“ARM”、“gcc_ride7”、“iar”等,这些文件 夹下包含了对应编译平台的汇编启动文件,在实际使用时要根据编译平台来选择。我们使 用的 MDK 启动文件在“ARM”文件夹中。其中的“strartup_stm32f429_439xx.s”即为 STM32F429 芯片的启动文件。 stm32f4xx.h stm32f4xx.h 这个文件非常重要,是一个 STM32 芯片底层相关的文件。它是我们前两 章自己定义的“stm32f4xx.h”文件的完整版,包含了 STM32 中所有的外设寄存器地址和结 构体类型定义,在使用到 STM32 标准库的地方都要包含这个头文件。 STM32F10x_StdPeriph_Driver 文件夹: STM32F4xx_StdPeriph_Driver 文件夹下有 inc(include 的缩写)跟 src(source 的简写) 这两个文件夹,这里的文件属于 CMSIS 之外的的、芯片片上外设部分。 src 里面是每个设备外设的驱动源程序,inc 则是相对应的外设头文件。src 及 inc 文件夹是 ST 标准库的主要内容。 在 src 和 inc 文件夹里的就是 ST 公司针对每个 STM32 外设而编写的库函数文件,每个 外设对应一个 .c 和 .h 后缀的文件。 misc.c 文件,这个文件提供了外设对内核中的 NVIC(中断向量控制器)的访问函数,在配置中断时,我们必须把这个文件添加到工程中。 stm32f4xx_it.c、 stm32f4xx_conf.h 文件: 在这个文件目录下,存放了官方的一个库工程模板,我们在用库建立一个完整的工程 时,还需要添加这个目录下的 stm32f4xx_it.c、stm32f4xx_it.h、stm32f4xx_conf.h 这三个文 件。 stm32f4xx_it.c:这个文件是专门用来编写中断服务函数的。 stm32f4xx_conf.h:这个文件被包含进 stm32f4xx.h 文件。 stm32f4xx_conf.h 这个文件还可配置是否使用“断言”编译选项。 库各文件间关系: 在实际的使用库开发工程的过程中,我们把位于 CMSIS 层的文件包含进工程,除了特殊系统时钟需要修改 system_stm32f4xx.c,其它文件丝毫不用修改。 帮助文档 《STM32F4xx 参考手册》:这个文件全方位介绍了 STM32 芯片的各种片上外设,它把 STM32 的时钟、存储器架构、及各种外设、寄存器都描述得清清楚楚。当我们对 STM32 的外设感到困惑时,可查阅这个文档。 《STM32F4xx 规格书》:本文档相当于 STM32 的 datasheet,包含了 STM32 芯片所有的引脚功能说明及存储器架构、芯片外设架构说明。后面我们使用 STM32 其它外设时,常常需要查找这个手册,了解外设对应到 STM32 的哪个 GPIO 引脚。 《Cortex™-M4 内核参考手册》:主要讲解 STM32 内核寄存器相关的说明,例如系统定时器、中断等寄存器。这部分的内容是《STM32F4xx 参考手册》没涉及到的内核部分的补充。相对来说,本文档虽然介绍了内核寄存器,但不如以下两个文档详细,要了解内核时,可作为以下两个手册的配合资料使用。 《Cortex-M3 权威指南》、《cortex_m4_Technical Reference Manual》:这两个手册是由 ARM 公司提供的,它详细讲解了 Cortex 内核的架构和特性,要深入 了解 Cortex-M 内核,这是首选,经典中的经典,其中 Cortex-M3 版本有中文版,方便学习。因为 Cortex-M4 内核与 Cortex-M3 内核大部分相同,可用它来学习,而Cortex-M4 新增的特性,则必须参考《cortex_m4_Technical Reference Manual》文档了,目前只有英文版。 《stm32f4xx_dsp_stdperiph_lib_um.chm》:这个就是本章提到的库的帮助文档,在使用库函数时,我们最好通过查阅此文件来了解标准库提供了哪些外设、函数原型或库函数的调用的方法。也可以直接阅读源码里面的函数的函数说明。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 02:21 , Processed in 0.755944 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号