BinaryEarth 2021-12-11 11:17 采纳率: 100%
浏览 24
已结题

这个寻址哪位可以解答一下,看不太明白

img

如图所示,这是一段STM32的寻址计算公式,哪位学长可以解答一下,看不太明白,这是如何寻找到那一位的地址的?

  • 写回答

1条回答 默认 最新

  • 老皮芽子 2021-12-11 13:33
    关注

    是位寻址地址的计算
    这个计算公式需要先理解这个公式的物理意义。
    假设我们自己设计一款 32 位 CPU 有一组能按位去寻址特殊的寄存器,这组寄存器有0x1000个按顺序编号为 REG_NUM 0-0x0fff ,每个寄存器只有 8 位,这每个位为 BIT_NUM 0-7
    我们需要怎么去寻址?CPU 的地址一般都是按字节计算。这组寄存器就需要 0x1000 * 8 个地址空间。
    远大于这组寄存器原始的地址空间 0x1000 ,我们需要将这个按位寻的地址重新映射一块区域,这块区域的基地址为 BASE_ADDR
    我们怎么计算这个地址 ?

    BASE_ADDR + REG_NUM * 8 + BIT_NUM

    这是 32 位 CPU 需要 4 字节对齐去寻址就计算需要做下调整

    BASE_ADDR + ( REG_NUM * 8 + BIT_NUM ) * 4 = BASE_ADDR + REG_NUM * 32 + BIT_NUM * 4

    看看 STM32 的公式是不是一样 ?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月27日
  • 已采纳回答 12月19日
  • 创建了问题 12月11日

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图