【学习笔记】STM32固件库内部结构及功能简介

2023-05-16

本文为【150集-野火F103霸道/指南者视频教程】入门篇的学习笔记
原视频:P16 初识STM32固件库—我们认为固件库应该是什么样子的

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、 FSMC 
stm32f10x_ xx.c: 外设的驱动函数库文件
stm32f10x__xx.h:存放外设的初始化结构体,外设初始化结构体成员的参数列表,外设固件库函数的声明

4. 内核相关的

CMSIS - Cortex 微控制器软件接口标准
core_cm3.h:实现了内核里面外设的寄存器映射
core_ _cm3.c .
NVIC(嵌套向量中断控制器)、sysTick(系统滴答定时器)
misc.h
misc.c

5. 头文件的配置文件

stm32f10x_ _conf.h: 头文件的头文件
/ /stm32f10x_ _usart.h
/ /stm32f10x_ _i2c.h
/ /stm32f10x_ spi.h
/ /stm32f10x_ adc.h
/ /stm32f10x_ fsmc.h

6. 专门存放中断服务函数的c文件

stm32f10x_ it.c
stm32f10x_ it.h
中断服务函数你可以随意放在其他的地方,并不是一定要放在stm32f10x_it.c
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【学习笔记】STM32固件库内部结构及功能简介 的相关文章

  • 对项目的梳理、流程和总结

    过程 我在制作 中国汽车技术研究中心 的一个演讲PPT前 xff0c 也已经有第一版的基础了 xff0c 不过 xff0c 第一版的PPT客户并不满意 xff0c 因为这个风格不是客户想要的 xff0c 所以客户对第一版的PPT并不是很满意
  • 【ROS】xxx is neither a launch file in package xxx nor is xxx a launch file name……解决

    在ros中新增加一个功能包时 xff0c 如果没有处理得当的话 xff0c 在执行时很有可能报如下错误 xff1a xxx is neither a launch file in package xxx nor is xxx a launc
  • FreeRTOS——流和消息缓冲区

    FreeRTOS 基础系列文章 基本对象 FreeRTOS 任务 FreeRTOS 队列 FreeRTOS 信号量 FreeRTOS 互斥量 FreeRTOS 任务通知 FreeRTOS 流和消息缓冲区 FreeRTOS 软件定时器 Fre
  • FreeRTOS——静态与动态内存分配

    FreeRTOS 基础系列文章 基本对象 FreeRTOS 任务 FreeRTOS 队列 FreeRTOS 信号量 FreeRTOS 互斥量 FreeRTOS 任务通知 FreeRTOS 流和消息缓冲区 FreeRTOS 软件定时器 Fre
  • CAS 6.5.5项目初始化搭建运行

    一 项目背景介绍 公司项目重构 xff0c 决定使用CAS中央认证系统 在GitHub上找到最新的稳定版本6 5 5 CAS项目在5 x版本的运行环境是jdk8 xff0c 使用maven做的项目管理 6 x使用的是jdk11作为运行环境
  • GoogleTest中gMock的使用

    GoogleTest中的gMock是一个库 xff0c 用于创建mock类并使用它们 当你编写原型或测试 prototype or test 时 xff0c 完全依赖真实对象通常是不可行或不明智的 not feasible or wise
  • 基于Autoware制作高精地图(一)

    基于Autoware制作高精地图 xff08 一 xff09 开始进入正题 xff0c 也是最近在忙的一件事 xff0c 制作高精地图 高精地图的制作大概分为以下四个流程 xff08 不一定完全正确 xff09 xff1a 1 构建点云地图
  • Ubuntu sh文件编写,开多终端,自动读取密码

    Ubuntu sh文件编写 xff0c 开多终端 xff0c 自动读取密码 开启多个终端自动读取密码 在最近的项目调试中经常需要开多个终端启动多个launch xff0c 这样的操作多了难免会感到烦躁并且时间一长再回去使用一些功能包的时候就
  • 控制理论——自动控制原理若干概念

    1 对自动控制系统的基本要求 稳定性 被控量因扰动偏离期望值后 xff0c 经过过渡过程可以恢复到原来的期望值状态 快速性 包含两方面 xff1a 过渡过程的时间 最大超调量 xff08 震荡幅度 xff09 准确性 指稳态误差 xff1a
  • Optitrack下通过mavros实现offbord控制

    参考文章 xff1a 树莓派通过MAVROS与Pixhawk PX4通信 PX4使用Optitrack进行室内定位 通过optitrack与妙算连接在同一局域网下 xff0c 关闭防火墙 xff0c 并设置刚体发布 vrpn安装 cd ca
  • 【场景图生成】Unbiased Scene Graph Generation from Biased Training

    文章下载地址 xff1a https arxiv org pdf 2002 11949 pdf 代码地址 xff1a GitHub KaihuaTang Scene Graph Benchmark pytorch 发表地点 xff1a CV
  • 【场景图生成】Graphical Contrastive Losses for Scene Graph Parsing

    文章下载地址 xff1a Graphical Contrastive Losses for Scene Graph Parsing 代码地址 xff1a https github com NVIDIA ContrastiveLosses4V
  • jquery无法获取到textarea中的值详解

    问题描述 xff1a 今天在springboot中jquery读取前端的值通过jquery打包为json传入后端 xff0c 发现其中textarea区域中的内容无法获取 解决办法 xff1a 首先看你的textarea中是否有 name属
  • 阿里云大学——Java语言基础自测考试 - 初级难度

    1 假设有如下程序 xff1a span class token keyword public span span class token keyword class span span class token class name Dem
  • could not transfer artifact org.springframework.boot:spring-boot-starter-parent

    Springboot异常 could not transfer artifact org springframework boot spring boot starter parent pom 2 3 0 RELEASE from to c
  • 阿里云ECS搭建个人简历网站

    能在自己的网站上搭建简历是不是很酷 xff0c 今天我就教大家如何在自己的服务器上搭建一个个人简历网站 因为主流网站的搭站环境是LAMP环境 xff0c 所以第一步就是先去把服务器环境 一 修改为LAMP环境 停止ECS实例运行 点击使用就
  • GitHub加速神器FastGithub的使用

    clone GitHub上的项目时经常超时 pull或push的时候也有类似情况 有时GitHub也打不开 xff0c 这里推荐GitHub上的一个工具FastGithub xff0c 开启它后 xff0c 可大大减少超时情况的发生 这里介
  • 阿里云ECS打造属于自己的WEB——IDE编程环境

    首先感谢 64 1430059860老哥的指导 xff0c 在阿里的官方视频卡着以后就一直进去入不了下一步了 xff0c 特向我的组长老哥带带 xff0c 最终搭建成功 停止实例选择更换操作系统 xff08 如果使用centoS建议更换ub
  • 给阿里云服务器装一个图形化界面——Gnome

    我这里使用的是ubantu系统 第一步 xff1a apt get update更新一下源第二步 下载Gnome图形化界面 apt get install gnome shell ubuntu gnome desktop第三步 下载完成 a
  • 0基础使用阿里云打造自己的私人云盘

    平时我们使用云盘例如有百度云 xff0c 蓝奏云 xff0c 小米云盘 xff0c 虽然给我们带来不少的便利 xff0c 但是也存在私人数据泄露和文件下载速度过慢的风险 xff0c 所以 xff0c 打造一款属于自己的私人云盘是一个很好的选

随机推荐