.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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构