天天看點

.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

相關連結:

<a href="http://news.cnblogs.com/n/106062/">http://news.cnblogs.com/n/106062/</a>

<a href="http://blogs.msdn.com/b/netmfteam/archive/2011/06/07/netmf-version-4-2-beta-now-available.aspx">http://blogs.msdn.com/b/netmfteam/archive/2011/06/07/netmf-version-4-2-beta-now-available.aspx</a>

本文轉自yefanqiu51CTO部落格,原文連結:http://blog.51cto.com/yfsoft/595236,如需轉載請自行聯系原作者

繼續閱讀