A40i/T3的sunxi_dump_reg使用说明(四)

本文详细介绍了sunxi_reg模块如何在A1x平台上通过shell进行寄存器读写操作,包括地址设置、value操作方法、批量修改和错误处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • ​​​​​​sunxi_reg使用说明

sunxi_reg是目前A1x平台通过shell读写寄存器的模块. sunxi_dump_reg功能和它类似.

sunxi_reg代码位于: \linux-3.0\drivers\misc\sunxi-reg.c.

 当驱动加载后,在/sys/class/misc/sunxi-reg/rw/目录下会出现三个节点:

 

Address为查看访问的起始地址,写入访问的目的地址。

其值的修改方法(address的输入值是16进制数):

echo f1c20800  >  address

查看方法

cat  address

 

Size为查看value是一次输出寄存器的BYTE数,默认为1值的修改方法和address相似

区别在于size输入值是10进制数,(size的值上限是512)

对value进行读操作,就是在屏幕上打印地址从address开始,共size个BYTE的寄存器的值,对其进行写操作就是,地址从address开始,共size个BYTE的寄存器的值进行改写

注意:当size >1时,命令行输入需要用空格将每个寄存器的值隔开,如当address=f1c20800时,size=3 echo  ffff1111 ffff0000 ffff2222  > value

假如f1c20800 f1c20801 f1c20802都是可写的,则操作完成后

0xf1c20800 : ffff1111

0xf1c20801 : ffff0000

0xf1c20802:  ffff2222

 

批量修改的数据可以用命令行(echo xxx > value )或者是cat一个文件重定向的形式输入给文件节点(cat xx.txt > value ),命令行输入的话只能用空格将每个数据隔开(shell就是这样认的,驱动无法做什么),用文本cat导入的话所有连着的0-9,a-f(A-F)都被认为是数字,其他的任意符号都会被认为是分隔符。

每次修改的寄存器的个数必须和size中的值一样,否则返回错误

即文本导入时,文本的书写方式可以是:

1234ffff

1235ffff

1235ffff

也可以是

1234ffff 1235ffff 1235ffff

也可以是1234ffff,1235ffff,1235ffff(这里的“,”可以是键盘上任意符号)

假如在地址输入不符合要求的值(地址要求在0xf0000000到0xffffffff之间),会有错误提示,address中的值不符合要求,cat value时也会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值