PROM 提供了许多 8 位、16 位以及 32 位操作。通常,c(字符)前缀表示 8 位(一字节)操作;w(字)前缀表示 16 位(二字节)操作;L(长字)前缀表示 32 位(四字节)操作。
后缀 ! 表示写入操作。写入操作用于从栈中取出前两项。第一项是地址,第二项是值。
ok 55 ffe98000 c! |
后缀 @ 表示读取操作。读取操作用于从栈中取出地址。
ok ffe98000 c@ ok .s 55 |
后缀 ? 用于显示值,并且不会影响栈。
ok ffe98000 c? 55 |
尝试查询设备时,请务必谨慎。如果未正确设置映射,则尝试读取或写入可能会导致错误。为处理这些情况,提供了特殊字。例如,cprobe、wprobe 和 lprobe 会从给定地址进行读取,但是如果此位置不响应,则会返回零;如果此位置响应,则返回非零值。
ok fffa4000 c@ Data Access Error ok fffa4000 cprobe ok .s0 ok ffe98000 cprobe ok .s 0 ffffffffffffffff |
使用字 dump 可以显示内存的区域。这会采用 address 和 length,并以字节为单位显示内存区域的内容。
在以下示例中,字 fill 用于使用某种模式填充视频内存。fill 会采用地址、要填充的字节数以及要使用的字节。对于字和长字,请分别使用 wfill 和 Lfill。此填充示例会导致 cgsix 基于传递的字节显示简单模式。
ok " /sbus" select-dev ok 800000 2 100000 map-in ok constant fb ok fb 10000 ff fill ok fb 20000 0 fill ok fb 18000 55 fill ok fb 15000 3 fill ok fb 10000 5 fillok fb 5000 f9 fill |