.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,如需转载请自行联系原作者

.NET Micro Framework 4.2 beta 源码探析的更多相关文章

  1. matplotlib工具栏源码探析三(添加、删除自定义工具项)

    转: matplotlib工具栏源码探析三(添加.删除自定义工具项) matplotlib工具栏源码探析二(添加.删除内置工具项)探讨了工具栏内置工具项的管理,除了内置工具项,很多场景中需要自定义工具 ...

  2. 调试 .NET Framework 源代码、.DotNetCore源码

    调试 .NET Framework 源代码..DotNetCore源码 如何调试 .NET Framework 源代码 在 Visual Studio 调试器中指定符号 (.pdb) 和源文件 .NE ...

  3. MVVM大比拼之AngularJS源码精析

    MVVM大比拼之AngularJS源码精析 简介 AngularJS的学习资源已经非常非常多了,AngularJS基础请直接看官网文档.这里推荐几个深度学习的资料: AngularJS学习笔记 作者: ...

  4. MVVM大比拼之knockout.js源码精析

    简介 本文主要对源码和内部机制做较深如的分析,基础部分请参阅官网文档. knockout.js (以下简称 ko )是最早将 MVVM 引入到前端的重要功臣之一.目前版本已更新到 3 .相比同类主要有 ...

  5. vue.js源码精析

    MVVM大比拼之vue.js源码精析 VUE 源码分析 简介 Vue 是 MVVM 框架中的新贵,如果我没记错的话作者应该毕业不久,现在在google.vue 如作者自己所说,在api设计上受到了很多 ...

  6. SpringMVC学习(一)——概念、流程图、源码简析

    学习资料:开涛的<跟我学SpringMVC.pdf> 众所周知,springMVC是比较常用的web框架,通常整合spring使用.这里抛开spring,单纯的对springMVC做一下总 ...

  7. Flink源码阅读(一)——Flink on Yarn的Per-job模式源码简析

    一.前言 个人感觉学习Flink其实最不应该错过的博文是Flink社区的博文系列,里面的文章是不会让人失望的.强烈安利:https://ververica.cn/developers-resource ...

  8. 30s源码刨析系列之函数篇

    前言 由浅入深.逐个击破 30SecondsOfCode 中函数系列所有源码片段,带你领略源码之美. 本系列是对名库 30SecondsOfCode 的深入刨析. 本篇是其中的函数篇,可以在极短的时间 ...

  9. django-jwt token校验源码简析

    一. jwt token校验源码简析 1.1 前言 之前使用jwt签发了token,里面的头部包含了加密的方式.是否有签名等,而载荷中包含用户名.用户主键.过期时间等信息,最后的签名还使用了摘要算法进 ...

随机推荐

  1. 中阶 d04 xml 概念及使用

    idea新建xml文件https://www.jianshu.com/p/b8aeadae39b0 或https://blog.csdn.net/Hi_Boy_/article/details/804 ...

  2. 37.3 net--TcpDemo1 大小写转换

    需求:使用TCP协议发送数据,并将接收到的数据转换成大写返回 启动方式:先打开服务端,再打开客户端 客户端 package day35_net_网络编程.tcp传输; import java.io.I ...

  3. java的图形化界面 文本区JTextArea的程序例子

    package java1;     //使用时这个改成你的包名即可//文本区 JTextArea import javax.swing.*;import java.awt.*;import java ...

  4. 【论文笔记】张航和李沐等提出:ResNeSt: Split-Attention Networks(ResNet改进版本)

    github地址:https://github.com/zhanghang1989/ResNeSt 论文地址:https://hangzhang.org/files/resnest.pdf 核心就是: ...

  5. [算法总结]康托展开Cantor Expansion

    目录 一.关于康托展开 1.什么是康托展开 2.康托展开实现原理 二.具体实施 1.模板 一.关于康托展开 1.什么是康托展开 求出给定一个由1n个整数组成的任意排列在1n的全排列中的位置. 解决这样 ...

  6. PDF阅读器

    1.SumatraPDF 非常小巧,打开很轻快 2.PDF Reader by Xodo window商店中可以找到,很好用 3. PDFXChange Editor这是我迄今为止见过的最好的PDF编 ...

  7. mvc传递json数据到view简单实例

    基于extjs4.2 controller //存储数据的类 public class DataLink { public string Name { get; set; } public strin ...

  8. stand up meeting 11/16/2015

    第一周,熟悉任务中~ 大致写下一天的工作: 冯晓云:熟悉bing接口,本意是调在线的必应词典API,参阅了大量C#调用API开发.net的工作,[约莫是因为有个窗口互动性更强,所以这样的工作更有趣,也 ...

  9. JavaScript的运行机制!!!很重要很重要!!!!!!请看大神操作!

    https://juejin.im/post/59e85eebf265da430d571f89

  10. PHP函数:array_rand

    array_rand()  - 从数组中随机取出一个或多个单元. 说明: array_rand ( array $array [, int $num = 1 ] ) : mixed 参数: array ...