0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

devmem是什么 如何使用devmem

麦辣鸡腿堡 来源:嵌入式Linux充电站 作者:Vincent 2023-10-08 15:02 次阅读

什么是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
    的头像 发表于 09-26 16:39 998次阅读

    Linux应用层操作寄存器

    内核配置devmem devmem命令依赖于/dev/mem设备节点,需要在Linux内核中打开/dev/mem的配置: Device Drivers --- > Character devices
    的头像 发表于 10-08 15:16 1168次阅读
    Linux应用层操作寄存器