完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
1、 汇编编写的启动文件 startup_stm32f10x_hd.s:设置堆栈指针、设置PC指针、初始化中断向量表、配置系统时钟、对用C库函数_main最终去到C的世界 2、时钟配置文件 system_stm32f10x.c:把外部时钟HSE=8M,经过PLL倍频为72M 3、外设相关的 stm32f10x.h:实现了内核之外的外设的寄存器映射 xxx:GPIO、USRAT、I2C、SPI、ESMC stm32f10x_xx.c:外设的驱动函数库文件 stm32f10x_xx.h:存放外设的初始化结构体,外设初始化结构体成员的参数列表,外设固件库函数的声明 4、内核相关的 CMSIS-Cortex 微控制器软件接口标准 core_cm3.h 实现内核里面外设的寄存器映射 core_cm.c NVIC(嵌套向量中断控制器)、SysTick(系统滴答计时器) misc.h misc.c 5、头文件的配置文件 stm32f10x_conf.h:头文件的头文件(把所以的头文件都包含在里面),包含: stm32f10x_usart.h stm32f10x_gpio.h stm32f10x_i2c.h stm32f10x_spi.h 等等 6、专门存放中断服务函数的C文件 stm32f10x_it.c stm32f10x_it.h 中断服务函数可以随意放在其他的地方,并不是一定要放在stm32f10x_it.c #include int main(void) { //此时的系统时钟已经被配置成72M } 5.2 CMSIS标准和库层次的关系 因为基于 Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难。为了解决不同的芯片厂商生产的 Cortex 微控制器软件 的兼容性问题, ARM 与芯片厂商建立了 CMSIS 标准(CortexMicroController Software Interface Standard)。 所谓 CMSIS 标准,实际是新建了一个软件抽象层。 5.2.1 库目录、文件简介 STM32 标准库可以从官网获得 Libraries: 文件夹下是驱动库的源代码及启动文件,这个非常重要,我们要使用的固件库就在这个文件夹里面。 Project : 文件夹下是用驱动库写的例子和工程模板,其中那些为每个外设写好的例程对我们非常有用,我们在学习的时候就可以参考这里面的例程,非常全面,简直就是穷尽了外设的所有功能。 Utilities:包含了基于 ST 官方实验板的例程,不需要用到,略过即可。 stm32f10x_stdperiph_lib_um.chm: 库帮助文档,这个很有用,不喜欢直接看源码的可 以在合理查询每个外设的函数说明,非常详细。 5.2.2 CMSIS文件夹 STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSIS文件夹展开内容 5.2.3 STM32F10x_StdPeriph_Driver 文件夹 文件目录: LibrariesSTM32F10x_StdPeriph_Driver 进入 libraries 目录下的 STM32F10x_StdPeriph_Driver 文件夹 STM32F10x_StdPeriph_Driver 文件夹下有 inc(include 的缩写)跟 src(source 的简写)这两个文件夹,这里的文件属于 CMSIS 之外的的、芯片片上外设部分。 src 里面是每个设备外设的驱动源程序, inc 则是相对应的外设头文件。 5.2.4 stm32f10x_it.c、 stm32f10x_conf.h 和 system_stm32f10x.c 文件 文件目录: STM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Template在这个文件目录下, 存放了官方的一个库工程模板,我们在用库建立一个完整的工程时 , 还 需 要 添 加 这 个 目 录 下 的 stm32f10x_it.c 、 stm32f10x_it.h 、 stm32f10x_conf.h 和 system_stm32f10x.c 这四个文件。 1、stm32f10x_it.c:这个文件是专门用来编写中断服务函数的 2、system_stm32f10x.c:这个文件包含了 STM32 芯片上电后初始化系统时钟、扩展外部存储器用的函数 3、stm32f10x_conf.h: 这个文件被包含进 stm32f10x.h 文件。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1845 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1647 浏览 1 评论
1116 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
745 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1700 浏览 2 评论
1958浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
766浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
595浏览 3评论
618浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
578浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-4 07:52 , Processed in 0.715017 second(s), Total 43, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号