Posted in

在线十六进制寄存器与位域分析工具

这是一款面向嵌入式开发、芯片调试和通信协议分析的在线十六进制寄存器解析工具。它支持 32 位和 64 位数值,可在十六进制、无符号十进制、字节及二进制位之间实时转换,并提供逐位修改、取反、移位和加减等常用操作。
你还可以使用“名称-位范围”格式定义寄存器字段,例如 保留位-63:32,快速查看每个 Field 对应的十六进制值和十进制值。常用的 Field 组合可保存在浏览器中,方便后续重复使用。

32 位寄存器解析示例

输入 0xDEADBEEF 并选择 32 位模式后,可定义:使能位-0:0,工作模式-3:1,中断状态-15:8,设备ID-23:16版本号-31:24。解析结果分别为:使能位 = 1,工作模式 = 7,中断状态 = 0xBE(190),设备 ID = 0xAD(173),版本号 = 0xDE(222)。位范围包含起止两端,因此 3:1 一共有 3 bit,可表示 0-7 共 8 个数值;字段编码中哪些值有效,仍应以芯片数据手册为准。

位域,字节序与有符号数

本工具按输入数值的最低有效位为 bit 0 进行拆分。Little Endian 和 Big Endian 描述的是数据在内存或总线中的字节排列,不能在位域解析时盲目把 bit 顺序反转。当前十进制结果按无符号数显示;如果寄存器字段代表有符号补码,需要先确认字段位宽,再按最高位是否为 1 进行符号扩展。读取硬件寄存器前,还要留意保留位,写 1 清零位和只读位,避免把在线计算结果直接写回设备造成副作用。

工具功能

  • 32 位 / 64 位数值实时转换(十六进制、无符号十进制、字节、二进制位)
  • 逐位修改:取反、移位、加减运算
  • 字段定义:名称-位范围 格式(如 保留位-63:32使能位-0:0
  • 字段值自动展示十六进制与十进制
  • Field 组合保存在浏览器本地,可重复使用

寄存器位域是什么

寄存器是 CPU 与外设通信的基本单元,通常 32 位或 64 位。每个位或位段(bit field)有特定含义,例如:

31         24 23       16 15        8 7         0  
+-----------+-----------+-----------+-----------+  
| 保留位     | 设备 ID   | 中断使能  | 工作模式  |  
+-----------+-----------+-----------+-----------+

通过定义 设备 ID-23:16中断使能-15:8 等字段,可快速查看每个 Field 的值。

字段命名格式示例

字段名位范围含义
使能位-0:0bit 0模块使能
工作模式-3:1bit 1-3可表示 0–7 共 8 个值
中断使能-15:8bit 8-158 路中断使能
设备 ID-23:16bit 16-23设备标识
保留位-63:32bit 32-63保留字段

使用步骤

  1. 在输入框输入十六进制值(如 0xDEADBEEFdeadbeef
  2. 选择 32 位或 64 位模式
  3. 在字段定义区输入 名称-高位:低位,回车添加
  4. 工具自动展示每个字段的十六进制与十进制值
  5. 点击「保存配置」存到浏览器,下次自动加载

常见问题

Q:能导入 CMSIS SVD 文件吗?
A:暂不支持,可作为后续迭代方向。

Q:保存的配置在哪?
A:保存在浏览器 localStorage,清除浏览器数据会丢失。建议导出 JSON 备份。

相关工具

2 thoughts on “在线十六进制寄存器与位域分析工具

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注