1 个不稳定版本
0.3.8 | 2023年11月20日 |
---|
#1249 在 硬件支持
69KB
2K SLoC
System76 EC
System76 EC 是为 System76 笔记本电脑提供的 GPLv3 许可的嵌入式控制器固件。
文档
快速入门
使用提供的脚本来安装依赖项。
./scripts/deps.sh
如果 rustup 作为此过程的一部分安装,则当前会话中将无法使用正确的 cargo
。启动新的 shell 会话或源 env 文件以更新 PATH
。
source $HOME/.cargo/env
然后为您的笔记本电脑型号构建固件。
make BOARD=system76/<model>
有关如何使用新的固件映像的说明,请参阅烧写。
版本
EC 固件本身没有标记的版本。此仓库的任何提交都可以用作 System76 Open Firmware 版本的一部分。
在官方版本中,EC 与 BIOS 固件共享相同的版本。从 firmware-open 运行以下命令以确定版本的相应 EC 提交。
git ls-tree <release_hash> ec
法律
System76 EC 由 System76 和贡献者拥有版权。
System76 EC 固件在 GNU 通用公共许可证(版本 3)的条款下提供。有关详细信息,请参阅 LICENSE。
- 固件: GPL-3.0-only
- ecflash: LGPL-2.1-or-later
- ecsim: MIT
- ectool: MIT
System76 笔记本电脑中使用的 ITE 嵌入式控制器的数据表不能在公司外部共享。(但是,IT81202E 数据表是公开可用的。虽然它使用不同的核心,但大量寄存器信息与 IT85878E/IT5570E 相同。)
lib.rs
:
访问System76 EC的库。首先,构建一个访问方法,使用实现Access
特质的对象。接下来,可以构建一个Ec对象,该对象公开命令接口。
以下列出了目标和功能之间的一些差异
AccessHid
需要hidapi
功能。仅在USB EC上功能正常。AccessLpcDirect
需要redox_hwio
功能和夜间编译器。此方法仅推荐用于具有LPC EC的固件,因为互斥性无法保证。AccessLpcLinux
需要std
功能和linux target_os。推荐用于LPC EC,因为此方法可以利用互斥性。
EcLegacy
、Pmc
和SuperIo
都需要redox_hwio
功能和夜间编译器。仅推荐在固件中使用这些功能,因为互斥性无法保证。
依赖项
~2.5MB
~38K SLoC