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

STM32什么是寄存器

提示:文章

文章目录

  • 前言
  • 一、背景
  • 二、
    • 2.1
    • 2.2
  • 三、
    • 3.1
  • 总结

前言

前期疑问:
1、什么是寄存器?
答:在4GB的地址空间中,512MB的block2上,每4个字节组成32位,这个32位为一个单元,控制(对应)不同的功能,对这些地址取个别名,便于记忆,这个别名叫做寄存器。
本文目标:


一、背景

2025年6月7日11:26:35
重新看了下野火文章,什么是寄存器。获取到一些新的知识。

二、

2.1

关于看的这个教程的主控芯片,STM32F103ZET6。通过Z字段可以得知是144Pin引脚的芯片。E字段表示内部FLASH大小是512KB。T表示是QFP封装。6表示芯片工作温度范围为-40~85℃。

之前也有个疑惑的点,就是芯片内部的存储器包括什么?这次看了文章,直到芯片内部有内部FLASH,和SRAM(即平时说的RAM),还有一个外设模块。可见下图:

STM32芯片架构图在这里插入图片描述

文章中提到STM32有4G的地址空间,然后我就很疑惑为什么STM32有4G那么大的空间?后来想了下可能寄存器是32位,可以查找4G的地址范围。2的32次方是,4294967296。然后4G的值,1GB的值是1 000 000 000。这个是10进制的算法,二进制算法是2的30次方,为1073741824。2的32次方是4294967296,确实是4G,所以确实地址空间确实是因为寄存器是32位的。

4G的地址空间分成了8个block,每个block的大小是512MB,第一个block0指向FLASH的地址空间,第二个block1指向的是SRAM的地址空间。STM32F103ZET6的FLASH大小是512KB,SRAM是64KB,不会占用全部512MB的地址空间。会有保留。具体看下表

在这里插入图片描述FLASH地址位置
在这里插入图片描述SRAM地址位置

联想到MDK上的配置,截了下图

在这里插入图片描述MDK上之前设置的芯片是STM32F103RE,E字段代表FLASH是512KB的,设置的FLASH大小是512KB,SRAM设置成64KB

2.2

三、

3.1


总结

未完待续

http://www.lryc.cn/news/2404907.html

相关文章:

  • Linux 的 find 命令使用指南
  • 第六个微信小程序:教师工具集
  • 记录一个用了很久的git提交到github和gitee比较方便的方法
  • Qt Qml模块功能及功能解析
  • 前端八股之JS的原型链
  • NLP学习路线图(二十九):BERT及其变体
  • 机器翻译模型笔记
  • Ref vs. Reactive:Vue 3 响应式变量的最佳选择指南
  • 让视觉基础模型(VFMs)像大语言模型(LLMs)一样“会思考”​
  • 现代前端框架的发展与演进
  • 【LLM-Agent】智能体的记忆缓存设计
  • 一起学Spring AI:核心概念
  • Oracle业务用户的存储过程个数及行数统计
  • PicSharp(图片压缩工具) v1.1.6
  • 前端文件下载常用方式详解
  • 【DAY42】Grad-CAM与Hook函数
  • 如何生成和制作PDF文件
  • 【K8S系列】Kubernetes 中 Pod(Java服务)启动缓慢的深度分析与解决方案
  • 【Java学习笔记】StringBuilder类(重点)
  • JavaScript ES6 解构:优雅提取数据的艺术
  • iview Switch Tabs TabPane 使用提示Maximum call stack size exceeded堆栈溢出
  • 基于Halcon深度学习之分类
  • 零基础在实践中学习网络安全-皮卡丘靶场(第十五期-URL重定向模块)
  • 技巧小结:根据寄存器手册写常用外设的驱动程序
  • 设计模式(代理设计模式)
  • 从代码学习深度强化学习 - 初探强化学习 PyTorch版
  • AI大神吴恩达-提示词课程笔记
  • ArcGIS Pro 3.4 二次开发 - 地图探索
  • ELK日志管理框架介绍
  • 【Linux】sed 命令详解及使用样例:流式文本编辑器