从命令行通过 /dev/mem 读取特定内存地址
Read a specific memory address via /dev/mem from the command line
对于上下文,编写驱动程序以与 Xilinx 板上的嵌入式 Linux(Yocto:krogoth)上的 FPGA IP 内核交互。
出于调试目的,我想从物理内存中读出特定的内存地址。 /dev/mem 看起来很有希望。我想问一下如何从命令行读出特定物理内存地址的值。我希望按照 cat /dev/mem 0x2000000
的方式读取 0x2000000 处的字节。
通常您应该已经在 Linux 映像中安装了 devmem 工具:
$ devmem 0x2000000
但是,如果您不这样做,您可以转到 Busybox 菜单并调整它以确保它已被编译和安装:
$ bitbake busybox -c menuconfig
(搜索 devmem)
Hexdump通常安装在嵌入式系统中。然后你可以做
hexdump -C --skip 0x2000000 /dev/mem | head
为了阅读多个单词,并以各种方式对其进行解码。
(busybox hexdump 有一些限制,但仍然非常有用。)
对于上下文,编写驱动程序以与 Xilinx 板上的嵌入式 Linux(Yocto:krogoth)上的 FPGA IP 内核交互。
出于调试目的,我想从物理内存中读出特定的内存地址。 /dev/mem 看起来很有希望。我想问一下如何从命令行读出特定物理内存地址的值。我希望按照 cat /dev/mem 0x2000000
的方式读取 0x2000000 处的字节。
通常您应该已经在 Linux 映像中安装了 devmem 工具:
$ devmem 0x2000000
但是,如果您不这样做,您可以转到 Busybox 菜单并调整它以确保它已被编译和安装:
$ bitbake busybox -c menuconfig
(搜索 devmem)
Hexdump通常安装在嵌入式系统中。然后你可以做
hexdump -C --skip 0x2000000 /dev/mem | head
为了阅读多个单词,并以各种方式对其进行解码。 (busybox hexdump 有一些限制,但仍然非常有用。)