Vxworks 的查看修改内存

Vxworks 的查看修改内存

 

查看全局变量 如定义变量 UINT32 gDebugLevel, shell 模式下直接输入该变量 :

%gDebugLevel = 0x26c61e8: value = 2 = 0x2

 

查看结构体变量

StatusPortInfo 的结构体定义为:该结构共有 9 32 位整型

typedef struct

{

     UINT32 uiFuncSlotNo;   [14]

     UINT32 uiFuncPortType;  [5]

     UINT32 uiFuncPortNo;   [1]

      

     UINT32 uiActualSlotNo;  [14]

     UINT32 uiActualPortType; [5]

     UINT32 uiActualPortNo;  [1]

     UINT32 _Tval ePortStatus; [3]

     UINT32 uiNotReport; [0]

     UINT32 uiUsed;     [1]

 

}PACK StatusPortInfo;

gstPortInfo 变量定义为:

StatusPortInfo gstPortInfo [126];

查看 gstPortInfo 地址:

%gstPortInfo = 0x2667b44: value = 14 = 0xe

打印该地址的内存

%d 0x2667b44

02667b40:                  0000 000e 0000 0005 0000 0001   *..........*     

02667b50:  0000 000e 0000 0005 0000 0001 0000 0003   *................*

02667b60:  0000 0000 0000 0001 0000 000e 0000 0005   *................*

02667b70:  0000 0002 0000 000e 0000 0005 0000 0002   *................*

02667b80:  0000 0001 0000 0000 0000 0001 0000 000e   *................*

02667b90:  0000 0005 0000 0003 0000 000e 0000 0005   *................*

02667ba0:  0000 0003 0000 0001 0000 0000 0000 0001   *................*

02667bb0:  0000 000e 0000 0005 0000 0004 0000 000e   *................*

02667bc0:  0000 0005 0000 0004 0000 0001 0000 0000   *................*

02667bd0:  0000 0001 0000 000e 0000 0005 0000 0005   *................*

02667be0:  0000 000e 0000 0005 0000 0005 0000 0003   *................*

02667bf0:  0000 0000 0000 0001 0000 000e 0000 0005   *................*

02667c 00:  0000 0006 0000 000e 0000 0005 0000 0006   *................*

02667c 10:  0000 0001 0000 0000 0000 0001 0000 000e   *................*

02667c 20:  0000 0005 0000 0007 0000 000e 0000 0005   *................*

02667c 30:  0000 0007 0000 0001 0000 0000 0000 0001   *................*

02667c 40:  0000 000e                              *................*

该内存是 16 进制进行表示 所以一个 16 进制可以表示 4bit, 两个 16 进制可以表示一个 Byte.

1 [0000] 表示 2 Byte 内容,所以第一个变量 uiFuncSlotNo[4Byte] 需要两个表示,即

0000 000e 即值为 14. 由于该 CPU Power PC 数据的低字节放在高地址处。所以 14 表示为 0000 000e.

红色的表示数组 gstPortInfo[0]

修改 32 位变量值 [ uiFuncSlotNo ] ----0x12345678

write32 0x2667b44 0x12345678

修改后显示

%d 0x2667b44

02667b40:                   1234 5678 0000 0005 0000 0001   *4Vx........*

02667b50:  0000 000e 0000 0005 0000 0001 0000 0003   *................*

02667b60:  0000 0000 0000 0001

你可能感兴趣的:(UNIX/LINUX)