文章目录

  • 一些问题
  • 学习笔记
    • stm32F1
    • stm32F4
  • 简介
  • Cortex内核
  • Cortex-M4内核
  • 库开发与寄存器开发的关系
  • STM32 固件库与 CMSIS 标准
  • 内部结构
  • 最小系统

小马哥四轴源码学习

一些问题

下载问题总结
串口下载问题
换芯片编译与下载

学习笔记

stm32F1

  • 软件下载安装
  • 新建工程
  • 点灯!(GPIO)
    按键
  • 寄存器映射
  • 时钟系统
  • systick定时器
  • 端口复用和重映射
  • 串口
  • 串口试验函数分析
  • 中断
  • 看门狗
  • 通用定时器

☆ 阶段性总结笔记一

stm32F4

GPIO

简介

STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核。
按内核架构分为不同产品:
主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)

STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:

部分 含义
STM32 STM32代表ARM Cortex-M内核的32位微控制器。
F F代表芯片子系列。
103 103代表增强型系列。
R R这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚,I代表176脚。
B B这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表512K字节Flash,G代表1M字节Flash。
T T这一项代表封装,其中H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。
6 6这一项代表工作温度范围,其中6代表-40——85℃,7代表-40——105℃。

Cortex内核

Cortex-M4采用ARMv7-ME架构

ARMv7架构定义了三大分工明确的系列:
“A”系列:面向尖端的基于虚拟内存的操作系统和用户应用
“R”系列:针对实时系统;
“M”系列:对微控制器。

Cortex-M3采用ARMv7-M架构,Cortex-M0采用ARMv6-M架构,Cortex-A5/A8采用ARMv7-A架构, 传统的ARM7系列采用的是ARMv4T架构。
Cortex逐渐替代ARM

Cortex-M4内核

库开发与寄存器开发的关系

stm32提供了一个官方固件库,固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。
这个很容易理解,就好像c++里一开始要自己写字符串操作函数,而官方直接把这些函数封装起来,就不需要我们来写,直接调用就行了

STM32 固件库与 CMSIS 标准


CMSIS 分为 3 个基本功能层:

  1. 核内外设访问层:ARM 公司提供的访问,定义处理器内部寄存器地址以及功能函数。
  2. 中间件访问层:定义访问中间件的通用 API。由 ARM 提供,芯片厂商根据需要更新。
  3. 外设访问层:定义硬件寄存器的地址以及外设的访问函数。
    从图中可以看出,CMSIS 层在整个系统中是处于中间层,向下负责与内核和各个外设直接打交
    道,向上提供实时操作系统用户程序调用的函数接口。如果没有 CMSIS 标准,那么各个芯片公
    司就会设计自己喜欢的风格的库函数,而 CMSIS 标准就是要强制规定,芯片生产公司设计的库
    函数必须按照 CMSIS 这套规范来设计。
    芯片资源
    ST MCU选型手册 查芯片型号

内部结构


内核

总线

存储器

IO口

外设接口

最小系统


供电


复位

boot模式

后备电池

晶振(两个)
串口下载

[学习笔记]stm32相关推荐

  1. 嵌入式学习笔记——STM32的USART通信概述

    文章目录 前言 常用通信协议分类及其特征介绍 通信协议 通信协议分类 1.同步异步通信 2.全双工/半双工/单工 3.现场总线/板级总线 4. 串行/并行通信 5. 有线通信.无线通信 STM32通信 ...

  2. LwIP学习笔记——STM32 ENC28J60移植与入门

    0.前言 去年(2013年)的整理了LwIP相关代码,并在STM32上"裸奔"成功.一直没有时间深入整理,在这里借博文整理总结.LwIP的移植过程细节很多,博文也不可能一一详解个别 ...

  3. 学习笔记——stm32串口中断函数的逻辑理解

    这片文章主要是讲解原子给的代码里面的串口中断的中断函数,前面是我个人的学习路径. 关于stm32串口的学习,主要分为以下几个点 1.USART的功能和内部结构. 功能包括同步.异步模式.双工通信.半工 ...

  4. STM32 FSMC学习笔记+补充(LCD的FSMC配置)

    STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD 转载于:https://www.cnblogs.com/LittleTi ...

  5. 嵌入式学习笔记——ADC模数转换器

    ADC模数转换器 前言 ADC介绍 ADC概述 ADC的数量 ADC的特性 ADC框图 芯片外部框图 芯片内部框图 转换部分框图 状态输出部分 条件触发框图 寄存器介绍 编程思路 模式选择 规则通道的 ...

  6. 立创梁山派学习笔记——GPIO输出控制

    梁山派 前言 开发板简介 GD32F407ZGT6官方资源 数据手册 1.系统框图 2. 引脚复用表 3.命名规则 4.其他 用户手册 固件库与PACK包 开发环境搭建 立创官方的资料包 资料齐活,开 ...

  7. ENC28J60学习笔记——第1部分

    0.相关资料     相关资料中包括其他精彩博文和代码仓库     [嵌入式 TCP IP 资料汇总]     [ENC28J60学习笔记--索引] [第1部分][第2部分][第3部分][第4部分] ...

  8. ENC28J60学习笔记——第4部分

    0.相关资料     相关资料中包括其他精彩博文和代码仓库     [嵌入式 TCP IP 资料汇总]     [ENC28J60学习笔记--索引] [第1部分][第2部分][第3部分][第4部分] ...

  9. ENC28J60学习笔记——第2部分

    0.相关资料     相关资料中包括其他精彩博文和代码仓库     [嵌入式 TCP IP 资料汇总]     [ENC28J60学习笔记--索引] [第1部分][第2部分][第3部分][第4部分] ...

最新文章

  1. 中国增速第一!《全球数字经济白皮书》发布
  2. NLP领域的ImageNet时代:词嵌入已死,语言模型当立
  3. ExtJs之Ext.grid.GridPanel(部分未完)
  4. c语言十万以内超级素数,用C语言求素数的优化
  5. 经典C语言程序100例之四四
  6. 趋势交易 高 更高_2020年为开发商带来什么,以及更多的行业趋势
  7. 文科本二计算机类大学排名,全国二本大学排名文科分数线
  8. 走出海量数据及访问量压力困境
  9. Linux的使用_尚硅谷视频学习笔记
  10. IT英语4-计算机英语缩写术语
  11. 基于python的交通_基于Python的交通流数据清洗
  12. 如何解决Worm.Win32.AutoRun.bqn(文件夹改exe病毒)
  13. ITSM系统核心流程
  14. laravel mysql 事务_laravel框架中的MySQL事务处理 阿星小栈
  15. 自定义mvc框架复习(crud)
  16. C# 实现实时网速
  17. spa项目开发首页导航左侧菜单
  18. Quality-Estimation0 (翻译质量评价-使用 BERT 特征训练 QE 模型)
  19. Inventor 2020 安装教程
  20. MeterSphere开发者手册

热门文章

  1. 多线程下使用Jedis
  2. 对DbRuleAuthorizationProvider的修改
  3. 数据库索引背后的数据结构
  4. Android Studio 使用Lambda
  5. 记录自定义的代码片段位置
  6. 在PHP中如何使用消息列队
  7. Nagios/Postfix 转发警报邮件到Office365
  8. Exchange server 2003迁移到2010之升级默认地址簿及地址策略
  9. 最简单的Evernote,最专业的活用方法 by 电脑玩物站长
  10. C#3.0新特性小结(2)