我想要将ROM中的二进制代码制作成Linux中的通用文件。那么该怎么做呢。 还有ROM访问的内存地址?
最佳答案
可以读取 ROM BIOS 内容。
- 当您的代码不在某些保护模式操作系统(例如 Linux)下时
- 例如,当您处于启动模式时。此时ROM BIOS内容位于0x000F0000地址处的内存中——看一下IBM PC系统架构内存映射:http://wiki.osdev.org/Memory_Map_(x86) 。这样您就可以从内存中复制您需要的所有内容。
如果您仅需要 ROM BIOS 内容用于学习,您可以使用 BIOS 转储实用程序 - 其中有很多。
您可以检查此实用程序 biosdecode
也检查这个实用程序 flashrom 。如果您的系统受支持,您可以通过发出来读取 BIOS 内容
flashrom -r outputfile
另一个实用程序是 dmidecode
dmidecode -t bios
无需dmidecode读取内存从C:0000到F:FFFF
示例命令:
dd if=/dev/mem bs=1k skip=768 count=256 2>/dev/null | strings -n 8
关于linux - 如何从 Linux shell 访问 BIOS ROM 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43275677/