英特尔Galileo开发板固件更新与修复指南
立即解锁
发布时间: 2025-08-21 00:15:04 阅读量: 1 订阅数: 4 


英特尔Galileo开发实战指南
### 英特尔 Galileo 开发板固件更新与修复指南
#### 1. 使用 SPI 工具
SPI 工具位于解压后的 `spi-flash-tool` 目录中,可用于创建包含或不包含平台数据的胶囊文件和二进制文件。在 `layout.conf` 文件所在的同一目录下,运行以下命令:
```bash
mcramon@ubuntu:~/$ ../../spi-flash-tools/Makefile
```
若一切运行正常,该目录下会生成三个新文件:
| 文件名称 | 说明 |
| ---- | ---- |
| `Flash-missingPDAT.cap` | 预期的胶囊文件,不包含平台数据,可用于刷入英特尔 Galileo 开发板 |
| `Flash-missingPDAT.bin` | 生成 SPI 镜像所需的不包含平台数据的二进制文件 |
| `FVMAIN.fv` | 用于在开发板无法启动时进行恢复 |
#### 2. 刷入胶囊文件
创建好胶囊文件后,可通过以下几种方式将其刷入 SPI 闪存:
- **使用英特尔 Arduino IDE**:这是最简单的方法,只需将 `Flash-missingPDAT.cap` 文件复制到 IDE 的特定文件夹中,该过程仅需使用普通的 USB 数据线。
- **使用 Linux 终端 shell**:具体步骤如下:
1. 将串口线连接到英特尔 Galileo 开发板,并打开 Linux 终端。
2. 检查开发板当前使用的版本,可通过以下命令查看 `/sys/firmware/board_data/flash_version` 文件的内容:
```bash
root@clanton:~# cat /sys/firmware/board_data/flash_version
0x01000105
```
3. 将之前创建的 `Flash-missingPDAT.cap` 文件复制到格式化为 FAT 或 FAT32 单分区的 micro SD 卡或 U 盘。
4. 根据开发板版本执行相应命令:
- 若版本为 0.7.5 或 0.8.0,运行:
```bash
# insmod /tmp/0.7.5/efi_capsule_update.ko
```
或
```bash
# insmod /tmp/0.8.0/efi_capsule_update.ko
```
- 若版本为 0.9.0 或 1.0.0,运行:
```bash
# modprobe efi_capsule_update
```
- 对于较新版本,运行:
```bash
# modprobe sdhci-pci
# modprobe mmc-block
# mkdir /lib/firmware
# cd /media/mmcblk0p1/
# cp Flash-missingPDAT.cap /lib/firmware/Flash-missingPDAT.cap
# echo -n Flash-missingPDAT.cap > /sys/firmware/efi_capsule/capsule_path
# echo 1 > /sys/firmware/efi_capsule/capsule_update
# reboot
```
注意:务必运行 `reboot` 命令,否则胶囊文件更新过程将无法正常工作。
- **使用 UEFI shell**:此方法仅适用于具有非安全启动的开发板,具体要求和步骤如下:
- **所需文件和工具**:
- `Flash-missingPDAT.cap` 文件,需与 `layout.conf` 文件位于同一目录。
- `CapsuleApp.efi` 文件,编译 EDKII 固件时生成,位于 `./Quark_EDKII/Build/QuarkPlatform/PLAIN/DEBUG_GCC/FV/Applications/` 或 `./Quark_EDKII/Build/QuarkPlatform/PLAIN/RELEASE_GCC/FV/Applications/` 目录。
- 串口线,用于打开终端 shell。
- 串口终端软件,如 Windows 下的 Putty 或 Linux、Mac OSX 下的 Minicom,并需进行相应配置。
- micro SD 卡或 U 盘。
- **操作步骤**:
1. 将 micro SD 卡或 U 盘格式化为 FAT 或 FAT32 单分区。
2. 将 `CapsuleApp.efi` 和 `Flash-missingPDAT.cap` 文件复制到 micro SD 卡。
3. 关闭开发板电源,保持串口线连接,打开串口终端软件。
4. 接通电源启动开发板。
5. 看到特定界面后,按 `F7` 功能键。
6. 在菜单中使用箭头键选择 `UEFI Internal Shell` 选项,按 `Enter` 键,再按 `ESC` 键进入 shell 提示符。
7. 输入 `fs0:` 并按 `Enter` 键,使用 `ls` 命令查看 micro SD 卡或 U 盘内容。
8. 输入以下命令开始刷入过程:
```bash
fs0:\> CapsuleApp.efi Flash-missingPDAT.cap
```
- **使用固件更新工具**:2014 年底,英特尔推出了英特尔固件更新工具,可选择应用程序内部的胶囊文件或浏览桌面文件系统选择自定义文件,该工具是独立应用程序,使用简单,无需安装 Arduino IDE。可订阅英特尔创客社区论坛(https://communities.intel.com/community/makers)获取更多相关信息。
#### 3. 创建 SPI 镜像闪存文件
若英特尔 Galileo 开发板变砖无法启动,可考虑使用 SPI 闪存编程器进行刷入,但需要有经过平台数据文件修补的二进制文件。操作前需满足以下条件:
- 成功编译 UEFI 固件(EDKII 包)。
- 识别开发板的以太网 MAC 地址,可查看开发板上的白色标签。
- 拥有闪存编程器,如 DediProg。
平台数据包含开发板的以太网 MAC 地址和型号等信息,每个开发板都应有唯一的平台文件。用于生成包含平台数据的二进制文件的工具是 `.../spi-flash-tools/platform-data` 目录下的 Python 脚本 `platform-data-pa
0
0
复制全文
相关推荐









