什么是devmem?
在Linux系统,如果我们想要访问某个寄存器,就需要写一个驱动程序,在驱动中映射寄存器地址,转为虚拟地址后就可以访问。
但有时候,我们只是单纯想知道某个寄存器的值,不想这么麻烦,怎么办呢?
Linux早就想到这一点了,于是提供了一个工具devmem,通过devmem就可以直接读写寄存器,
devmem是一个命令,在shell中输入devmem命令就可以非常方便的读写寄存器。
如何使用devmem?
devmem命令格式:
Usage: devmem ADDRESS [WIDTH [VALUE]]
Read/write from physical address
ADDRESS Address to act upon
WIDTH Width (8/16/...)
VALUE Data to be written
ADDRESS:物理地址
WIDTH:位宽,32位、64位等等
VALUE:要写入的值
例如,读取32位寄存器0x40200000的值:
devmem 0x40200000 32
向32位寄存器0x40200000写入0x12345678
devmem 0x40200000 32 0x12345678
可以看到,devmem的使用非常简单,有了devmem就可以轻松访问寄存器。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
内核
+关注
关注
3文章
1362浏览量
40218 -
Linux
+关注
关注
87文章
11219浏览量
208873 -
RISC
+关注
关注
6文章
461浏览量
83651
发布评论请先 登录
相关推荐
AM437x开发板FPGA与ARM基于GPMC通信测试
位于FPGA光盘”DemoappGPMC”目录下。将ARM光盘"Demoappdevmem2in"目录的内存读写工具可执行镜像文件devmem2拷贝到开发板
发表于 05-16 14:28
pinmux怎么通过devmem2读取状态,请问这个怎么用devmem2把U14 pin设置成GPIO模式?
本帖最后由 一只耳朵怪 于 2018-6-21 10:41 编辑
想请教下2个问题1.关于pinmux怎么通过devmem2读取状态,比如U14 pin脚,我配置成GPIO的话,需要设置成
发表于 06-21 01:35
请问Timer如何配置为PWM模式?应该怎么操作?
,starterware下可以在DTimer的例子中作相应修改。其配置流程为:(以下是linux下的脚本,在linux下测试过,测试xdma_event_intr0有对应输出。同时说明下devmem2是linux
发表于 06-21 00:15
如何在DM8168硬件平台+ DVRRDK_04.00.00.03软件平台移植VGA驱动?
/enabled,执行测量行场脚没有波形输出,
或者在系统中配置寄存器
devmem2 0x4814086C w 2
devmem2 0x48140870 w 2
devmem2 0x48140724 w 2
配置
发表于 06-23 03:08
求助,zynq 7015 中linux下reboot会卡住
的PSS_RST_CTRL中写1来完成soft reset的。 我还尝试过直接用devmem工具直接写这个寄存器,结果是linux下直接卡住,uboot下倒是可以通过mm命令直接重启成功。我还使用xsct工具进行
发表于 05-12 16:32
【干货】Linux应用开发小白必备常用案例分享(二)
目录4.tl_can_echo案例4.1 案例功能4.2 操作说明4.3 关键代码5 tl_devmem_rw案例5.1 案例功能5.2 操作说明5.3 关键代码6 tcp_udp_demos
发表于 08-25 15:26
IMX6ULL串口8工作异常是为什么?怎么解决?
dts的uart8-rx/tx配置如下,是不是还有什么机关呢? 且使用devmem查看mux,配置是正确的,rx,tx确实选择是正确的。&uart8 { pinctrl-names
发表于 01-10 07:17
ZYNQ在AD7606/AD7616加持下的能源电力方案,实现同步采样
TLP2P-PinBoard转接板接到评估板CON8接口,再将AD模块TL7606P与转接板连接。图 11进入评估板文件系统,执行如下命令配置PS-PL电平转换寄存器。Target# devmem
发表于 04-29 15:20
请大神指点一下devmem读取方法是否在rtthread中有效
ls2k1000使用在线软件包devmem,读取CPU通用配置寄存器及其它寄存器均出现错误。请大神指点一下,devmem读取方法是否在rtthread中有效,或者正确的使用方法?
发表于 10-13 10:11
如何在Linux中检查SEC_MON状态?
我们想在 Linux 中检查 LX2160ARDB 安全监视器 (SEC_MON) 状态。 根据 LX2160A 参考手册,我们尝试通过 devmem2 命令读取 SecMon 地址
发表于 04-06 07:52
Vybrid wdog a5配置为60秒时看到7-15秒wdog-A5超时怎么解决?
0x77)
用 devmem 确认,显示 0x7735 @ 0x4003E000
阅读:
参考手册提到了“低频参考时钟”,但没有:
注明出处
是否或如何配置
是否可以读取 wdog A5 倒计时(例如
发表于 05-10 07:44
如何读写LS1012A OCRAM?
你好。
我使用的是 LS1012A 定制板,目前使用的是 LSDK1812。
我想使用 OCRAM,但是当我尝试使用 devmem 读取它时,
似乎我没有访问权限。
如果您能让我知道我应该如何读写它
发表于 05-19 08:27
i.MX53如何为EIM设置时钟?
我通过 i.MX53 处理器中的 EIM 接口在 SRAM 中工作。当我从 devmem2 命令读取值时,
我得到 0xFFFFFFFF 但是当我像 0xAAAA5555 一样向它写入值然后读取它
发表于 05-29 08:58
如何在shell中操作寄存器
shell 中操作寄存器可以使用 devmem 命令. devmem 命令其实就是上述应用层操作寄存器生成的可执行文件,只不过busybox已经帮我们实现了。 devmem 命令格式: Usage
Linux应用层操作寄存器
内核配置devmem devmem命令依赖于/dev/mem设备节点,需要在Linux内核中打开/dev/mem的配置: Device Drivers --- > Character devices
评论