五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

一文剖析內(nèi)核調(diào)試之devmem直接讀寫寄存器

2023-03-16 15:06 作者:補給站Linux內(nèi)核  | 我要投稿

今天分享一個內(nèi)核調(diào)試實用工具——devmem。

相信很多做底層驅(qū)動的人都會經(jīng)常用到。

什么是devmem?

在Linux系統(tǒng),如果我們想要訪問某個寄存器,就需要寫一個驅(qū)動程序,在驅(qū)動中映射寄存器地址,轉(zhuǎn)為虛擬地址后就可以訪問。

但有時候,我們只是單純想知道某個寄存器的值,不想這么麻煩,怎么辦呢?

Linux早就想到這一點了,于是提供了一個工具devmem,通過devmem就可以直接讀寫寄存器,

devmem是一個命令,在shell中輸入devmem命令就可以非常方便的讀寫寄存器。

如何使用devmem?

devmem命令格式:

ADDRESS:物理地址

WIDTH:位寬,32位、64位等等

VALUE:要寫入的值

例如,讀取32位寄存器0x40200000的值:

向32位寄存器0x40200000寫入0x12345678

可以看到,devmem的使用非常簡單,有了devmem就可以輕松訪問寄存器。

內(nèi)核配置devmem

devmem命令依賴于/dev/mem設(shè)備節(jié)點,需要在Linux內(nèi)核中打開/dev/mem的配置:


【文章福利】小編推薦自己的Linux內(nèi)核技術(shù)交流群:【749907784】整理了一些個人覺得比較好的學(xué)習(xí)書籍、視頻資料共享在群文件里面,有需要的可以自行添加哦!?。。ê曨l教程、電子書、實戰(zhàn)項目及代碼)? ? ? ??


Linux應(yīng)用層操作寄存器

除了直接使用devmem,我們也可以在Linux應(yīng)用層自己實現(xiàn)一個devmem。

devmem的實現(xiàn)原理,就是打開/dev/mem,然后通過mmap映射物理地址,從而實現(xiàn)讀寫寄存器。因此,我們只要實現(xiàn)這些操作,就可以自己實現(xiàn)類似devmem的功能。

例如,在Linux應(yīng)用層讀取物理地址為0x40000000的值:

總結(jié)

devmem是一個很常用的工具,主要給驅(qū)動開發(fā)人員在Linux應(yīng)用層調(diào)試使用。devmem不僅僅是訪問寄存器,只要有權(quán)限訪問某個物理地址,就可以使用devmem,方便我們調(diào)試。

原文作者:嵌入式Linux充電站


一文剖析內(nèi)核調(diào)試之devmem直接讀寫寄存器的評論 (共 條)

分享到微博請遵守國家法律
天长市| 砚山县| 调兵山市| 冀州市| 万载县| 色达县| 临澧县| 定南县| 乡宁县| 巴中市| 铅山县| 福建省| 兰州市| 奉化市| 安国市| 积石山| 大足县| 荣昌县| 巨鹿县| 株洲县| 开化县| 攀枝花市| 崇左市| 高平市| 阿坝县| 武乡县| 五大连池市| 上饶市| 时尚| 安徽省| 巫山县| 仙游县| 邢台市| 晋城| 格尔木市| 北碚区| 漳州市| 杭锦旗| 仁化县| 洞口县| 恭城|