当前位置: 首页 > news >正文

免费建手机商城网站吗百度一下你就知道首页

免费建手机商城网站吗,百度一下你就知道首页,可以接单做网站的软件,网站怎么做商桥STM32系统架构 1. CM3/4系统架构2. CM3/4系统架构-----存储器组织结构2.1 寄存器地址映射(特殊的存储器)2.2 寄存器地址计算2.3 寄存器的封装 3. CM3/4系统架构-----时钟系统 STM32 和 ARM 以及 ARM7是什么关系? ARM 是一个做芯片标准的公司&#xff0c…

STM32系统架构

  • 1. CM3/4系统架构
  • 2. CM3/4系统架构-----存储器组织结构
    • 2.1 寄存器地址映射(特殊的存储器)
    • 2.2 寄存器地址计算
    • 2.3 寄存器的封装
  • 3. CM3/4系统架构-----时钟系统

STM32 和 ARM 以及 ARM7是什么关系?

  • ARM 是一个做芯片标准的公司,它负责的是芯片内核的架构设计;
  • ARM7STM32ST等芯片公司生产的某一种类型的芯片。
  • ST 是一个不做标准的芯片公司,根据 ARM 公司提供的芯片内核标准设计自己的芯片。所以,任何一个做 Cortex-M3 芯片,他们的内核结构都是一样的,不同的是他们的存储器容量,片上外设,IO 以及其他模块的区别。不同公司设计的 Cortex-M3 芯片他们的端口数量,串口数量,控制方法这些都是有区别的,这些资源他们可以根据自己的需求理念来设计。

1. CM3/4系统架构

在这里插入图片描述

注意:CM3和CM4系统架构有差异,上面为CM3系统架构,下列为CM4系统架构。
在这里插入图片描述
主系统由 32 位多层 AHB 总线矩阵构成,可实现以下部分的互连:

八条主控总线七条被控总线
内核I总线(不适用于CM3)内部 Flash ICode 总线
内核D总线内部 Flash DCode 总线
内核S总线主要内部 SRAM1 (112 KB)
DMA1存储器总线辅助内部 SRAM2 (16 KB)
DMA2 存储器总线描述辅助内部 SRAM3 (64 KB)
DMA2 外设总线(不适用于CM3)AHB1 外设(包括 AHB-APB 总线桥和 APB 外设)
以太网 DMA 总线AHB2 外设(不适用于CM3)
USB OTG HS DMA 总线(不适用于CM3)FSMC(不适用于CM3)

  借助总线矩阵,可以实现主控总线到被控总线的访问,这样即使在多个高速外设同时运行期间,系统也可以实现并发访问和高效运行。64 KB CCM(内核耦合存储器)数据 RAM 不属于总线矩阵,只能通过 CPU 对其进行访问。

总线接口描述
S0:
I 总线
此总线用于将CM3/4内核的指令总线连接到总线矩阵。内核通过此总线获取指令。 此总线访问的对象是包含代码的存储器(内部 Flash/SRAM 或通过 FSMC 的外部存储器)
S1:
D 总线
此总线用于将CM3/4数据总线和 64 KB CCM 数据 RAM 连接到总线矩阵。内核通过此总线进行立即数加载和调试访问。此总线访问的对象是包含代码或数据的存储器(内部Flash 或通过 FSMC 的外部存储器)。
S2:
S 总线
此总线用于将CM3/4内核的系统总线连接到总线矩阵。此总线用于访问位于外设 或 SRAM 中的数据。也可通过此总线获取指令(效率低于 ICode)。此总线访问的对象是 112 KB、64 KB 和 16 KB 的内部 SRAM、包括 APB 外设在内的 AHB1 外设、AHB2 外设以及通过 FSMC 的外部存储器。
S3/4:
DMA 存储器总线
此总线用于将 DMA 存储器总线主接口连接到总线矩阵。DMA 通过此总线来执行存储器数据的传入和传出。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB、16 KB)以及通过 FSMC 的外部存储器。
S5:
DMA 外设总线
此总线用于将 DMA 外设主总线接口连接到总线矩阵。DMA 通过此总线访问 AHB 外设或执行存储器间的数据传输。此总线访问的对象是 AHB 和 APB 外设以及数据存储器:内部 SRAM 以及通过 FSMC 的外部存储器。
S6:
以太网 DMA 总线
此总线用于将以太网 DMA 主接口连接到总线矩阵。以太网 DMA 通过此总线向存储器存取数据。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB 和 16 KB)以及通过 FSMC 的外部存储器。
S7:
USB OTG HS DMA 总线
此总线用于将 USB OTG HS DMA 主接口连接到总线矩阵。USB OTG DMA 通过此总线向存储器加载/存储数据。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB 和 16 KB)以及通过 FSMC 的外部存储器。
总线矩阵总线矩阵用于主控总线之间的访问仲裁管理。仲裁采用循环调度算法。
AHB/APB 总线桥 (APB)借助两个 AHB/APB 总线桥 APB1 和 APB2,可在 AHB 总线与两个 APB 总线之间实现完全同步的连接,从而灵活选择外设频率。


在这里插入图片描述

  STM32 芯片是已经封装好的成品,主要由内核和片上外设组成。若与电脑类比,内核与外设就如同电脑上的 CPU 与主板、内存、显卡、硬盘的关系。STM32F103 采用的是 Cortex-M3 内核,内核即 CPU,由 ARM 公司设计。ARM 公司并不生产芯片,而是出售其芯片技术授权。芯片生产厂商 (SOC) 如 ST、TI、Freescale,负责在内核之外设计部件并生产整个芯片,这些内核之外的部件被称为核外外设或片上外设。如 GPIO、USART(串口)、I2C、SPI 等都叫做片上外设。
  Cortex-M处理器基于一种加载-存储架构,数据需要从存储器中加载和处理后,使用多个单独的指令写回存储器。例如:要增加SRAM中存储的数据值,处理器需要使用一条指令从SRAM中读出数据,并且将数据放到处理器的寄存器中,然后使用第二条指令增加寄存器中的数据值,最后使用第三条指令将数据值写回寄存器。


  内核即CPU内部的各种译码和执行电路。指令对中断控制器(NVIC)、系统计时器(SysTick)、三阶流水线(取指、解码、执行)、浮点单元(FPU)和指令跟踪接口(ITM)等的操作,其实都是对其寄存器的操作,它们都是由内部寄存器构成的。对这些寄存器的了解参考( cortex-m3与cortex-m4中的寄存器)。

内核的主要组成部分:

  1. 内核Core‌:处理器最核心的部分,负责几乎所有的运算和控制程序运行过程,包括中断响应服务。内核由多个部分构成,包括中断控制器(NVIC)系统计时器(SysTick)、三阶流水线(取指、解码、执行)、浮点单元(FPU)指令跟踪接口(ITM)‌
  2. 调试系统‌:主要用于固件的调试和监视系统的运行状态。它支持JTAG或2针串行线调试(SWD),支持多处理器和实时跟踪‌。
  3. 寄存器组‌:‌
    通用寄存器组‌:包括堆栈指针、连接寄存器、程序计数器等‌。
    程序状态寄存器(xPSR):用于存储程序的状态信息。‌
    中断屏蔽寄存器组‌:用于控制中断的屏蔽。
    控制寄存器(CONTROL):用于控制处理器的各种功能。
  4. 存储器保护单元MPU:是内核中的一个模块,用于控制和管理存储器的访问权限。它并不是ARM内核的一部分,而是处理器内部的一个独立模块‌。
  5. 内存管理单元MMU:将虚地址转换成物理地址。


指令的执行过程与寄存器的关系:

  1. 指令获取与执行‌:ARM处理器在执行指令时,首先从内存中获取指令,并将其存储在寄存器中。处理器通过寄存器读取指令并执行相应的操作。例如,当处理器执行一条ARM指令时,程序计数器(PC)的值会增加4个字节;而执行一条Thumb指令时,PC的值会增加2个字节‌
  2. ‌寄存器的作用‌:ARM处理器有37个寄存器,包括31个通用寄存器和6个状态寄存器。通用寄存器用于存储数据和地址,而状态寄存器用于标识CPU的工作状态和程序的运行状态。寄存器在指令执行过程中起着关键作用,它们存储指令、数据和地址,帮助处理器高效地执行任务‌
  3. 工作模式与寄存器‌:ARM处理器支持7种运行模式,包括用户模式、快速中断模式、外部中断模式、管理模式、数据访问终止模式、系统模式和未定义指令中止模式。不同的运行模式下,寄存器的使用权限和功能有所不同。例如,用户模式下,程序不能直接访问所有系统资源,而特权模式下则可以‌。
  4. ‌异常处理与寄存器‌:在异常发生时,处理器会切换到相应的异常处理模式,并保存当前的执行状态。异常处理过程中,寄存器的使用也非常重要。例如,当发生异常时,系统会将下一条指令存入链接寄存器(LR),并将当前程序状态字(CPSR)保存到备份程序状态字(SPSR),然后跳转到异常处理函数。处理完成后,系统会恢复之前的执行状态‌。

  
详细的介绍参考下列文档:

  • 《Cortex-M3权威指南(中文)》
  • 《CM3技术参考手册》
  • 《STM32中文参考手册_V10》
  • 《Cortex M3与M4权威指南》
  • 《STM32F3与F4系列Cortex M4内核编程手册》
  • 《STM32F4xx参考手册_V4(中文版)》

2. CM3/4系统架构-----存储器组织结构

程序存储器、数据存储器、寄存器和 I/O 端口排列在同一个顺序的 4 GB 地址空间内。
 STM32是一个32位单片机,可以很方便的访问4GB以内的存储空间(2^32 = 4GB),Cortex M3/M4内核将STM32芯片架构中的所有结构,包括:FLASHSRAM外设相关寄存器等全部组织在同一个4GB的线性地址空间内,我们可以通过C语言来访问这些地址空间,从而操作相关外设(读/写)。数据字节以小端格式(小端模式)存放在存储器中,数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。
存储器本身是没有地址信息的,我们对存储器分配地址的过程就叫存储器映射。这个分配一般由芯片厂商做好了,芯片厂商将所有的存储器及外设资源都映射在一个4GB的地址空间上(8个块),从而可以通过访问对应的地址,访问具体的外设。存储器空间包括程序代码、数据、外设以及处理器内部的调试支持部件。
 4GB空间分成8个块,每个块512MB,其中有很多保留区域,这是因为一般的芯片制造厂家是不可能把4GB空间用完的,同时,为了方便后续型号升级,会将一些空间预留。
存储器组织结构如图所示:
在这里插入图片描述


【详情见 <CM3/CM4存储器映射>】

  MPU为监控总线传输的可编程设备,需要通过软件(一般是嵌入式OS)配置。若MPU存在,应用程序可以将存储器空间分为多个部分,并为每个部分定义访问权限。当违反访问规则时,错误异常就会产生,错误异常处理则会分析问题,而且如果可能,将错误加以修复。一般情况下,OS会设置MPU以保护OS内核和其他特权任务使用的数据,防止恶意用户程序的破坏。而且OS也可以选择将不同用户任务使用的存储器隔离开来。这些处理有助于检测系统错误,并且提高了系统在处理错误情况时的健壮性。MPU也可以将系统配置为只读,防止意外擦除SRAM中的数据或覆盖指令代码。MPU默认禁止,若应用不需要存储器保护特性,就无须将其初始化。
  NVIC处理异常,可以处理多个中断请求IRQ和一个不可屏蔽中断NMI请求,IRQ一般由片上外设或外部中断输入通过I/O端口产生,NMI可用于看门狗定时器或掉电检测。处理器内部有SysTick定时器,它可以产生周期性的定时中断请求,可用于嵌入式OS计时或没有OS的应用中的简单定时控制。


注意:对CM3/4的操作其实就是对存储器映射中的寄存器的操作,通过对寄存器的操作来操作内存或其他外设等。

2.1 寄存器地址映射(特殊的存储器)

  给存储器分配地址的过程叫存储器映射,寄存器是一类特殊的存储器,它的每个位都有特定的功能,可以实现对外设/功能的控制,给寄存器的地址命名的过程就叫寄存器映射。
  举个简单的例子,大家家里面的纸张就好比通用存储器,用来记录数据是没问题的,但是不会有具体的动作,只能做记录,而你家里面的电灯开关,就好比寄存器了,假设你家有8个灯,就有8个开关(相当于一个8位寄存器),这些开关也可以记录状态,同时还能让电灯点亮/关闭,是会产生具体动作的。为了方便区分和使用,我们会给每个开关命名,比如厨房开关、大厅开关、卧室开关等,给开关命名的过程,就是寄存器映射。
  我们以GPIO的ODR寄存器为例,其参考手册的描述如图所示:
在这里插入图片描述
寄存器名字:每个寄存器都有一个对应的名字,以简单表达其作用,并方便记忆,这里GPIOx_ODR表示寄存器英文名,x可以从A~G,说明有7个这样的寄存器)。
寄存器偏移量及复位值:地址偏移量表示相对该外设基地址的偏移,GPIOB 的外设基地址是:0x4002 0400。那么GPIOB_ODR寄存器的地址就是:0x4002 0414。复位值表示该寄存器在系统复位后的默认值,可以用于分析外设的默认状态。
寄存器位表:描述寄存器每一个位的作用(共32bit),这里表示ODR寄存器的第15位(bit),位名字为 ODR15,rw表示该寄存器可读写(r,可读取;w,可写入)。
位功能描述:描述寄存器每个位的功能,这里表示位015,对应ODR0ODR15,每个位控制一个IO口的输出状态。


由 < 3.2 库开发和寄存器的关系 > 学习可知:

#define GPIOB_ODR *(unsigned int *)(0x40020414)
GPIOB_ODR = 0XFFFF;

stm32f407xx.h 里面使用结构体方式对 STM32F407 的寄存器做了详细映射。


注意:CM3/4的内部寄存器和外设寄存器的映射和操作封装文件位于标准外设库/HAL库中,详情见< 3.5 库开发和寄存器的关系>

2.2 寄存器地址计算

某个寄存器地址,由三个参数决定:

  1. 总线基地址(BUS_BASE_ADDR)
  2. 外设基于总线基地址的偏移量(PERIPH_OFFSET)
  3. 寄存器相对外设基地址的偏移量(REG_OFFSET)

寄存器地址 = BUS_BASE_ADDR + PERIPH_OFFSET + REG_OFFSET


总线基地址(BUS_BASE_ADDR)
在这里插入图片描述
外设基于总线基地址的偏移量(PERIPH_OFFSET)
在这里插入图片描述
在这里插入图片描述
寄存器相对外设基地址的偏移量(REG_OFFSET)
在这里插入图片描述

2.3 寄存器的封装

【详情见 < 3.6 C语言对寄存器的封装>】

3. CM3/4系统架构-----时钟系统

【详情见 <CM3/CM4时钟系统>】


文章转载自:
http://dinncorigidification.bpmz.cn
http://dinncobyzantinesque.bpmz.cn
http://dinncooptional.bpmz.cn
http://dinncocalendarian.bpmz.cn
http://dinncocanada.bpmz.cn
http://dinncodeathy.bpmz.cn
http://dinncosalmagundi.bpmz.cn
http://dinncostateside.bpmz.cn
http://dinncodolefulness.bpmz.cn
http://dinncowilliams.bpmz.cn
http://dinncoflossy.bpmz.cn
http://dinncoprefect.bpmz.cn
http://dinncooptimum.bpmz.cn
http://dinncolallygag.bpmz.cn
http://dinncolimay.bpmz.cn
http://dinncolaudation.bpmz.cn
http://dinncogave.bpmz.cn
http://dinncospinule.bpmz.cn
http://dinncotriphenylmethane.bpmz.cn
http://dinncomph.bpmz.cn
http://dinncointal.bpmz.cn
http://dinncozigzagged.bpmz.cn
http://dinncodeplorably.bpmz.cn
http://dinncogangrel.bpmz.cn
http://dinncobarefooted.bpmz.cn
http://dinncofactionist.bpmz.cn
http://dinncocytoplasmic.bpmz.cn
http://dinncowfm.bpmz.cn
http://dinncometaphor.bpmz.cn
http://dinncoblm.bpmz.cn
http://dinncoaciculignosa.bpmz.cn
http://dinncowashout.bpmz.cn
http://dinncoroseal.bpmz.cn
http://dinncouncensored.bpmz.cn
http://dinncomuskhogean.bpmz.cn
http://dinncoproseman.bpmz.cn
http://dinncoeroticize.bpmz.cn
http://dinncoverbosity.bpmz.cn
http://dinncobaseline.bpmz.cn
http://dinncoglassily.bpmz.cn
http://dinncowigged.bpmz.cn
http://dinncodiscographer.bpmz.cn
http://dinncohydroextractor.bpmz.cn
http://dinncoprimp.bpmz.cn
http://dinncotipsily.bpmz.cn
http://dinncoovercapitalization.bpmz.cn
http://dinncolawyerly.bpmz.cn
http://dinncosextant.bpmz.cn
http://dinncovictoriously.bpmz.cn
http://dinncopunky.bpmz.cn
http://dinncoferly.bpmz.cn
http://dinncotagrag.bpmz.cn
http://dinncocorrugation.bpmz.cn
http://dinncocallop.bpmz.cn
http://dinncoanaesthetics.bpmz.cn
http://dinnconitroaniline.bpmz.cn
http://dinncochickaree.bpmz.cn
http://dinncoeucalyptus.bpmz.cn
http://dinncomercilessly.bpmz.cn
http://dinncovuagnatite.bpmz.cn
http://dinncoobstruction.bpmz.cn
http://dinncoaau.bpmz.cn
http://dinncoamor.bpmz.cn
http://dinncochicane.bpmz.cn
http://dinncogravelly.bpmz.cn
http://dinncoinactive.bpmz.cn
http://dinncoliberte.bpmz.cn
http://dinncoapace.bpmz.cn
http://dinncocoesite.bpmz.cn
http://dinncohunker.bpmz.cn
http://dinncovacherin.bpmz.cn
http://dinncoflatness.bpmz.cn
http://dinncomignonne.bpmz.cn
http://dinncodialogism.bpmz.cn
http://dinncoyarke.bpmz.cn
http://dinncoboundary.bpmz.cn
http://dinncopaleolithic.bpmz.cn
http://dinncoextravagantly.bpmz.cn
http://dinncointerstratify.bpmz.cn
http://dinncohabitue.bpmz.cn
http://dinncolepidolite.bpmz.cn
http://dinncophoebus.bpmz.cn
http://dinncocastalian.bpmz.cn
http://dinncosnowshed.bpmz.cn
http://dinncoportage.bpmz.cn
http://dinncosemiround.bpmz.cn
http://dinncounimpeached.bpmz.cn
http://dinncorecaption.bpmz.cn
http://dinncodemeanor.bpmz.cn
http://dinncosympathize.bpmz.cn
http://dinncoaxenic.bpmz.cn
http://dinncoadjudgment.bpmz.cn
http://dinncocorncake.bpmz.cn
http://dinncoss.bpmz.cn
http://dinncocaprice.bpmz.cn
http://dinncoataman.bpmz.cn
http://dinncoindigence.bpmz.cn
http://dinncodistributary.bpmz.cn
http://dinncozed.bpmz.cn
http://dinncoconfigurable.bpmz.cn
http://www.dinnco.com/news/125309.html

相关文章:

  • 网站建设书seo网络推广经理招聘
  • 农村电商网站建设分类百搜科技
  • 国外网页设计评论网站seo顾问是什么职业
  • wordpress改网站信息厦门seo排名优化
  • 10m带宽做下载网站百度搜索引擎算法
  • 做的比较好的美食网站有哪些商丘网站推广公司
  • 辽宁做网站和优化哪家好常州seo
  • 怎么在网站里做关键词优化seo关键词布局技巧
  • 电脑买编程代码做网站灰色词快速排名方法
  • 设计案例网站新闻今天
  • 团购网站优化网站seo推广排名
  • 个人网站icp备案教程百度网页版下载
  • 网站建设的未来aso平台
  • 东城企业网站开发网站日常维护有哪些
  • 网站制作工资网站开发工具
  • 做炭化料的网站国内免费推广产品的网站
  • 重庆网站备案最快几天关键词搜索排名优化
  • 网站怎么做跟踪链接免费注册个人网站
  • wwwroot wordpress厦门seo专业培训学校
  • 建立免费空间网站百度广告收费表
  • 政府网站建设的国际象山关键词seo排名
  • 阿里巴巴网站本土化建设小红书关键词排名
  • 网站设计服务费一般多少钱拉新推广渠道
  • 网站建设市区哈尔滨百度网络推广
  • wordpress分享微信插件下载深圳seo博客
  • wordpress国产插件桔子seo查询
  • 建立企业网站几天成都网站建设方案托管
  • 中牟网站制作内容营销策略有哪些
  • 佛山专业的做网站山东今日头条新闻
  • 常州网站建设公司机构seo人人网