Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
174 changes: 170 additions & 4 deletions docs/common/orion-common/low-level-dev/_bios.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@

:::tip 推荐配件

- [瑞莎 DC 36W 电源适配器(推荐使用)](https://radxa.com/products/accessories/power-dc12-36w)
- [瑞莎 DC 60W 电源适配器(推荐使用)](https://radxa.com/products/accessories/power-dc12-60w)
- [瑞莎 DC 36W 电源适配器 (推荐使用)](https://radxa.com/products/accessories/power-dc12-36w)
- [瑞莎 DC 60W 电源适配器 (推荐使用)](https://radxa.com/products/accessories/power-dc12-60w)
- 标准 12V DC5525 电源适配器,建议电流 3A 及以上

:::
Expand Down Expand Up @@ -124,7 +124,7 @@ USB 转 TTL 串口线的连接方式可以参考 <a href={props?.serial_login ??

<TabItem value="有屏模式">

启动主板后,显示器出现 Radxa Logo 和进度条时,短按键盘的 “Esc” 按键进入 `BIOS` 界面。
启动主板后,显示器出现 Radxa Logo 和进度条时,短按键盘的“Esc”按键进入 `BIOS` 界面。

<div style={{ textAlign: "center" }}>
Radxa Logo 界面
Expand Down Expand Up @@ -167,7 +167,7 @@ Press ESCAPE for boot options
/>
</div>

进入 UEFI Shell 界面后,按 `ESC` 键取消自动更新,手动进入指定磁盘更新 BIOS固件
进入 UEFI Shell 界面后,按 `ESC` 键取消自动更新,手动进入指定磁盘更新 BIOS 固件

<div style={{ textAlign: "center" }}>
UEFI Shell 界面
Expand Down Expand Up @@ -224,3 +224,169 @@ startup.nsh
3. 重启系统

更新完成后,重新插拔电源适配器启动系统!

## 使用编程器刷写 BIOS 固件(仅在无法启动系统时使用)

对于需要从损坏的 BIOS 中恢复或偏好直接硬件访问的高级用户,可以使用 Serial Flash 编程器(如 CH341A)将 BIOS 固件(cix_flash_all.bin)直接刷写到 SPI NOR Flash 芯片中。此方法完全绕过操作系统,即使在设备无法启动的情况下也能工作。

### 准备工作

1. 准备硬件

- 编程器:推荐使用 CH341A / CH341B 编程器
- 1.8V 转换器
- SOP8 烧录夹
- linux 系统的电脑

2. 下载 BIOS 固件

访问 <a href={props?.download_page ?? '../download.md'}>资源汇总下载</a> 页面,下载 BIOS 固件。
从 radxa-dl 网站上下载的固件是 zip 格式,需要进行两次解压:

<NewCodeBlock tip="user@linux$" type="host">

```
unzip orion-o6-bios-v1.x.x.zip # orion o6n 的 bios 名称与之类似
cd orion-o6-bios-v1.x.x # 进入解压后的目录
gzip -d cix_flash_all.bin.gz
```

</NewCodeBlock>

3. 安装 flashrom 工具

<NewCodeBlock tip="user@linux$" type="host">

```
sudo apt-get install flashrom
```

</NewCodeBlock>

### 组装烧录夹

1. 将 CH341A/B 编程器设置为刷机模式
将编程器的跳线帽设置为刷机模式,具体位置请参考编程器说明书。

<div style={{ textAlign: "center" }}>
<img
src="/img/orion/o6/bios/orion-o6-ch341-pin.webp"
style={{ width: "100%", maxWidth: "1200px" }}
/>
</div>

2. 将 1.8V 转换器放在 CH341A/B 编程器的烧录夹上并锁定压杠

<div style={{ textAlign: "center" }}>
<img
src="/img/orion/o6/bios/orion-o6-ch341-adapter-clamp.webp"
style={{ width: "100%", maxWidth: "1200px" }}
/>
</div>

3. 将 SOP8 烧录夹放在 1.8V 转换器的脚端并锁定压杠

<div style={{ textAlign: "center" }}>
<img
src="/img/orion/o6/bios/orion-o6-adapter-sop8-clamp-lock.webp"
style={{ width: "100%", maxWidth: "1200px" }}
/>
</div>

4. 使用夹具夹住 Flash ROM 芯片

<Tabs queryString="type">
<TabItem
value="星睿 O6"
default={props.tag === "o6"}
attributes={{ className: props.tag === "o6n" && "tab_none" }}
>
将烧录夹夹住主板上的 Flash ROM
芯片确保夹具的引脚与芯片的引脚对应正确,红色的线为 SOP8 的 1
号引脚,和芯片上圆形点标注的引脚对应。
<div style={{ textAlign: "center" }}>
<img
src="/img/orion/o6/bios/orion-o6-ch341-eeprom-clamp.webp"
style={{ width: "100%", maxWidth: "1200px" }}
/>
</div>
</TabItem>
<TabItem
value="星睿 O6N"
default={props.tag === "o6n"}
attributes={{ className: props.tag === "o6" && "tab_none" }}
>
将烧录夹夹住取下来的 Flash ROM
芯片,确保夹具的引脚与芯片的引脚对应正确,红色的线为 SOP8 的 1
号引脚,和芯片上圆形点标注的引脚对应。 拆卸安装 BIOS
芯片的步骤请参考下方的“拆卸 SPI Flash 芯片”和“安装 SPI Flash 芯片”章节。
<div style={{ textAlign: "center" }}>
<img
src="/img/orion/o6/bios/orion-o6n-ch341-eeprom-clamp.webp"
style={{ width: "100%", maxWidth: "1200px" }}
/>
</div>
</TabItem>
</Tabs>

### 刷写 BIOS 固件

1. 插入编程器并启动电脑

将组装好的编程器插入 linux 系统的电脑 USB 接口。

2. 查看编程器识别情况

<NewCodeBlock tip="user@linux$" type="host">

```
sudo flashrom -L | grep ch341
```

</NewCodeBlock>

如果显示类似如下信息,表示编程器识别成功:

```
Supported USB devices for the ch34la_spi programmer
```

3. 查看芯片识别情况

<NewCodeBlock tip="user@linux$" type="host">

```
sudo flashrom -p ch341a_spi -n
```

</NewCodeBlock>

如果显示类似如下信息,表示芯片识别成功:

```
Found Winbond flash chip "W25Q64.W" (8192 kB, SPI) on ch341a_spi.
```

4. 刷写 BIOS 固件

确保进行此步骤时,编程器和芯片连接稳定,避免刷写过程中断电或连接不稳定导致刷写失败。

当前目录下有需要刷写的 `cix_flash_all.bin` 文件。

<NewCodeBlock tip="user@linux$" type="host">

```
sudo flashrom -p ch341a_spi -w cix_flash_all.bin
```

</NewCodeBlock>

等待刷写完成,显示如下信息表示刷写成功:

```
Verifying flash... VERIFIED.
```

5. 重启系统

更新完成后,重新插拔电源适配器启动系统!
12 changes: 2 additions & 10 deletions docs/orion/o6/low-level-dev/bios.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ import BIOS from '../../../common/orion-common/low-level-dev/\_bios.mdx';

<BIOS board="星睿 O6" power="20V Type-C 电源适配器" download_page="../../download" tag="o6" serial_login="../system-use/uart"/>

## 使用烧录器更新 BIOS 固件

对于需要从损坏的 BIOS 中恢复或偏好直接硬件访问的高级用户,可以使用 Serial Flash 编程器(如 CH341A )将BIOS固件(cix_flash_all.bin)直接刷写到 SPI NOR Flash 芯片中。此方法完全绕过操作系统,即使在设备无法启动的情况下也能工作。
## 安装与拆卸 SPI Flash 芯片

### 拆卸 SPI Flash 芯片

Expand All @@ -28,12 +26,6 @@ import BIOS from '../../../common/orion-common/low-level-dev/\_bios.mdx';
<img src="/img/orion/o6/o6_spi_uninstall.webp" style={{width: '100%', maxWidth: '1200px'}} />
</div>

### 烧录 BIOS 固件

有关详细的步骤说明和硬件要求,请参阅社区成员 Meco 提供的全面 [论坛指南](https://forum.radxa.com/t/guide-flash-bios-with-ch341a-macos-linux/26742)。

论坛指南教程所需要的 `cix_flash_all.bin` 文件位于下载 BIOS 包中。

### 安装 SPI Flash 芯片

① : 将 SPI Flash 芯片安装到主板上
Expand All @@ -44,7 +36,7 @@ import BIOS from '../../../common/orion-common/low-level-dev/\_bios.mdx';

:::tip 安装时注意芯片安装的方向和位置

- 芯片的圆圈对应引脚 1 ,图中用红色小圆圈标注出来了。
- 芯片的圆圈对应引脚 1,图中用红色小圆圈标注出来了。
- 安装 SPI Flash 的底座有一个三角箭头,对应 SPI Flash 的引脚 1

你可以通过以上两种方式确认 SPI Flash 的安装方向和位置。
Expand Down
Loading