在 Raspberry Pi 2 B 上设置 Windows 10 IoT 核心






4.83/5 (5投票s)
本提示介绍了在 Raspberry Pi 2 B 上的 Windows 10 IoT 核心的配置选项。
引言
在本提示中,我将介绍 Windows 10 IoT 核心提供的配置选项。
背景
这篇帖子是我关于开发 Windows 10 IoT 核心应用程序系列文章的一部分。要查看我所有的帖子,请访问我的介绍文章:Windows 10 IoT 简介。
Config.txt 设置
要了解更多关于 config.txt 值的信息,您可以阅读官方文档。
您可以设置的第一件事是设备 SD 卡上的 config.txt。初始配置如下:
gpu_mem=32 # set ARM to 480Mb DRAM, VC to 32Mb DRAM
framebuffer_ignore_alpha=1 # Ignore the alpha channel for Windows.
framebuffer_swap=1 # Set the frame buffer to be Windows BGR compatible.
disable_overscan=1 # Disable overscan
init_uart_clock=16000000 # Set UART clock to 16Mhz
hdmi_group=2 # Use VESA Display Mode Timing over CEA
arm_freq=900
arm_freq_min=900
force_turbo=1
此配置将产生 1360 x 768 @60Hz 格式的视频输出。
以“arm_freq
”开头的块是简单地禁用了 Raspberry Pi 上的 ARM 电源管理和动态频率更改,并将默认频率设置为 900Mhz。(没有这个,您的 Raspberry Pi 将运行在 600Mhz,因为 Windows 还没有实现动态频率更改。)
设置屏幕分辨率
我需要在我的显示器上获得全高清分辨率,所以我在配置中使用了这个额外的设置(您只需将这些行添加到配置中并重启设备)
hdmi_drive=2
hdmi_mode=82
通过 hdmi_drive=2
,我将其设置为 DMT(显示器时序;通常由显示器使用的标准)
通过 hdmi_mode=82
,我将分辨率设置为 1920x1080 @60Hz (1080p)
如果您想阅读更多关于支持的分辨率的信息,您可以在这里找到一篇非常有用的文章。
我已经测试了许多不同的设置,目前我最终确定了此设置,因为我不需要声音,所以对我来说没问题。
当然,您可以尝试这些设置,找出最适合您需求的分辨率。
要设置正确的显示分辨率,您需要更改这三个设置:
hdmi_group | 结果 |
0 | 从 EDID 自动检测 |
1 | CEA |
2 | DMT |
根据 hdmi_group,您可以选择 hdmi_mode
(组 1 和组 2 有不同的模式可用,当 hdmi_group
为 0
时,您无法选择 hdmi_mode
)。
组 1 可用的 HDMI 模式
hdmi_mode | 解决 | 频率 | 备注 |
1 | VGA (640x480) | ||
2 | 480p | 60Hz | |
3 | 480p | 60Hz | 16:9 宽高比 |
4 | 720p | 60Hz | |
5 | 1080i | 60Hz | |
6 | 480i | 60Hz | |
7 | 480i | 60Hz | 16:9 宽高比 |
8 | 240p | 60Hz | |
9 | 240p | 60Hz | 16:9 宽高比 |
10 | 480i | 60Hz | 像素四倍频 |
11 | 480i | 60Hz | 像素四倍频,16:9 宽高比 |
12 | 240p | 60Hz | 像素四倍频 |
13 | 240p | 60Hz | 像素四倍频,16:9 宽高比 |
14 | 480p | 60Hz | 像素倍频 |
15 | 480p | 60Hz | 像素倍频,16:9 宽高比 |
16 | 1080p | 60Hz | |
17 | 576p | 50Hz | |
18 | 576p | 50Hz | 16:9 宽高比 |
19 | 720p | 50Hz | |
20 | 1080i | 50Hz | |
21 | 576i | 50Hz | |
22 | 576i | 50Hz | 16:9 宽高比 |
23 | 288p | 50Hz | |
24 | 288p | 50Hz | 16:9 宽高比 |
25 | 576i | 50Hz | 像素四倍频 |
26 | 576i | 50Hz | 像素四倍频,16:9 宽高比 |
27 | 288p | 50Hz | 像素四倍频 |
28 | 288p | 50Hz | 像素四倍频,16:9 宽高比 |
29 | 576p | 50Hz | 像素倍频 |
30 | 576p | 50Hz | 像素倍频,16:9 宽高比 |
31 | 1080p | 50Hz | |
32 | 1080p | 24Hz | |
33 | 1080p | 25Hz | |
34 | 1080p | 30Hz | |
35 | 480p | 60Hz | 像素四倍频 |
36 | 480p | 60Hz | 像素四倍频,16:9 宽高比 |
37 | 576p | 50Hz | 像素四倍频 |
38 | 576p | 50Hz | 像素四倍频,16:9 宽高比 |
39 | 1080i | 50Hz | 减少消隐 |
40 | 1080i | 100Hz | |
41 | 720p | 100Hz | |
42 | 576p | 100Hz | |
43 | 576p | 100Hz | 16:9 宽高比 |
44 | 576i | 100Hz | |
45 | 576i | 100Hz | 16:9 宽高比 |
46 | 1080i | 120Hz | |
47 | 720p | 120Hz | |
48 | 480p | 120Hz | |
49 | 480p | 120Hz | 16:9 宽高比 |
50 | 480i | 120Hz | |
51 | 480i | 120Hz | 16:9 宽高比 |
52 | 576p | 200Hz | |
53 | 576p | 200Hz | 16:9 宽高比 |
54 | 576i | 200Hz | |
55 | 576i | 200Hz | 16:9 宽高比 |
56 | 480p | 240Hz | |
57 | 480p | 240Hz | 16:9 宽高比 |
58 | 480i | 240Hz | |
59 | 480i | 240Hz | 16:9 宽高比 |
组 2 可用的 HDMI 模式
hdmi_mode | 解决 | 频率 | 备注 |
1 | 640x350 | 85Hz | |
2 | 640x400 | 85Hz | |
3 | 720x400 | 85Hz | |
4 | 640x480 | 60Hz | |
5 | 640x480 | 72Hz | |
6 | 640x480 | 75Hz | |
7 | 640x480 | 85Hz | |
8 | 800x600 | 56Hz | |
9 | 800x600 | 60Hz | |
10 | 800x600 | 72Hz | |
11 | 800x600 | 75Hz | |
12 | 800x600 | 85Hz | |
13 | 800x600 | 120Hz | |
14 | 848x480 | 60Hz | |
15 | 1024x768 | 43Hz | 与 Raspberry Pi 不兼容 |
16 | 1024x768 | 60Hz | |
17 | 1024x768 | 70Hz | |
18 | 1024x768 | 75Hz | |
19 | 1024x768 | 85Hz | |
20 | 1024x768 | 120Hz | |
21 | 1152x864 | 75Hz | |
22 | 1280x768 | 减少消隐 | |
23 | 1280x768 | 60Hz | |
24 | 1280x768 | 75Hz | |
25 | 1280x768 | 85Hz | |
26 | 1280x768 | 120Hz | 减少消隐 |
27 | 1280x800 | 减少消隐 | |
28 | 1280x800 | 60Hz | |
29 | 1280x800 | 75Hz | |
30 | 1280x800 | 85Hz | |
31 | 1280x800 | 120Hz | 减少消隐 |
32 | 1280x960 | 60Hz | |
33 | 1280x960 | 85Hz | |
34 | 1280x960 | 120Hz | 减少消隐 |
35 | 1280x1024 | 60Hz | |
36 | 1280x1024 | 75Hz | |
37 | 1280x1024 | 85Hz | |
38 | 1280x1024 | 120Hz | 减少消隐 |
39 | 1360x768 | 60Hz | |
40 | 1360x768 | 120Hz | 减少消隐 |
41 | 1400x1050 | 减少消隐 | |
42 | 1400x1050 | 60Hz | |
43 | 1400x1050 | 75Hz | |
44 | 1400x1050 | 85Hz | |
45 | 1400x1050 | 120Hz | 减少消隐 |
46 | 1440x900 | 减少消隐 | |
47 | 1440x900 | 60Hz | |
48 | 1440x900 | 75Hz | |
49 | 1440x900 | 85Hz | |
50 | 1440x900 | 120Hz | 减少消隐 |
51 | 1600x1200 | 60Hz | |
52 | 1600x1200 | 65Hz | |
53 | 1600x1200 | 70Hz | |
54 | 1600x1200 | 75Hz | |
55 | 1600x1200 | 85Hz | |
56 | 1600x1200 | 120Hz | 减少消隐 |
57 | 1680x1050 | 减少消隐 | |
58 | 1680x1050 | 60Hz | |
59 | 1680x1050 | 75Hz | |
60 | 1680x1050 | 85Hz | |
61 | 1680x1050 | 120Hz | 减少消隐 |
62 | 1792x1344 | 60Hz | |
63 | 1792x1344 | 75Hz | |
64 | 1792x1344 | 120Hz | 减少消隐 |
65 | 1856x1392 | 60Hz | |
66 | 1856x1392 | 75Hz | |
67 | 1856x1392 | 120Hz | 减少消隐 |
68 | 1920x1200 | 减少消隐 | |
69 | 1920x1200 | 60Hz | |
70 | 1920x1200 | 75Hz | |
71 | 1920x1200 | 85Hz | |
72 | 1920x1200 | 120Hz | 减少消隐 |
73 | 1920x1440 | 60Hz | |
74 | 1920x1440 | 75Hz | |
75 | 1920x1440 | 120Hz | 减少消隐 |
76 | 2560x1600 | 减少消隐 | |
77 | 2560x1600 | 60Hz | |
78 | 2560x1600 | 75Hz | |
79 | 2560x1600 | 85Hz | |
80 | 2560x1600 | 120Hz | 减少消隐 |
81 | 1366x768 | 60Hz | |
82 | 1920x1080 | 60Hz | 1080p |
83 | 1600x900 | 减少消隐 | |
84 | 2048x1152 | 减少消隐 | |
85 | 1280x720 | 60Hz | 720p |
86 | 1366x768 | 减少消隐 |
以及最后一个参数,hdmi_drive
hdmi_drive | 结果 |
1 | 普通 DVI 模式(无声音) |
2 | 普通 HDMI 模式(如果支持并启用,声音将通过 HDMI 发送) |
不用担心测试这些值 - 最糟糕的情况是您的 Raspberry Pi 没有正确输出,设备仍然会启动并正常工作,您可以更改配置并重启设备。
设置屏幕旋转
有时,您想将 Raspberry Pi 的屏幕旋转 90、180 或 270 度。您也可以使用配置来做到这一点。
为此,您将使用 display_rotate
。以下是可用值:
display_rotate | 结果 |
0 | 无旋转 |
1 | 顺时针旋转 90 度 |
2 | 顺时针旋转 180 度 |
3 | 顺时针旋转 270 度 |
0x10000 | 水平翻转 |
0x20000 | 垂直翻转 |
使用此设置时,您应谨慎操作,并在每次更改后进行测试。当我使用 Raspberry Pi 上的 Windows 时,在更改旋转后直到我将 gpu_mem
增加到某个较高值(例如)后,它才启动。
gpu_mem=128
基于此以及我的测试,最好不要更改设备的显示旋转,因为我认为仅旋转 HDMI 输出会消耗大量处理能力。我在测试我的应用程序以 90 度旋转运行时也经历了性能严重下降。
低电压警告
我通常从具有 USB 端口的电视获取 Raspberry Pi 的电源,通常我会直接收到 Raspberry Pi 的低电流警告。到目前为止,我还没有注意到与此相关的性能或可靠性问题,它只是很烦人。参见图片。
要禁用它,只需在 config 中添加此项:
avoid_warnings=2
我知道,这可能不是最佳实践,并且此警告有其意义,但由于它对我应用程序没有影响,所以我不希望看到它。如果警告可以简单关闭且不会发生任何事情,我不想再添加一个电源来避免此警告。在我的情况下,我使用电视 USB 端口作为电源。当我测试时,我发现此问题的原因通常是您使用的电缆。因此,为了解决这个问题,我建议测试几根 USB 数据线。
连接到 Raspberry Pi 2 B 上的文件系统
有几种方法可以连接到 Windows 10 IoT 上的文件系统。
在您的计算机上访问 SD 卡
这是最简单的方法,但您只能更改非常有限的设置。基本上,您只能修改 config.txt。
我建议首先关闭 Raspberry Pi,然后您可以拔出 SD 卡并将其插入您的计算机。然后,您应该会看到类似这样的内容:
在 Windows 上看到的只是 SD 卡的第一个分区。创建 SD 卡时,Windows 将其分为 4 个分区。在 Windows 系统上,用户只能看到带有正常设置的第一个分区。
直接连接到设备文件系统
要查看所有分区并修改文件系统上的几乎所有内容,您需要将 SD 卡放回 Raspberry Pi 并将其打开。然后,您可以使用 IOT Dashboard 查找其 IP 地址。(要阅读有关 IOT Dashboard 的更多信息,您可以阅读我之前的文章:在 Raspberry Pi 上安装 Windows 10 IoT 核心)。
知道 IP 地址后,只需打开 Windows 资源管理器并导航到 Raspberry Pi。在我的例子中,我输入了:
\\192.168.0.233\c$
请注意地址末尾的 c$
,它必须在那里,否则此方法将不起作用。
输入设备地址后,您将被要求输入设备凭据。这些是默认凭据:
Username : Administrator
Password : p@ssw0rd
当然,如果您更改了密码,请在此处输入新密码。
成功登录后,您应该会看到设备上的文件系统:
在这里,您可以看到文件系统在设备上的划分方式,根目录是 C:\,您还可以看到 Data、Crash dump 和 EFISP(这是插入 SD 卡到 PC 时看到的分区)的链接。
C:\ 是已安装的主操作系统,所有 Windows 二进制文件都存储在这里的 Windows 文件夹中。您在这里几乎找不到用户数据,这些数据在 Data 分区上。
Data\ 您可以在 \Data\Users\DefaultAccount 中找到您安装的应用程序的工作目录。
CrashDump\ 可能是系统用于存储崩溃转储的地方,我从未在那里见过任何有趣的东西。
EFISP\ 是主引导分区,存储 config.txt,您可以直接在设备上修改它,但要看到效果,需要重启设备。
远程访问设备
第三种方法功能最强大,您可以从您的计算机远程访问设备的命令行。为此,您可以使用 Powershell 或 putty(putty 更快但选项比 Powershell 少)。从哪个操作系统连接到 Raspberry Pi 并不重要。
使用 Powershell 访问设备
1. 在您的 PC 上以管理员身份启动 Powershell。
启动 Powershell 后,您应该运行以下命令:
net start WinRM
下一步是将机器密钥添加到受信任主机列表,您将使用此命令完成:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value 192.168.0.233
然后,您通过“Y
”进行确认。
之后,您可以连接到您的设备:
Enter-PSSession -ComputerName 192.168.0.233 -Credential 192.168.0.233\Administrator
在此命令后,您将被要求输入密码。默认密码是 p@ssw0rd。
请耐心等待,因为此过程需要一段时间(可能需要 2-3 分钟)。过程完成后,您应该会在设备上看到控制台。
输出将如下所示:
了解您可以使用哪些控制台命令非常有帮助,我推荐您访问此网站:http://ss64.com/nt/。
Powershell 是连接到 Raspberry Pi 的一个非常好的选择,但恕我直言,它有点慢,并且一些 C++ 控制台应用程序在这种情况下可能会以不正确的方式运行。当您在使用 Powershell 时遇到问题时,您仍然有至少一个其他选择。
使用 Putty 访问设备
是的,您可以使用 putty 或任何其他 SSH 客户端连接到 Windows 10 IoT。而且它非常简单,只需从以下网址下载 putty:http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe。
下载后,只需输入设备的 IP 地址,如下所示:
您将被要求输入用户名,即 Administrator,然后输入密码(p@ssw0rd),您将进入与使用 Powershell 连接时相同的控制台,只是 putty 快得多。
就是这样。我希望您能够设置好一切。如果您有任何问题,请在下方的评论区留言,我会回复。