.NET Micro Framework 4.2 beta 源码探析

简介: 这个版本主要的改变就是支持远程安全升级,VB.net 程序开发,PWM和AD。

  .NET Micro Framework 4.2 beta发布已经有一段时间了,一直没有腾出时间研究,昨天因为LWIP协议栈的原因(感觉上一个版本有点问题)刚 下了代码,所以抽空研究了一下。

这个版本主要的改变就是支持远程安全升级,VB.net 程序开发,PWM和AD。

1、 Application目录

多了一个MicroBooter目录,这就是所谓远程安全更新功能,和MFDeploy配合,完成升级功能。

2、 CLR目录

Libraries目录下多了三个目录

(1)、SecurityPkcs11

  数据包(或对象)安全处理,代码很多,相对复杂。

(2)、SPOT_PWM

  PWM支持库

(3)、SPOT_Update

  远程升级支持库,感觉这些方法都暴露给用户程序了(包括SecurityPkcs11),难道是用户程序自己控制升级过程?

若干文件被修改。

·         Debugger.cpp文件中,读写Memory中,Flash多了三个分区BLOCKTYPE_SIMPLE_A

BLOCKTYPE_SIMPLE_B

BLOCKTYPE_UPDATE    -- 远程升级对应的区域

此外就是和升级相关的具体代码了。

·         Debugger_full.cpp文件中,多了四个通信命令

UpgradeToSsl

MFUpdate_Start

MFUpdate_AddPacket

MFUpdate_Install

似乎是,这个升级过程,可以通过ssl进行加密。

·         Corlib_native.cpp(mscorlib.dll)

增加了Base64的编码和解码

·         Corlib_native_System_Numer.cpp

增强了Format格式输出,从代码看,似乎支持 ToString(“X”)

·         Spot_native.cpp(Microsoft.SPOT.Native.dll)

移掉了Cryptography_Key_RSA相关的方法

·         Spot_hardware_native.cpp(Microsoft.SPOT.Hardware.dll)

增加了PWM和AD的支持

 

 

3、 DeviceCode目录

变化更大,我只说几个比较重要的

(1)、stubs_analog

  AD模板文件

(2)、stubs_PWM

  Pwm模板文件

(3)、MFUpdate

  PAL层远程升级函数接口

(4)、NetMFPkcsCrypto

  OpenSSL中集成PKCS11

(5)、PKCS11

  PKCS #11 v2.11密码令牌接口标准

(6)、SimpleStorage

  以类似文件方式读写Flash

  文件变化若干,主要变化如下:

·         Blockstoragelist.cpp

增加了IsErased方法

·         AT91目录

支持AT9263 CPU

4、 Formework目录

变化的目录主要有以下几个

(1)、Native_PWM

  PWM类库

(2)、Native_Update

  MFUpdateProperty 类库

(3)、FTP

   FTP Client和Server支持

(4)、Security

  X509Certificate2类库

(5)、Update

  MFFirmwareUpdate类库;

  MFAssemblyUpdate 类库;

  MFKeyUpdate 类库;

  MFUpdate类库;

  MFUpdateVersion类库;

(6)、PKCS11

  PKCS11类库

 文件主要的修改如下:

·         DPWS相关修改比较大,主要文件基本上都修改了

·         CPU.cs

添加了PWM和Analog的枚举

·         NetworkSeurity.cs

增加 X509Certificate 类

·         IPAddress.cs

增加GetDefaultLocalAddress方法

·         WireProtocol.cs

增加 c_MEMORY_USAGE_UPDATE

c_MEMORY_USAGE_SIMPLE_A

c_MEMORY_USAGE_SIMPLE_B

估计:c_MEMORY_USAGE_UPDATE = 0x0060写错了,应该是 0x00000060

·         Conver.cs

增加 ToBase64String和 FromBase64String方法

·         Number.cs

格式转换,支持“X“字符

·         MFDeployForm.cs

支持.nmf扩展名的文件远程部署

·         MFDevice.cs

增加对MicroBooter的支持

5、 Solutions目录

增加SAM9263_EK平台的支持

比较奇怪的是,没有从代码中看到对VB.net 开发的支持。目前只是粗略过了一个下代码,有时间深入试用一下,再写一篇详尽的说明文档。

MF开发板: http://item.taobao.com/item.htm?id=7117999726

相关链接:

http://news.cnblogs.com/n/106062/

http://blogs.msdn.com/b/netmfteam/archive/2011/06/07/netmf-version-4-2-beta-now-available.aspx

相关文章
|
9月前
|
关系型数据库 MySQL 数据库
找不到请求的 .Net Framework Data Provider。可能没有安装
做的一个项目,框架为.net framework 数据库为mysql 出现如标题错误 检查是否安装mysql、是否安装mysql connector net 笔者是因为没有安装后者mysql connector net 下载地址: [mysql connector net](https://downloads.mysql.com/archives/c-net/ "mysql connector net") 笔者安装截图如下: ![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/c
99 0
|
20天前
|
存储 IDE C#
C#入门:在JetBrains Rider中创建.Net Framework控制台应用程序,输出“Hello, World!”
C#入门:在JetBrains Rider中创建.Net Framework控制台应用程序,输出“Hello, World!”
56 0
|
9月前
|
C# Windows
[记录]c#.net framework 4.5调用运行时库
[记录]c#.net framework 4.5调用运行时库
|
1月前
|
开发工具 开发者
Jetbrains Rider:缺少.NET Framework 4.5.2
该文主要针对开发者,指出需下载SDK而非Runtime以进行应用程序开发。当使用Rider打开旧项目出现错误提示缺少.NET Framework 4.5.2时,需从微软官网下载相应版本的SDK(推荐开发版)。安装完成后,可能需要重启Rider以消除波浪线提示。对于.NET Core项目,若提示CLI路径未找到,同样需前往微软官网下载缺失的SDK版本,如.NET Core 3.1。安装完毕后,可考虑配置环境变量。
22 0
|
2月前
|
开发框架 .NET C#
探索VB.NET:了解.NET Framework下的Visual Basic
【4月更文挑战第27天】Visual Basic进化为VB.NET,融入.NET Framework,提供面向对象编程、泛型、LINQ等特性。VB.NET是强类型语言,支持类型推断,通过Windows Forms和WPF构建桌面应用。广泛应用于企业级、Web和数据处理开发,是易学且功能强大的编程工具。随着.NET版本更新,VB.NET的应用仍具价值,适合初学者和资深开发者。
|
2月前
|
数据挖掘 定位技术
.NET Compact Framework下的GPS NMEA data数据分析(二)转
.NET Compact Framework下的GPS NMEA data数据分析(二)转
26 0
|
2月前
|
SQL Windows
保姆级:Windows Server 2012上安装.NET Framework 3.5
保姆级:Windows Server 2012上安装.NET Framework 3.5
192 0
|
9月前
|
Windows
​史上最详细的Windows10系统离线安装.NET Framework 3.5的方法(附离线安装包下载)
​史上最详细的Windows10系统离线安装.NET Framework 3.5的方法(附离线安装包下载)
1028 0
|
2月前
|
Windows
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
550 0
|
2月前
|
C# Windows
C#安装“Windows 窗体应用(.NET Framework)”
C#安装“Windows 窗体应用(.NET Framework)”
88 0