十六进制&字节编址

STM32G4系列内存映射

一、十六进制存在意义

如上图,是STM32G4系列内存映射和外设寄存器边界地址。在边界地址中,由于书写一个很大的二进制数将十分冗长且易于出错。如果,以4位一组的二进制数可以表示2^4=16种数。

因此,使用基数为16的表示会更方便,这称为十六进制(hexadecimal)。

二、芯片编址方式

1.基本概念

位(bit):通常用 0 和 1 来表示位的两种状态

字节(Byte):字节由 8 个位构成 即:1 Byte(字节)=8 bits

字(Word):计算机进行数据处理时,一次存取、加工和传送的数据长度称为字。

字的大小取决于处理器的结构(32位即:4B;64位即:8B)

固定转换:1 KB = 1024 B =8*1024bit= 8192bit;

1 Byte(字节)= 8 bits;1 Byte=1 B;1bit =1 b

FMAC:

起始地址:0x4002_1400

大小:3KB=3*1024B=3072B  转换成十六进制  0xC00

结束地址:0x4002_1400+ 0x0000_0C00=0x4002_2FFF

RCC:

起始地址:0x4002_1000

大小:1KB=1024B 转换成十六进制  0x400

结束地址:0x4002_1000+ 0x0000_0400=0x4002_13FF

2.实例

memory map

WWDG register map

在memory map中,WWDG分配的地址是1KB。

在具体模块中,WWDG寄存器的地址映射,只有3个寄存器(32位),并且通常按字节编址,因此每个寄存器的偏移地址为0x004。

注:1KB为WWDG分配的地址空间

但是只有3个寄存器,所占地址为 3*0x004 = 0x00C,其他区域为:Reserved

3.编址方式的影响

以32位字长的处理器为例

计算机一般按照字节编址,寻址方式不同,对应的存储单元划分不一样

按字节寻址:地址为:0x00-0x04-0x08-0x12-0x16

按字寻址:地址为:0x00-0x01-0x02-0x03-0x04

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宝哥学IC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值