65.9K
CodeProject 正在变化。 阅读更多。
Home

.NET Micro Framework 4.4 入门

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.56/5 (4投票s)

2016年2月20日

CPOL

8分钟阅读

viewsIcon

26384

如何构建 .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 获取仓库:

  1. 在 GitHub 服务器上,使用 fork 命令在您的 GitHub 账户中创建仓库的公共副本。所有拉取请求都必须来自公共 GitHub 仓库。
  2. 使用 clone 命令获取仓库的本地副本。例如:
git clone https://github.com/<your GitHub ID>/netmf-interpreter.git

重要提示:选择本地仓库路径时,至少需要创建一个父文件夹。例如:D:\NETMF\repo,其中 repo 是仓库文件夹。

  1. 将本地仓库设置为 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) 包含一些问题,导致您无法立即从仓库构建安装文件。但是,这些问题可以轻松修复。

获取本地仓库副本后,您需要执行以下步骤:

  1. 下载 二进制工具 zip 文件。该文件包含构建安装文件和设备“移植”所需的工具。未来计划移除这些实用程序,但目前仍需要它们。
  2. 将 `binary tools` zip 文件中的内容解压到仓库的父文件夹中。例如,对于路径 D:\NETMF\repo(其中 repo 是仓库文件夹),bintools 文件夹必须位于 D:\NETMF 文件夹中。
  3. 重要提示:在文件 
<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)。未来,仓库将包含正确的文件。您可以在 此处 阅读有关此问题的详细信息。

  1. 您需要下载 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 文件夹中。

  1. 在此步骤中,您需要安装 .Net Micro Framework Cryptographic Libraries。这些库用于对将在微控制器上执行的程序集进行签名。仅构建过程需要加密库的可执行文件。但您也可以下载源代码。

库以 msi 文件形式提供。我建议将其安装在任何方便的文件夹中(我们称之为 <crypto install folder>),然后将其复制到每个仓库的根目录。例如 D:\NETMF\repoD:\NETMF\repo_master

需要一个单独的加密库文件夹来修复第二个构建问题。

仓库和所有必需的库已最终下载。您可以构建安装文件。.Net Micro Framework 使用 MSBuild 作为构建平台。仓库包含许多 slnproj 文件,但 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 的链接:

 

历史

© . All rights reserved.