什么是devmem?
在Linux系統,如果我們想要訪問某個寄存器,就需要寫一個驅動程序,在驅動中映射寄存器地址,轉為虛擬地址后就可以訪問。
但有時候,我們只是單純想知道某個寄存器的值,不想這么麻煩,怎么辦呢?
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就可以輕松訪問寄存器。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
內核
+關注
關注
3文章
1382瀏覽量
40425 -
Linux
+關注
關注
87文章
11345瀏覽量
210399 -
RISC
+關注
關注
6文章
465瀏覽量
83873
發布評論請先 登錄
相關推薦
AM437x開發板FPGA與ARM基于GPMC通信測試
位于FPGA光盤”DemoappGPMC”目錄下。將ARM光盤"Demoappdevmem2in"目錄的內存讀寫工具可執行鏡像文件devmem2拷貝到開發板
發表于 05-16 14:28
pinmux怎么通過devmem2讀取狀態,請問這個怎么用devmem2把U14 pin設置成GPIO模式?
本帖最后由 一只耳朵怪 于 2018-6-21 10:41 編輯
想請教下2個問題1.關于pinmux怎么通過devmem2讀取狀態,比如U14 pin腳,我配置成GPIO的話,需要設置成
發表于 06-21 01:35
請問Timer如何配置為PWM模式?應該怎么操作?
,starterware下可以在DTimer的例子中作相應修改。其配置流程為:(以下是linux下的腳本,在linux下測試過,測試xdma_event_intr0有對應輸出。同時說明下devmem2是linux
發表于 06-21 00:15
如何在DM8168硬件平臺+ DVRRDK_04.00.00.03軟件平臺移植VGA驅動?
/enabled,執行測量行場腳沒有波形輸出,
或者在系統中配置寄存器
devmem2 0x4814086C w 2
devmem2 0x48140870 w 2
devmem2 0x48140724 w 2
配置
發表于 06-23 03:08
求助,zynq 7015 中linux下reboot會卡住
的PSS_RST_CTRL中寫1來完成soft reset的。 我還嘗試過直接用devmem工具直接寫這個寄存器,結果是linux下直接卡住,uboot下倒是可以通過mm命令直接重啟成功。我還使用xsct工具進行
發表于 05-12 16:32
【干貨】Linux應用開發小白必備常用案例分享(二)
目錄4.tl_can_echo案例4.1 案例功能4.2 操作說明4.3 關鍵代碼5 tl_devmem_rw案例5.1 案例功能5.2 操作說明5.3 關鍵代碼6 tcp_udp_demos
發表于 08-25 15:26
IMX6ULL串口8工作異常是為什么?怎么解決?
dts的uart8-rx/tx配置如下,是不是還有什么機關呢? 且使用devmem查看mux,配置是正確的,rx,tx確實選擇是正確的。&uart8 { pinctrl-names
發表于 01-10 07:17
ZYNQ在AD7606/AD7616加持下的能源電力方案,實現同步采樣
TLP2P-PinBoard轉接板接到評估板CON8接口,再將AD模塊TL7606P與轉接板連接。圖 11進入評估板文件系統,執行如下命令配置PS-PL電平轉換寄存器。Target# devmem
發表于 04-29 15:20
請大神指點一下devmem讀取方法是否在rtthread中有效
ls2k1000使用在線軟件包devmem,讀取CPU通用配置寄存器及其它寄存器均出現錯誤。請大神指點一下,devmem讀取方法是否在rtthread中有效,或者正確的使用方法?
發表于 10-13 10:11
如何在Linux中檢查SEC_MON狀態?
我們想在 Linux 中檢查 LX2160ARDB 安全監視器 (SEC_MON) 狀態。 根據 LX2160A 參考手冊,我們嘗試通過 devmem2 命令讀取 SecMon 地址
發表于 04-06 07:52
Vybrid wdog a5配置為60秒時看到7-15秒wdog-A5超時怎么解決?
0x77)
用 devmem 確認,顯示 0x7735 @ 0x4003E000
閱讀:
參考手冊提到了“低頻參考時鐘”,但沒有:
注明出處
是否或如何配置
是否可以讀取 wdog A5 倒計時(例如
發表于 05-10 07:44
如何讀寫LS1012A OCRAM?
你好。
我使用的是 LS1012A 定制板,目前使用的是 LSDK1812。
我想使用 OCRAM,但是當我嘗試使用 devmem 讀取它時,
似乎我沒有訪問權限。
如果您能讓我知道我應該如何讀寫它
發表于 05-19 08:27
i.MX53如何為EIM設置時鐘?
我通過 i.MX53 處理器中的 EIM 接口在 SRAM 中工作。當我從 devmem2 命令讀取值時,
我得到 0xFFFFFFFF 但是當我像 0xAAAA5555 一樣向它寫入值然后讀取它
發表于 05-29 08:58
如何在shell中操作寄存器
shell 中操作寄存器可以使用 devmem 命令. devmem 命令其實就是上述應用層操作寄存器生成的可執行文件,只不過busybox已經幫我們實現了。 devmem 命令格式: Usage
Linux應用層操作寄存器
內核配置devmem devmem命令依賴于/dev/mem設備節點,需要在Linux內核中打開/dev/mem的配置: Device Drivers --- > Character devices
評論