.NET Micro Framework 4.2 beta 源码探析

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

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

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

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.cppMicrosoft.SPOT.Native.dll

移掉了Cryptography_Key_RSA相关的方法

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

增加了PWMAD的支持

 

 

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 ClientServer支持

4)、Security

  X509Certificate2类库

5)、Update

  MFFirmwareUpdate类库;

  MFAssemblyUpdate 类库;

  MFKeyUpdate 类库;

  MFUpdate类库;

  MFUpdateVersion类库;

6)、PKCS11

  PKCS11类库

 文件主要的修改如下:

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

·         CPU.cs

添加了PWMAnalog的枚举

·         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

MF QQ群:127465602(已满)  146524112

相关链接:

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

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

相关文章
|
2月前
使用的是.NET Framework 4.0,并且需要使用SMTP协议发送电子邮件
使用的是.NET Framework 4.0,并且需要使用SMTP协议发送电子邮件
49 1
|
2月前
|
开发框架 缓存 监控
NET Framework 到 .NET 5/6 的迁移是重大的升级
本文详细介绍了从 .NET Framework 4.8 迁移到 .NET 5/6 的过程,通过具体案例分析了迁移策略与最佳实践,包括技术栈评估、代码迁移、依赖项更新及数据库访问层的调整,强调了分阶段迁移、保持代码可维护性及性能监控的重要性。
57 3
|
2月前
|
机器学习/深度学习 编解码 算法
【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation
《nnU-Net: 自适应框架用于基于U-Net的医学图像分割》是一篇2018年的论文,发表在Nature上。该研究提出了一种自适应的医学图像分割框架nnU-Net,能够自动调整模型的超参数以适应不同的数据集。通过2D和3D U-Net及级联U-Net的组合,nnU-Net在10个医学分割数据集上取得了卓越的性能,无需手动调整。该方法强调数据增强、预处理和训练策略等技巧,为医学图像分割提供了一个强大的解决方案。
81 0
【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
|
4月前
|
开发框架 缓存 前端开发
实战.NET Framework 迁移到 .NET 5/6
从.NET Framework 迁移到.NET 5/6 是一次重要的技术革新,涵盖开发环境与应用架构的全面升级。本文通过具体案例详细解析迁移流程,包括评估现有应用、利用.NET Portability Analyzer 工具识别可移植代码、创建新项目、逐步迁移代码及处理依赖项更新等关键步骤。特别关注命名空间调整、JSON 序列化工具更换及数据库访问层重构等内容,旨在帮助开发者掌握最佳实践,确保迁移过程平稳高效,同时提升应用性能与可维护性。
145 2
|
4月前
|
开发框架 JSON 监控
实战指南:从 .NET Framework 迁移到 .NET 5/6 的策略与最佳实践
【8月更文挑战第28天】从 .NET Framework 迁移到 .NET 5/6 是一次重要的技术升级,涉及开发环境与应用架构的改进。本文通过具体案例分析,介绍迁移策略与最佳实践,帮助开发者顺利完成转变。
88 1
|
4月前
|
缓存 程序员
封装一个给 .NET Framework 用的内存缓存帮助类
封装一个给 .NET Framework 用的内存缓存帮助类
|
3月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
44 7
|
3月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
71 0
|
4月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
53 0