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

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

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

devmem是什么 如何使用devmem

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

什么是devmem?

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

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

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就可以輕松訪問寄存器。

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

    關(guān)注

    3

    文章

    1377

    瀏覽量

    40338
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11324

    瀏覽量

    209949
  • RISC
    +關(guān)注

    關(guān)注

    6

    文章

    463

    瀏覽量

    83793
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

    如何在DM8168硬件平臺+ DVRRDK_04.00.00.03軟件平臺移植VGA驅(qū)動?

    /enabled,執(zhí)行測量行場腳沒有波形輸出, 或者在系統(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會卡住

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

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

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

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

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

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

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

    請大神指點一下devmem讀取方法是否在rtthread中有效

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

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

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

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

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

    如何讀寫LS1012A OCRAM?

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

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

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

    如何在shell中操作寄存器

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

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

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