【问题标题】:How do i add rhproxy to the ACPI Table如何将 rhproxy 添加到 ACPI 表
【发布时间】:2019-11-20 14:50:53
【问题描述】:
我尝试使用自定义板的 SPI 总线投掷 Windows 10 IoT Enterprise。我在 Congatec SA5 模块上使用 Intel Atom X5 E3930 CPU。
我在系统文件夹中找到了 rhproxy 驱动程序并检查了它的启动选项,我检查了他是否正在运行。
-> 结果是代理已运行,但我在设备树中找不到它,我的软件示例无法打开与 SPI 设备的任何连接。设备的Handle还是NULL
我检查了 ACPI 表,找不到任何关于 rhproxy 的条目。
现在我的问题。
如何获取 rhproxy 的 ACPI 条目,或者有什么方法可以修改 ACPI 表。
问候
【问题讨论】:
标签:
windows
windows-10-iot-core
acpi
【解决方案1】:
如果您需要为用户模式通用 Windows 平台 (UWP) API 提供对 I2C、GPIO 和 SPI 等简单总线的访问,则需要确保 UEFI 固件中的 ACPI 表包含 RHProxy 的适当条目。请参阅user mode access 了解更多信息。您可以尝试创建一个使用 AcpiGenFx 生成 ACPI 表的 .NET 应用程序,请参考此document。
【解决方案2】:
谢谢你的回答,对我很有用。
现在我可以在设备管理器中看到我的 rhproxy,但我无法访问我的 spi 总线。
我的 Spi 总线通过 PCI 总线连接到我的 cpu,我如何告诉 rhproxy 将是一个设备。
static void Main(string[] args)
{
x86Platform platform = Platforms.Createx86Platform(
//ArmPlatform Platform = Platforms.CreateArmPlatform(
OEMID: "MSFT",
OEMTableID: "EDK2",
CreatorID: "MSFT",
Revision: 1,
FileName: "SSDT"
);
platform.SSDT = true;
var rh = platform.AddGenericDevice("RHPX", "MSFT8000", "MSFT8000", 1);
rh.AddSerialPort(AutoAcpi.SerialPortType.Serial, "SPI1", "7270", 0x5AC2);
platform.WriteAsl();
}
这是我用来定义代理的代码。
感谢您的帮助
问候