IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32F10X工程文件(Keil软件) -> 正文阅读

[嵌入式]STM32F10X工程文件(Keil软件)

????????core_cm3.ccore_cm3.h为ARM公司提供的核心文件,所有Cortex-M3内核的芯片通用。无需理解,无需修改。

????????system_stm32f10x.csystem_stm32f10x.h为设置系统以及总线时钟的文件,系统初始化时会调用其中的SystemInit()函数,用来设置系统时钟,包括系统时钟源、PLL 倍频因子、AHB/APBx 预分频器和闪存设置。SystemInit()函数在启动时于复位后和主程序开始之前调用,调用在“startup_stm32f10x_xx.s”文件中进行。稍微了解,无需修改。

????????startup_stm32f10x_xx.s文件是启动文件,有8个不同的文件,不同闪存存储器容量的芯片使用的启动文件不同。

????????其中最主要也是最常用的是startup_stm32f10x_ld.s、startup_stm32f10x_md.s和startup_stm32f10x_hd.s,文件后缀前的字母ld、md和hd分别为Low Density、Medium Density和High Density的缩写,表示文件分别适用于小,中和大容量芯片。官方对容量划分为:小于等于32K字节为小容量,64K到128K字节为中容量,大于等于256K字节为大容量。

????????如何确定所用芯片的存储容量呢?可以根据芯片命名来确认,以STM32F103RCT6为例,根据芯片命名规则,芯片名的倒数第三位“C”表示存储容量256K字节的闪存存储器,所以STM32F103RCT6使用startup_stm32f10x_hd.s作为启动文件,具体命名规则如下。

? ? ? ? 再举一个例子,STM32F103C8T6中的8表示64K字节闪存容量,为中等容量,所以使用startup_stm32f10x_md.s作为启动文件。其他启动文件可以将其打开查看文件描述来确认适合哪种芯片使用。

????????stm32f10x.h 为外部访问层头文件,十分重要,主要有各种寄存器定义,位定义和存储器映射等。在开发过程中可能会时常查看该文件。无需修改

? ? ? ? stm32f10x_conf.h库配置文件,在此文件中包含需要使用的外设头文件。根据需要修改。

????????stm32f10x_it.cstm32f10x_it.h用于编写中断服务程序,该文件为所有异常处理程序和外设中断服务提供模板。其实中断服务程序在工程中的其他任意文件中都可以编写,所以这两个文件意义不是很大(原子哥说的)。

? ? ? ? 以上文件为建立工程的主要文件,核心文件2个,系统文件2个,启动文件1个,访问层头文件1个,库配置文件1个,中断文件2个。除了这9个文件外,在实际开发过程中用到各种外设时,需要使用相应的库文件。

? ? ? ? 以下翻译自文件中的简述:(翻译个毛,简述都是废话)

misc.c和misc.h:包含各种固件库函数(CMSIS 函数的附加组件)的所有函数原型。

stm32f10x_adc.c和stm32f10x_adc.h:包含 ADC 固件库的所有函数原型。(模数转换)

stm32f10x_bkp.c和stm32f10x_bkp.h:包含 BKP 固件库的所有函数原型。(备份数据)

stm32f10x_can.c和stm32f10x_can.h:包含 CAN 固件库的所有函数原型。(通信总线)

stm32f10x_cec.c和stm32f10x_cec.h:包含 CEC 固件库的所有函数原型。CEC是“消费者电子控制”?不懂......

stm32f10x_crc.c和stm32f10x_crc.h:依旧是废话。。。CRC:循环冗余校验,就是对数据进行校验。

stm32f10x_dac.c和stm32f10x_dac.h:文件里的简述都是一句话,不看了。用于数模转换。

stm32f10x_dbgmcu.c和stm32f10x_dbgmcu.h:应该是调试用的,原子哥也没用过。

stm32f10x_dma:DMA-直接存储器访问,数据吞吐。

stm32f10x_exti:外部中断。

stm32f10x_flash:操作闪存的。

stm32f10x_fsmc:FSMC(Flexible Static Memory Controller,可变静态存储控制器),吞吐数据。

stm32f10x_gpio:操作通用IO口

stm32f10x_i2c:IIC通信

stm32f10x_iwdg:独立看门狗

stm32f10x_pwr:功耗控制

stm32f10x_rcc:系统时钟

stm32f10x_rtc:实时时钟

stm32f10x_sdio:SD卡

stm32f10x_spi:SPI通信

stm32f10x_tim:定时器

stm32f10x_usart:串口

stm32f10x_wwdg:窗口看门狗

? ? ? ? 自用学习笔记,如有错误欢迎指正

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:48:39  更:2021-07-31 16:50:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/8 16:44:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码