• .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 QQ群:127465602(已满) 146524112
    相关链接:







    本文转自yefanqiu51CTO博客,原文链接:http://blog.51cto.com/yfsoft/595236,如需转载请自行联系原作者
  • 相关阅读:
    Python之路【第十六篇】:Django【基础篇】
    pyCharm最新2018激活码
    python selenium firefox使用
    IO编程(2)-操作文件和目录
    IO编程(1)-文件读写
    错误、调试和测试(4)-文档测试
    错误、调试和测试(3)-单元测试
    错误、调试和测试(2)-调试
    错误、调试和测试(1)-错误处理
    面向对象高级编程(5)-使用元类
  • 原文地址:https://www.cnblogs.com/twodog/p/12138579.html
Copyright © 2020-2023  润新知