有时在Linux开发过程中需要修改寄存器,这里固件中提供了一个reg工具,可以查看、修改寄存器的值。
使用方法:
root@Widora:/# reg Usage : reg r addr Usage : reg w addr value
例如读取0x10000000的值,根据MT7688的datasheet得知默认应该是:0x3637544D
root@Widora:/# reg r 0x10000000 add:0x10000000 = 0x3637544d
例如读取0x1000000C的值,根据MT7688的datasheet得知默认应该是:0x00010102
root@Widora:/# reg r 0x1000000C add:0x1000000c = 0x10102
这里假定控制WLED,但WLED默认连接到了内部WI-FI组件用于指示WI-FI状态,默认的固件系统起来后WLED是长亮的。如果我修改了GPIO2_MODE寄存器的低两位修改WLED的通路,可以达到改变此LED灯的效果。
WLED_AN_MODE :
0-0 WLED
0-1 GPIO
1-0 保留
1-1 保留
root@Widora:/# reg r 0x10000064 add:0x10000064 = 0x550 root@Widora:/# reg w 0x10000064 0x552
此时,是不是看到WLED灭了,如要恢复,那就还将原始值:0x550写入该地址
root@Widora:/# reg w 0x10000064 0x550
此时,WLED又亮起来了。