STM32【3】芯片的底层组成概论

news/2025/2/26 16:25:57

关于单片机的组成

单片机的意思是,小小计算电脑,麻雀虽小,五脏俱全,里面包含了CPU,ROM,RAM,各种外设。
CPU地位最高,可以访问ROM和RAM,Flash,GPIO等外设,也就是ROM、RAM、Flash这些在CPU的眼里,地位是一样的。CPU访问外设是通过内存管理器来协调的。
在这里插入图片描述

关于地址空间

单片机设计的时候,给各个外设编好了地址号码,使其一一对应,cpu对这些外设的访问就是借助内存管理器实现的。
在这里插入图片描述

关于指令集

stm32芯片的单片机用的arm指令集,什么是指令集,就是比汇编还要底层的东西。
ARM芯片用的指令集是精简指令集RISC
有一下特点:

  • 对于内存只有读写指令
  • 对于数据的运算是在cpu内部实现的
  • 使用RISC指令的CPU复杂度小一点,容易设计
    例如下图的所示乘法
    ①读内存a,②读内存b③计算a*b④把结果写入到内存
    在这里插入图片描述

ARM内部的寄存器

一共16个寄存器,其中R0~R12是通用寄存器,R13是SP寄存器,R14是LD寄存器,R15是PC寄存器,还有一个XPSR:程序运行状态寄存器
在这里插入图片描述
![在这里插入图片描述


http://www.niftyadmin.cn/n/5868930.html

相关文章

面试基础----ReentrantLock vs Synchronized

ReentrantLock vs Synchronized:源码级解析与高并发场景下的锁博弈 引言:多线程编程中的锁为何重要? 业务背景:北京互联网大厂的高并发场景(如电商秒杀、支付交易、实时推荐系统)对线程安全和性能的极致要…

医疗UI的特殊法则:复杂数据可视化的“零错误”设计守则

在当今医疗技术日新月异的时代,医疗UI设计不仅关乎用户体验,更直接关联到患者的生命健康。尤其是在处理复杂数据时,如何确保可视化的准确性和无误性,成为医疗UI设计的一大挑战。以下,我们将深入探讨医疗UI在复杂数据可…

城电科技|会追日的智能花,光伏太阳花开启绿色能源新篇章

当艺术与科技相遇,会碰撞出怎样的火花?城电科技推出的光伏太阳花,以其独特的设计与智能化的功能,给出了答案。这款产品不仅具备太阳能发电的实用功能,更是一件充满科技属性的艺术性光伏产品,吸引了广泛关注…

如何去除word页眉上面的横线

问题:如何去除页眉上面的横线 也就是字上面的这一条线 解决方法: 双击选中,然后光标会定位到页眉上,点击下图中的无格式,就可以消除了 消除后的情况如下

FFMpegCore:.NET 中进行音视频处理解决方案

简介 FFMpegCore 是一个基于 .NET Standard 的 FFMpeg/FFProbe 封装库,用于轻松将媒体分析和转换功能集成到应用程序中。它支持同步和异步调用。 安装和配置 1. 安装库 Install-Package FFMpegCoreFFMpegCore 库本身不包含 FFmpeg 可执行文件,因此需…

ChatGLM2-6B如何从输入到输出-代码解析(二)

出发点 上一篇解析了Chatglm2-6b的模型架构,并和Chatglm-6b进行对比,但是留下了几个问题(哭)这一篇的目的是讲明白attention和rotaryEmbedding,解决问题,并实现整体目标,完全替代modeling_chat…

C++学习之C概述、数据类型、进制转换与数据存储

一.C概述 1.什么是C语言 2.C语言发展历史 3.编写C程序--环境搭建 4.编写C程序-第一个C程序 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> void test01() { system("cls"); printf("…

idea导入新项目pom报错设置

修改项目中各module的java版本 修改maven 执行的java版本 打开Product Structrue 修改一遍module的java版本 清缓存重启idea 先 mvn clean 再刷包下载 以上不生效将项目从maven中移除再引入 操作步骤&#xff1a; 右键项目根路径的pom.xml文件&#xff0c;maven中ignore…