当前位置: 首页 > news >正文

linux 的devmem2 调式使用说明

devmem2的方式是提供给驱动开发人员,在应用层能够侦测内存地址中的数据变化,以此来检测驱动中对内存或者相关配置的正确性验证。基本原理通过设备文件/dev/mem 实现对物理内存的读写,如果没有dev/mem,这时需要安装devmem2。

1,安装devmem2:

sudo apt install devmem2

lark@ubuntu:~$ devmem2 

Usage:    devmem2 { address } [ type [ data ] ]
 address : memory address to act upon
type    : access operation type : [b]yte, [h]alfword, [w]ord
data    : data to be written

安装成功后会有/dev/mem 这个目录。

lark@ubuntu:~$ ls /dev/mem 
/dev/mem

2,读写测试

a,读数据:

devmem2 reg-addr b/h/w(1/2/4) 

b,写数据:

devmem2 reg-addr b/h/w(1/2/value

(1)单字节读写(8位):

lark@ubuntu:~$ sudo devmem2 0x1234 b 0x11
/dev/mem opened.
Memory mapped at address 0x7f659293d000.
Value at address 0x1234 (0x7f659293d234): 0x78
Written 0x11; readback 0x11


lark@ubuntu:~$ sudo devmem2 0x1234 b 
/dev/mem opened.
Memory mapped at address 0x7fd47bed1000.
Value at address 0x1234 (0x7fd47bed1234): 0x11

(2)双字节读写(16位):

lark@ubuntu:~$ sudo devmem2 0x1234 b 
/dev/mem opened.
Memory mapped at address 0x7fd47bed1000.
Value at address 0x1234 (0x7fd47bed1234): 0x11
lark@ubuntu:~$ sudo devmem2 0x1234 h 0x1122
/dev/mem opened.
Memory mapped at address 0x7f218fb9b000.
Value at address 0x1234 (0x7f218fb9b234): 0x5611
Written 0x1122; readback 0x1122


lark@ubuntu:~$ sudo devmem2 0x1234 h
/dev/mem opened.
Memory mapped at address 0x7feaa9be3000.
Value at address 0x1234 (0x7feaa9be3234): 0x1122
 

(3)四字节速写(四字节):

lark@ubuntu:~$ sudo devmem2 0x1234 w 0x12345678
/dev/mem opened.
Memory mapped at address 0x7f2d21327000.
Value at address 0x1234 (0x7f2d21327234): 0xBC614E
Written 0x12345678; readback 0x12345678


lark@ubuntu:~$ sudo devmem2 0x1234 w
/dev/mem opened.
Memory mapped at address 0x7f31ad806000.
Value at address 0x1234 (0x7f31ad806234): 0x12345678

lark@ubuntu:~$ sudo devmem2 0x1234 h
/dev/mem opened.
Memory mapped at address 0x7fd131870000.
Value at address 0x1234 (0x7fd131870234): 0x5678


lark@ubuntu:~$ sudo devmem2 0x1234 b
/dev/mem opened.
Memory mapped at address 0x7f2fe1866000.
Value at address 0x1234 (0x7f2fe1866234): 0x78

http://www.lqws.cn/news/85951.html

相关文章:

  • PAT-甲级JAVA题解(更新中...)
  • 【C语言入门级教学】冒泡排序和指针数组
  • 散列表(哈希表)
  • Linux内核体系结构简析
  • 向量空间的练习题目
  • 2024年数维杯国际大学生数学建模挑战赛D题城市弹性与可持续发展能力评价解题全过程论文及程序
  • 高等数学笔记 第八章——向量代数与空间解析几何2
  • FDR的定位原理
  • 使用ArcPy批量处理矢量数据
  • 《软件项目管理》第一章(概述)期末周复习总结笔记
  • AI书签管理工具开发全记录(九):用户端页面集成与展示
  • 智慧政务标准规范介绍:构建高效、协同的政务信息体系
  • 【nm】nm命令的使用:查看.so中的符号信息
  • 构建高性能风控指标系统
  • YARN应用日志查看
  • ubuntu安装devkitPro
  • DAX权威指南6:DAX 高级概念(扩展表)、DAX 计算常见优化
  • 7.文本内容处理sort,uniq,out,cat,comm,diff
  • 前端面经高阶组件HOC 和 HOOKS Redux
  • 小白的进阶之路系列之十----人工智能从初步到精通pytorch综合运用的讲解第三部分
  • cnn训练并用grad-cam可视化
  • 云服务器突发宕机或无响应怎么办
  • MCP (模型上下文协议):AI界的“USB-C”标准,开启大模型应用新纪元
  • URP - 水效果Shader
  • 动中通天线跟踪性能指标的测试
  • 密码学:解析Feistel网络结构及实现代码
  • imx6ull(0):烧录、启动
  • 《软件项目管理》第二章(项目准备与启动)期末周复习总结笔记
  • C++ list代码练习、set基础概念、set对象创建、set大小操作
  • 2025GDCPC广东省赛游记(附赛时代码)