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

【驱动】TI AM437x(内核调试-07):devmem2直接读写内存、寄存器,devkmem读取内核变量

1、/dev/mem 和 /dev/kmem

1)/dev/mem: 物理内存的全镜像。可以用来访问物理内存

2)/dev/kmem: kernel看到的虚拟内存的全镜像。可以用来访问kernel的内容。kernel部分内存用户空间本不可访问。但是因为所有进程共享内核空间的页表。所以内核虚拟地址对应物理地址是确定的。kmem的作用即是根据kernel的虚拟地址,找到对应的物理地址,再将物理地址映射到用户空间。这样访问映射的虚拟地址,即访问内核对应的内容。

3)区别:
/dev/mem: 物理内存的全镜像。可以用来访问物理内存。
/dev/kmem: kernel看到的虚拟内存的全镜像。可以用来访问kernel的内容。

4)作用:
前者用来访问物理IO设备,比如访问显卡的物理内存,或嵌入式中访问GPIO。用法一般就是open,然后mmap,接着可以使用map之后的地址来访问物理内存。这其实就是实现用户空间驱动的一种方法。
后者一般可以用来查看kernel的变量,或者用作rootkit之类的。

2、内核配置

Device Drivers → Character devices → /dev/kmem virtual device support
在这里插入图片描述

3、devmem2

1)使用方法
注意:该工具一次只能读/写1个寄存器

相关文章:

  • Android 系统启动流程
  • 运维SRE-01 目录结构体系、find
  • Codeforces Round 921 (Div. 2)补题
  • ambari hdp 企业级安装实战
  • C语言之猜凶手
  • 04 Redis之命令(Hash型Value命令+List型Value命令+Set型Value命令+有序集合ZSET型Value命令)
  • MySQL必看表设计经验汇总-上(精华版)
  • Linux之常见的管理命令
  • java日志框架总结(三 、Log4j日志框架)
  • SQL注入-sqli-labs-master第一关
  • 微信生成带参数二维码(用户id), 扫码可获取用户id
  • 免费开源的微信小程序源码、小游戏源码精选70套!
  • Python一行命令搭建HTTP服务器并外网访问 - 内网穿透
  • Unity——八叉树的原理与实现
  • 算法每日一题: 最大合金数 | 二分
  • 分享的文章《人生如棋》
  • const let
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Git初体验
  • javascript 哈希表
  • leetcode46 Permutation 排列组合
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Python利用正则抓取网页内容保存到本地
  • Python连接Oracle
  • Redis的resp协议
  • SwizzleMethod 黑魔法
  • Vue.js-Day01
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 多线程事务回滚
  • 基于 Babel 的 npm 包最小化设置
  • 将 Measurements 和 Units 应用到物理学
  • 警报:线上事故之CountDownLatch的威力
  • 你真的知道 == 和 equals 的区别吗?
  • 什么是Javascript函数节流?
  • 做一名精致的JavaScripter 01:JavaScript简介
  • Linux权限管理(week1_day5)--技术流ken
  • UI设计初学者应该如何入门?
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # 透过事物看本质的能力怎么培养?
  • #微信小程序(布局、渲染层基础知识)
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • $forceUpdate()函数
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (Oracle)SQL优化技巧(一):分页查询
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm码农论坛 毕业设计 231126
  • (三)模仿学习-Action数据的模仿
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)Linq学习笔记
  • (转)LINQ之路
  • (转)Oracle存储过程编写经验和优化措施
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选