0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

devmem是什么 如何使用devmem

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-10-08 15:02 ? 次閱讀

什么是devmem?

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

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

Linux早就想到這一點(diǎn)了,于是提供了一個(gè)工具devmem,通過(guò)devmem就可以直接讀寫(xiě)寄存器,

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

如何使用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:要寫(xiě)入的值

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

devmem 0x40200000 32

向32位寄存器0x40200000寫(xiě)入0x12345678

devmem 0x40200000 32 0x12345678

可以看到,devmem的使用非常簡(jiǎn)單,有了devmem就可以輕松訪問(wèn)寄存器。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1362

    瀏覽量

    40195
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11215

    瀏覽量

    208749
  • RISC
    +關(guān)注

    關(guān)注

    6

    文章

    461

    瀏覽量

    83637
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AM437x開(kāi)發(fā)板FPGA與ARM基于GPMC通信測(cè)試

    位于FPGA光盤(pán)”DemoappGPMC”目錄下。將ARM光盤(pán)"Demoappdevmem2in"目錄的內(nèi)存讀寫(xiě)工具可執(zhí)行鏡像文件devmem2拷貝到開(kāi)發(fā)板
    發(fā)表于 05-16 14:28

    pinmux怎么通過(guò)devmem2讀取狀態(tài),請(qǐng)問(wèn)這個(gè)怎么用devmem2把U14 pin設(shè)置成GPIO模式?

    本帖最后由 一只耳朵怪 于 2018-6-21 10:41 編輯 想請(qǐng)教下2個(gè)問(wèn)題1.關(guān)于pinmux怎么通過(guò)devmem2讀取狀態(tài),比如U14 pin腳,我配置成GPIO的話,需要設(shè)置成
    發(fā)表于 06-21 01:35

    請(qǐng)問(wèn)Timer如何配置為PWM模式?應(yīng)該怎么操作?

    ,starterware下可以在DTimer的例子中作相應(yīng)修改。其配置流程為:(以下是linux下的腳本,在linux下測(cè)試過(guò),測(cè)試xdma_event_intr0有對(duì)應(yīng)輸出。同時(shí)說(shuō)明下devmem2是linux
    發(fā)表于 06-21 00:15

    如何在DM8168硬件平臺(tái)+ DVRRDK_04.00.00.03軟件平臺(tái)移植VGA驅(qū)動(dòng)?

    /enabled,執(zhí)行測(cè)量行場(chǎng)腳沒(méi)有波形輸出, 或者在系統(tǒng)中配置寄存器 devmem2 0x4814086C w 2 devmem2 0x48140870 w 2 devmem2 0x48140724 w 2 配置
    發(fā)表于 06-23 03:08

    求助,zynq 7015 中l(wèi)inux下reboot會(huì)卡住

    的PSS_RST_CTRL中寫(xiě)1來(lái)完成soft reset的。 我還嘗試過(guò)直接用devmem工具直接寫(xiě)這個(gè)寄存器,結(jié)果是linux下直接卡住,uboot下倒是可以通過(guò)mm命令直接重啟成功。我還使用xsct工具進(jìn)行
    發(fā)表于 05-12 16:32

    【干貨】Linux應(yīng)用開(kāi)發(fā)小白必備常用案例分享(二)

    目錄4.tl_can_echo案例4.1 案例功能4.2 操作說(shuō)明4.3 關(guān)鍵代碼5 tl_devmem_rw案例5.1 案例功能5.2 操作說(shuō)明5.3 關(guān)鍵代碼6 tcp_udp_demos
    發(fā)表于 08-25 15:26

    IMX6ULL串口8工作異常是為什么?怎么解決?

    dts的uart8-rx/tx配置如下,是不是還有什么機(jī)關(guān)呢? 且使用devmem查看mux,配置是正確的,rx,tx確實(shí)選擇是正確的。&uart8 { pinctrl-names
    發(fā)表于 01-10 07:17

    ZYNQ在AD7606/AD7616加持下的能源電力方案,實(shí)現(xiàn)同步采樣

    TLP2P-PinBoard轉(zhuǎn)接板接到評(píng)估板CON8接口,再將AD模塊TL7606P與轉(zhuǎn)接板連接。圖 11進(jìn)入評(píng)估板文件系統(tǒng),執(zhí)行如下命令配置PS-PL電平轉(zhuǎn)換寄存器。Target# devmem
    發(fā)表于 04-29 15:20

    請(qǐng)大神指點(diǎn)一下devmem讀取方法是否在rtthread中有效

    ls2k1000使用在線軟件包devmem,讀取CPU通用配置寄存器及其它寄存器均出現(xiàn)錯(cuò)誤。請(qǐng)大神指點(diǎn)一下,devmem讀取方法是否在rtthread中有效,或者正確的使用方法?
    發(fā)表于 10-13 10:11

    如何在Linux中檢查SEC_MON狀態(tài)?

    我們想在 Linux 中檢查 LX2160ARDB 安全監(jiān)視器 (SEC_MON) 狀態(tài)。 根據(jù) LX2160A 參考手冊(cè),我們嘗試通過(guò) devmem2 命令讀取 SecMon 地址
    發(fā)表于 04-06 07:52

    Vybrid wdog a5配置為60秒時(shí)看到7-15秒wdog-A5超時(shí)怎么解決?

    0x77) 用 devmem 確認(rèn),顯示 0x7735 @ 0x4003E000 閱讀: 參考手冊(cè)提到了“低頻參考時(shí)鐘”,但沒(méi)有: 注明出處 是否或如何配置 是否可以讀取 wdog A5 倒計(jì)時(shí)(例如
    發(fā)表于 05-10 07:44

    如何讀寫(xiě)LS1012A OCRAM?

    你好。 我使用的是 LS1012A 定制板,目前使用的是 LSDK1812。 我想使用 OCRAM,但是當(dāng)我嘗試使用 devmem 讀取它時(shí), 似乎我沒(méi)有訪問(wèn)權(quán)限。 如果您能讓我知道我應(yīng)該如何讀寫(xiě)它
    發(fā)表于 05-19 08:27

    i.MX53如何為EIM設(shè)置時(shí)鐘?

    我通過(guò) i.MX53 處理器中的 EIM 接口在 SRAM 中工作。當(dāng)我從 devmem2 命令讀取值時(shí), 我得到 0xFFFFFFFF 但是當(dāng)我像 0xAAAA5555 一樣向它寫(xiě)入值然后讀取它
    發(fā)表于 05-29 08:58

    如何在shell中操作寄存器

    shell 中操作寄存器可以使用 devmem 命令. devmem 命令其實(shí)就是上述應(yīng)用層操作寄存器生成的可執(zhí)行文件,只不過(guò)busybox已經(jīng)幫我們實(shí)現(xiàn)了。 devmem 命令格式: Usage
    的頭像 發(fā)表于 09-26 16:39 ?978次閱讀

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

    內(nèi)核配置devmem devmem命令依賴于/dev/mem設(shè)備節(jié)點(diǎn),需要在Linux內(nèi)核中打開(kāi)/dev/mem的配置: Device Drivers --- > Character devices
    的頭像 發(fā)表于 10-08 15:16 ?1144次閱讀
    Linux應(yīng)用層操作寄存器