【问题标题】:How can I create a tool to write to the BIOS chip?如何创建写入 BIOS 芯片的工具?
【发布时间】:2021-05-28 22:28:18
【问题描述】:

我想知道如何制作一个软件来写入 BIOS 芯片。

我见过一些类似flashrom 的例子,但我不知道它是如何工作的。

如何寻址芯片?我怎样才能写信到这些地址?

【问题讨论】:

  • 这取决于您的硬件。您可能需要特殊硬件来刻录新的引导加载程序、固件等。
  • 您是否尝试过阅读 flashrom 工具的代码?看起来它有几十个不同的驱动程序,适用于不同的主板。
  • 你有电路板的原理图吗?你看到了什么?编程路径中是否存在处理器和闪存以外的组件? (cpld等)?
  • 你查看过闪存部分的数据表吗?
  • PCH 有一个向 SPI/LPC flash ROM 发送命令的接口,但是: 1) 它尊重 flash 描述符,所以你不能在任何地方写或读; 2) 写入通常在启动时被 BIOS 锁定,除非在 SMM 中。 BIOS 通常只允许使用其接口进行刷新(在引导操作系统之前)。您可以在线找到 PCH 数据表。如果你想使用外部硬件,一个 Arduino nano 和一个 SOIC/SOP8 夹子就可以完成这项工作,让你完全重新刷写。在这种情况下,您需要检查闪存数据表/标准,但这很容易。

标签: c assembly bios microchip eeprom


【解决方案1】:

对于一些硬件,您可以从LinuxBoot 项目中获得灵感。

不幸的是,它不支持许多主板,如果你做错了,你可能会破坏你的硬件。

【讨论】:

  • LinuxBoot 不关心闪烁。它只是假设用户可以通过某种方式刷新 DXE。
猜你喜欢
  • 2019-07-25
  • 1970-01-01
  • 2020-02-29
  • 1970-01-01
  • 2018-08-06
  • 1970-01-01
  • 2019-04-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多