zoukankan      html  css  js  c++  java
  • .NET Micro Framework 4.2 beta 源码探析

            .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

    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

  • 相关阅读:
    《Dotnet9》系列-开源C# WPF控件库强力推荐
    《Dotnet9》系列-开源C# WPF控件库3《HandyControl》强力推荐
    《Dotnet9》系列-开源C# WPF控件库2《Panuon.UI.Silver》强力推荐
    《Dotnet9》系列-开源C# WPF控件库1《MaterialDesignInXAML》强力推荐
    《Dotnet9》系列-FluentValidation在C# WPF中的应用
    《Dotnet9》建站-本站使用的什么主题?
    结对作业——第二次作业
    团队第一次作业——团队展示
    结队项目——第一次作业
    软件工程实践2017第二次作业
  • 原文地址:https://www.cnblogs.com/yefanqiu/p/2088385.html
Copyright © 2011-2022 走看看