Pada komputer papan tunggal yang menjalankan Linux, apakah ada cara untuk membaca konten register konfigurasi perangkat yang mengontrol perangkat keras? Saya pikir itu akan menjadi pembungkus untuk inw()
.
Saya mencari sesuatu yang setara dengan md
perintah dump memori U-boot ( ), untuk digunakan dalam konteks debugging driver.
Jawaban:
Jika Anda tahu alamat fisik perangkat, Anda dapat menggunakan devmem2.
sumber
Saya tidak tahu apakah Anda bisa melakukannya langsung dengan kernel vanilla.
Tetapi harus cukup maju untuk menulis driver sederhana yang menggunakan "file" di / proc untuk mengekspor konten memori yang ingin Anda lihat.
Kemudian Anda dapat membaca "file" Anda dengan skrip sederhana dan memiliki akses ke memori itu.
sumber
Saya bisa salah dan benar-benar salah tentang hal ini, dan maafkan saya jika saya, tetapi jika perintah md uboot hanya membaca alamat memori yang dipetakan ke register perangkat dan mengembalikan konten kepada Anda, tidak bisakah Anda membaca lokasi memori yang sama dengan penggunaan yang cerdik dari
dd if=/dev/mem ...
?sumber
Apakah konfigurasi perangkat PCI di / sys / bus / pci / devices / * / config ada bantuan?
sumber
busybox devmem
busybox devmem
adalah versi pilihan sayadevmem2
yang disebutkan di: /unix//a/134661/32558devmem2
datang dalam banyak versi yang berbeda dari beberapa upstreams, terutama Buildroot http://free-electrons.com/pub/mirror/devmem2.cTetapi utilitas Busybox lebih bersifat kanonik, tersedia secara luas dan dipelihara.
Misalnya,
devmem2
ditolak dari Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=595805 (tetapi paket Ubuntu dibuat tanpa harus dilakukan).Anda bisa mendapatkannya di Ubuntu dengan:
Penggunaan: baca 4 byte dari alamat fisik
0x12345678
:Tulis
0x9abcdef0
ke alamat itu:Berikut adalah beberapa cara keren untuk menguji
devmem
: /programming/12040303/accessing-physical-address-from-user-space/45127890#45127890sumber
Ada utilitas bernama pcimem ( https://github.com/billfarrow/pcimem )
Anda dapat menggunakannya untuk membaca dan menulis ke / dari perangkat pci.
sumber