.NET Micro Framework 4.4 入门






4.56/5 (4投票s)
如何构建 .Net Micro Framework 4.4 仓库并使用适用于 Windows 的 .Net Micro Framework 模拟器创建简单的“Hello World”示例。
引言
几周前,.Net Micro Framework 发布了一个新版本。这是一项非常有趣但技术性很强的技术。而且,像许多开源项目一样,它的文档存在一些问题。因此,运行一个简单的示例可能需要花费很多时间。
在本文中,我想弥补这一不足,介绍如何在 Windows 上快速轻松地安装使用 .Net Micro Framework 模拟器所需的一切。本文的俄语版本 在此。
背景
本文重点介绍 .Net Micro Framework 4.4 版本。从这个版本开始,该项目迁移到了 GitHub。它包含两个分支:
- llilum — 新平台,直接将 C# 代码编译为微控制器汇编代码;
- netmf-interpreter — .Net Micro Framework 解释器,“经典”分支,它为特定硬件平台使用运行时环境的实现。
我将重点介绍 netmf-interpreter,因为目前该分支最适合实际使用。
首先需要注意的是,netmf-interpreter 4.4 仅适用于 Visual Studio 2015 Community、Pro 和 Ultimate 版本。
开始使用 .NetMF 4.4
有三种不同的方式可以开始使用 netmf-interpreter 4.4:
- 从仓库构建安装文件,
- 从 GitHub releases 页面下载安装文件,
- 通过 Visual Studio 2015 的“扩展和更新”下载安装文件。
从仓库构建
这是最难的一种方式。但它允许使用仓库中的最新代码。此外,当您需要对模拟器进行某些更改或为其他硬件平台构建自己的“移植”时,使用仓库的能力会很有用。
您可以在 此处 找到仓库。可以将其下载为 zip 压缩包或使用 git 获取。有关如何获取仓库和构建安装文件的说明,请 此处。本文基于这些说明。与特定版本关联的仓库版本可以从 此处 下载为 zip 压缩包。
使用以下步骤通过 git 获取仓库:
- 在 GitHub 服务器上,使用 fork 命令在您的 GitHub 账户中创建仓库的公共副本。所有拉取请求都必须来自公共 GitHub 仓库。
- 使用 clone 命令获取仓库的本地副本。例如:
git clone https://github.com/<your GitHub ID>/netmf-interpreter.git
重要提示:选择本地仓库路径时,至少需要创建一个父文件夹。例如:D:\NETMF\repo
,其中 repo 是仓库文件夹。
- 将本地仓库设置为 Upstream。将官方仓库设置为本地克隆的“Upstream”仓库,可以使您能够将官方最新提交的内容拉取到您的仓库中,并在提交拉取请求之前在本地解决合并问题。设置 Upstream 远程的命令是:
git remote add upstream https://github.com/NETMF/netmf-interpreter.git
重要提示:解压 zip 文件中的仓库时,也需要至少创建一个父文件夹。例如:D:\NETMF\repo
,其中 repo 是仓库文件夹。
不幸的是,.NET Micro Framework v4.4 Release To Web (RTW) 包含一些问题,导致您无法立即从仓库构建安装文件。但是,这些问题可以轻松修复。
获取本地仓库副本后,您需要执行以下步骤:
- 下载 二进制工具 zip 文件。该文件包含构建安装文件和设备“移植”所需的工具。未来计划移除这些实用程序,但目前仍需要它们。
-
将 `binary tools` zip 文件中的内容解压到仓库的父文件夹中。例如,对于路径
D:\NETMF\repo
(其中repo
是仓库文件夹),bin
和tools
文件夹必须位于D:\NETMF
文件夹中。 - 重要提示:在文件
<repo folder>\Framework\Tools\BuildTasksInternal\BuildSigner\BuildSignerSpotBuild.csproj
第 37 行进行更改
<HintPath>$(MSBuildProgramFiles32)\Microsoft Internal\Codesign.Submitter\CODESIGN.Submitter.dll</HintPath>
to
<HintPath>$(SPOROOT)\tools\x86\CODESIGN\CODESIGN.Submitter.dll</HintPath>
这是第一个问题修复。没有此替换,仓库的构建将不会成功。此修复仅适用于 .NET Micro Framework v4.4 Release To Web (RTW)。未来,仓库将包含正确的文件。您可以在 此处 阅读有关此问题的详细信息。
- 您需要下载 CMSIS 库并将其放置在
<repo folder>\CMSIS
文件夹中。有关 CMSIS 库的版本和链接的更多信息,请参见文件 <repo folder>\CMSIS\ReadMe.md
。
CMSIS 是 Cortex Microcontroller Software Interface Standard 的缩写。该库不依赖于特定制造商,旨在与 Cortex-M 核心配合使用。CMSIS 由内核开发者 ARM 公司提供和支持。使用此库可以简化为不同制造商的不同微控制器创建“移植”的工作。
对于 .Net Micro Framework 4.4 版本,您需要下载 CMSIS 版本 4.3 或更高版本。该库以 zip 压缩包 (CMSIS-SP-00300-r4p3-00rel0.zip) 的形式提供。可以从 ARM 网站下载。压缩包的内容应放置在 <repo folder>\СMSIS
文件夹中。
- 在此步骤中,您需要安装 .Net Micro Framework Cryptographic Libraries。这些库用于对将在微控制器上执行的程序集进行签名。仅构建过程需要加密库的可执行文件。但您也可以下载源代码。
库以 msi 文件形式提供。我建议将其安装在任何方便的文件夹中(我们称之为 <crypto install folder>
),然后将其复制到每个仓库的根目录。例如 D:\NETMF\repo
和 D:\NETMF\repo_master
。
需要一个单独的加密库文件夹来修复第二个构建问题。
仓库和所有必需的库已最终下载。您可以构建安装文件。.Net Micro Framework 使用 MSBuild 作为构建平台。仓库包含许多 sln 和 proj 文件,但 Visual Studio 无法使用,因为这些文件包含扩展格式。Visual Studio 也使用 MSBuild,但这个构建平台允许创建更复杂的项目。
因此,您需要打开命令提示符并导航到仓库所在的文件夹,如下所示:
cd /d D:\WORKDIR\NetMf\NetMFRepo\repo
然后需要执行 `build_sdk.cmd` 文件。这将启动构建过程:
构建过程将在几分钟后完成。将创建许多文件,但我们只需要一个:<repo folder>\BuildOutput\public\Release\Server\dll\NetmfVS14.vsix
但是,由于第二个问题,第二个安装文件将不会被创建。最后一步是修复它。您需要将文件
<crypto install folder>\crypto\lib\x86\dll\crypto.dll
复制到文件夹
<repo folder>\BuildOutput\public\Release\Server\dll\
此库应该在构建过程中自动复制,但实际并未复制。
如果您再次开始构建过程,将创建两个文件:
<repo folder>\BuildOutput\public\Release\Server\dll\NetmfVS14.vsix <repo folder>\BuildOutput\public\Release\Server\msm\MicroFrameworkSDK.MSI
现在您拥有了所有安装文件。
NetmfVS14.vsix
是 Visual Studio 插件。MicroFrameworkSDK.MSI
是库和模拟器安装文件。
安装插件时,它将自动配置自身。库必须以“典型”安装类型进行安装。
从 Visual Studio 安装
可以使用 Visual Studio 中的 `Tools->Extensions and Updates` 菜单项来获取 `MicroFrameworkSDK.MSI` 和 `NetmfVS14.vsix` 文件。
在打开的对话框中选择“在线”选项卡,并在搜索字段中使用“netmf”关键字(红色框)。
绿色框突出显示您需要下载和安装的内容。
.NET Micro Framework project system
是 Visual Studio 插件。它对应于 `NetmfVS14.vsix` 文件,并通过“扩展和更新”对话框安装。
.NET Micro Framework SDK
是库和模拟器安装文件。这是 `MicroFrameworkSDK.MSI` 文件。您需要下载并以“典型”安装类型进行安装。
从 GitHub 下载
可以在 releases 页面下载 `MicroFrameworkSDK.MSI` 和 `NetmfVS14.vsix` 文件。
NetmfVS14.vsix
是 Visual Studio 插件。MicroFrameworkSDK.MSI
是库和模拟器安装文件。
安装插件时,它将自动配置自身。库必须以“典型”安装类型进行安装。
创建并启动第一个项目
现在,您已经通过以上三种方式之一安装了所有库和插件,因此可以创建您的第一个 .Net Micro Framework 项目。
Visual Studio 插件已经包含了一些示例。您只需要选择一个您喜欢的。
但是,有一件重要的事情:模拟器安装在系统磁盘上,需要以管理员模式运行。否则,它将无法正常工作。模拟器是从 Visual Studio 启动的,因此 Visual Studio 本身必须以管理员模式运行。
以管理员身份运行 Visual Studio 并创建一个新项目:
如果安装正确,将出现一个新的 Micro Framework 项目模板:
选择“Windows Application”作为最有趣的项目。创建解决方案后,您可以转到项目属性。
您会在项目设置中找到一个新的 .NET Micro Framework 选项卡。
为了使用模拟器,请保留所有默认值。如果您构建并运行项目,您将看到模拟器窗口。
模拟器有一个屏幕、5 个按钮、两个虚拟 SD 卡和一个 COM 端口。所有这些都运行得很好。例如,按下按钮会在 Visual Studio 的“输出”窗口中显示它们的代码。
您可以修改项目并尝试其他功能。
摘要
.Net Micro Framework 是一项有前途的开源技术,它允许您为微控制器编写 C# 代码。随着新的 物联网 理念和 UWP 概念的出现,它的发展获得了新的动力。随着时间的推移,它将覆盖无法支持 Windows 10 IoT 但完全支持 UWP 概念的非常小的设备。
关注点
以下是一些关于 .Net Micro Framework 的链接:
- GitHub 仓库。
- Codeplex 上的旧 .NetMF 仓库
- .NetMF 团队 博客
- .NetMF 网站
- GHI Electronics 的 .NetMF 产品
- Jan Kučera 的 .NetMF 网站
- Netduino
- 俄语 .NetMF 文章