STM32F1 - 存储器映射

2024-02-03 02:52
文章标签 映射 存储器 stm32f1

本文主要是介绍STM32F1 - 存储器映射,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Memory mapping

  • 1> 外设内存地址映射
  • 2> GPIO寄存器映射
  • 3> 存储器访问


1> 外设内存地址映射

1
1> STM32F103ZET6的地址线位宽为32位,所以寻址空间为4GB (2 ^ 32 = 4GB);
2> STM32将,Flash,SRAM,外设寄存器,等都有规律的安排到4GB的空间;

2


2> GPIO寄存器映射

2

GOIOA的映射地址是多少?

因为Poart A的基地址是:【0x4001 0800】
所以GPIOA寄存器的地址就是,0x4001 0800+偏移地址,
例如,GPIOA_CRL的地址就是【0x4001 0800 + 0x00】
GPIOA_CRH的地址【0x4001 0800 + 0x04】;


3> 存储器访问


想象成取快递:
1
存储器的访问,可以想象成在菜鸟驿站取快递

例如,读写 寄存器GPIOA_CRH, 他的地址是【0x4001 0800 + 0x04】;

unsigned int *pCRH = (unsigned int *)0x40010804 unsigned int tmp = 0;
tmp = *pCRH;		// 读GPIOA_CRH,也就是取0x40010804地址存的内容 
*pCRH = 0xFFFFFFFF; // 写GPIOA_CRH,也就是向0x40010804地址存0xFFFFFFFF // 为方便使用,写成:
#define GPIOA_CRH   *(unsigned int *)0x40010804

把4GB的空间,想象成春笋大厦:
1

这篇关于STM32F1 - 存储器映射的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/672787

相关文章

程序存储器编址及程序执行顺序

对于内部有ROM的芯片,根据情况也可以扩展外部ROM,虽然内、外程序存储器总容量可以超过64KB,但其有效存储空间只有64KB,内、外程序存储器逻辑上将共用64K存储空间。片内程序存储器地址空间和片外程序存储器的低地址空间重叠。51子系列重叠区域为0000H~0FFFH,52子系列重叠区域为0000H~1FFFH。        单片机在执行指令时,对于低地址部分,是从片内程序存

docker 重启容器且修改服务映射端口

要重启 Docker 容器并修改服务的映射端口,可以按照以下步骤进行操作: 1. 停止当前运行的容器 如果你想重新配置端口,通常需要先停止当前运行的容器。你可以使用以下命令停止容器: docker stop <container_name_or_id> 2. 删除现有容器 为了修改端口映射,你需要删除旧的容器并重新创建一个新的容器。首先运行以下命令删除停止的容器: docker rm

stm32之软件SPI读写W25Q64存储器应用案例

系列文章目录 1. stm32之SPI通信协议 文章目录 系列文章目录前言一、电路接线图二、应用案例代码三、应用案例分析3.1 SPI通信模块3.2 W25Q64模块3.3 主程序 前言 提示:本文主要用作在学习江科大自化协STM32入门教程后做的归纳总结笔记,旨在学习记录,如有侵权请联系作者 本案例使用软件SPI通信的方式实现了STM32与W25Q64 Flas

maven项目中程序运行编译的时候出现:编码GBK的不可映射字符

由于JDK是国际版的,我们在用javac.exe编译时,编译程序首先会获得我们操作系统默认采用的编码格式(也即在编译java程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格

ManyToMany双向外键关联(基于注解)的映射案例(简单版)

学生和老师就是多对多的关系,一个学生有多个学生,一个老师也有多个学生,这里的多对多映射采用中间表连接的映射策略,建立中间表的映射策略,建立中间表分别引入俩边的主键作为外键。通过中间表映射俩个表之间的关系。 下面就以学生类和老师类为例介绍多对多的映射关系的实例 Students类 package mtm_bfk;import java.io.Serializable;import java.

Mybatis查询到多条记录但是映射到list集合只有一条或者条数不对

如果你出现了这个问题。 *. 原因:mybatis是基于当前实体对象的id进行映射的 *.所以在查询字段中加上查询id即可。 搞定!!!!

【高等数学学习记录】映射

【高等数学&学习记录】映射 从事测绘工作多年,深刻感受到基础知识的重要及自身在这方面的短板。 为此,打算重温测绘工作所需基础知识。练好基本功,为测绘工作赋能。 1 知识点 1.1 映射 映射 设 X X X、 Y Y Y是非空集合,若存在法则 f f f,使 X X X中每个元素 x x x,在 Y Y Y中有唯一确定的元素 y y y与之对应,则称 f f f为从 X X X到

NAT技术-将多个内部网络设备映射到一个公共IP地址

问题: 今天上课的时候老师让我们在VMware填同一个子网ip 192.168.196.0,然后给我们的linux镜像都是同一个压缩包,结果我们的静态ip地址都是同一个。 192.168.196.0下面有256个ip地址,范围是192.168.196.0到192.168.196.255。我们几十个人的ip地址怎么会是同一个 linux镜像的ip地址被老师写死了, 1.难道内网的ip可以随便定

使用Mybatis Generator插件生成纯净代码,自定义扩展注释和注释,xml映射文件,不用修改源码!!!

先看效果: (基于Mybatis-generator-core-1.4.0) 生成模型(实体): 根据MySQL库中的tb_prod_info表字段及注释自动生成. package com.ezsyn.cloudstudy.product.dao.entity;import io.swagger.annotations.ApiModelProperty;import lombok.Gette

spring boot 的tomcat部署,自己的view层不做映射

需要复写继承该类SpringBootServletInitializer 的config方法,网上有些直接写主入口类的,部署是不对的。一定要复写config方法。