首页 > 其他分享 >1. STM32结构简介

1. STM32结构简介

时间:2024-07-29 21:30:09浏览次数:18  
标签:Matrix 简介 总线 STM32 内核 Bus 时钟 外设 结构

image

上面就是stm32F103系列的结构图。

  1. 内核

image

在stm32芯片中,其资源分为内核以及外设两个部分,所谓内核相当于电脑的CPU,负责进行数据处理。以stm32F103系列为例,其内核采用Cortex-M3内核,该内核由Arm公司设计授权给ST公司进行制造生产。

  1. 总线结构
    image

总线(Bus)是指计算机组件间规范化的交换数据(data)的方式,即以一种通用的方式为各组件提供数据传送和控制逻辑。从另一个角度来看,如果说主板(Mother Board)是一座城市,那么总线就像是城市里的公共汽车(bus),能按照固定行车路线,传输来回不停运作的比特(bit)。这些线路在同一时间内都仅能负责传输一个比特。(摘自百度百科)

对于stm32来说,各个总线即为各个硬件外设与内核的公共通路,通过某种协议的规范,多个外设可通过一条总线与内核进行数据或者命令的交互。

  • ICode(命令总线):我们编译下载的代码会存放在stm32的flash区,flash属于Rom,但是可进行多次且速度较快的擦除写入,掉电后数据不会丢失。而代码中的命令就通过ICode总线从flash搬运到内核执行。
  • DCode(数据总线):在程序运行时,不仅有指令的运行,还有变量或者常量的写入与读取。对于常量一般存储在flash_Rom中,变量存储在图中的SRAM区中。而Dcode总线的作用就是实现内核与这些变量常量的交互,包括内核读取变量以及变量的写入。
  • System总线:System总线用来实现内核与外设寄存器的交互,通过System总线实现内核去配置外设寄存器来驱动外设。
  • DMA总线:略,用到时再学。

以上几条总线汇总至Bus-Matrix,Bus-Matrix的功能是总线仲裁,通过某种协议对汇总到总线上的数据进行分类,使得接入到Bus-Matrix上的总线可以分别读取属于自己的数据而不混淆,同时采用Bus-Matrix作为中介可以减少总线间的连接数量。若没有Bus-Matrix,那么不同总线间的交互需要额外连接更多的通路。

  • AHP System Bus(AHB 系统总线):用于内核与片上外设间的交流,其以时钟或者说频率的快慢分为两组,APB2总线中的最快时钟速度可达72MHz,可以驱动更高频率的外设,而APB1总线连接的外设的最快时钟仅有36MHz。
  • RCC(Reset & Clock Control):外设的复位以及时钟管理寄存器。与51不同的是,stm32外设的时钟处于能耗节约考虑,默认是关闭的。因此在使用某个外设之前,需要手动配置开启其时钟信号。控制外设时钟信号的就是RCC寄存器。
  • SDIO:外部SD扩展相关。

完结第一篇撒花QWQ。

标签:Matrix,简介,总线,STM32,内核,Bus,时钟,外设,结构
From: https://www.cnblogs.com/CrescentWind/p/18331123

相关文章

  • 线程参数传递 同一个结构体指针,并且要传递id(0-xx)的方法
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、代码示例?总结前言提示:这里可以添加本文要记录的大概内容:线程参数传递同一个结构体指针,并且要传递id(0-xx)的方法在创建线程时候可能会遇到不仅要传递全局唯一的结构体指针给线程,还......
  • [数据结构] 珂朵莉树
    介绍珂朵莉树,学名珂朵莉树,又学名老司机树($ODT$),常用来解决“区间推平”(把区间改为某一个数)等的操作,只适用于随机数据,可以定向卡掉;其实这玩意就是暴力,没啥可说的,分块都比不上她暴力;但人家毕竟是她,所以对于一些题还是有用的;实现只要你会$C++\STL$里的$set$,搞定她完......
  • 【数据结构】排序
    1.排序的概念及其运用1.1排序的概念排序:指的是将一组数据(通常是一个列表、数组或任何有限集合)按照某种特定的顺序重新排列的过程。这个特定的顺序可以是升序(从小到大)、降序(从大到小)或者根据自定义的规则进行排序。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的......
  • SQL Server简介
    一、SQLServer的历史SQLServer的起源可以追溯到20世纪80年代末。当时,微软公司与Sybase合作开发了一个关系数据库管理系统(RDBMS),这就是SQLServer的前身。最早的版本是针对OS/2操作系统开发的。随着时间的推移,微软逐渐在SQLServer的开发和维护中占据了主导地位,最终在1993年,......
  • C#接口,结构,枚举
    今日份主要内容:1.接口2.结构,可空类型Nullable3.新语法refstruct和refreturn4.枚举5.枚举类型作为位标志6.枚举练习,应用程序配置7.日期DateTime接口接口定义一套其它类实现它的规则。契约,一种合同。一种定义了一组相关方法、属性和事件的合同,用于实现类来遵循。接口:使......
  • 数据结构优化DP
    51nod-基因匹配+luogu-【模板】最长公共子序列本题重在转化。由于最长公共子序列的下标是一个最长上升子序列,所以我们可以考虑把数字映射成下标,有多个就要倒序把每个值映射成多个不同的值,因为一个数有多种下标都是可取的。51nod-3976-最长序列与基本问题相同,但是需要根据长度插......
  • 如何在ctypes中描述结构
    我的头文件中有以下代码:typedefstruct{void*Handle;}RESHANDLE,*PRESHANDLE;如何描述ctypes(Python)中的结构?以下是使用ctypes在Python中描述RESHANDLE结构的方法:importctypesclassRESHANDLE(ctypes.Structure):_fields_=[......
  • Mysql表结构同步存储过程(适用于模版表)
    Mysql表结构同步流水模版表新增字段需要同步到所有区域年份的流水表CREATEDEFINER=`root`@`%`PROCEDURE`SyncTableStructure`(INsourceTableVARCHAR(255),INtargetTableVARCHAR(255))BEGINDECLAREdoneINTDEFAULT0;DECLAREcolumnNameVARCHAR(255);......
  • 流程控制语句结构
    流程控制语句结构目录流程控制语句结构1.顺序结构定义与特点示例2.分支结构2.1.if-else语句2.2.switch语句3.循环结构1.for循环2.while循环3.do-while循环使用场景和注意事项4.跳转语句5.绘制程序流程图基本步骤常用符号示例工具1.顺序结构定义与特点定义:顺序结构是指程......
  • 循环结构
    while循环do···while循环for循环while循环while循环是最基本的循环while循环的结构while(布尔表达式){//循环内容}while循环的特点1.只要布尔表达式为true,循环就会一直执行下去2.我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环3.少部分......