.NETMicroFramework4.2beta原始碼探析
.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
相關文章
- Spring IOC 容器預啟動流程原始碼探析Spring原始碼
- 溫故知新之從原始碼探析jsp執行原理原始碼JS
- joomla原始碼探析續(二十六)JUser物件和使用者許可權判斷OOM原始碼物件
- NoSQL之Redis探析SQLRedis
- resizableImageWithCapInsets 方法的探析API
- 原始碼原始碼原始碼樹品原始碼原始碼
- NSOperation, NSOperationQueue 原理探析
- Java 執行緒同步原理探析Java執行緒
- Python探析get和post方法Python
- 探析Oracle的Exadata Storage ServerOracleServer
- Tomcat類載入機制探析Tomcat
- JavaScript之坑我--陣列原理探析JavaScript陣列
- 探析 Spring 容器內部事件釋出Spring事件
- 【LINUX】Linux網路卡繫結探析Linux
- 異常以及異常處理框架探析框架
- 自編碼器AE全方位探析:構建、訓練、推理與多平臺部署
- Spark原始碼-SparkContext原始碼解析Spark原始碼Context
- Retrofit原始碼分析三 原始碼分析原始碼
- 【Android原始碼】Fragment 原始碼分析Android原始碼Fragment
- 【Android原始碼】Intent 原始碼分析Android原始碼Intent
- Hadoop原始碼篇--Client原始碼Hadoop原始碼client
- 原始碼:原始碼
- 程式排程的原理和演算法探析演算法
- 企業網路安全管理維護之探析
- 探析全球酒店線上預訂的六種模式模式
- 集合原始碼分析[2]-AbstractList 原始碼分析原始碼
- 集合原始碼分析[1]-Collection 原始碼分析原始碼
- ReactNative原始碼解析-初識原始碼React原始碼
- 【原始碼閱讀】AndPermission原始碼閱讀原始碼
- 集合原始碼分析[3]-ArrayList 原始碼分析原始碼
- Flutter 原始碼系列:DropdownButton 原始碼淺析Flutter原始碼
- 原始碼|jdk原始碼之HashMap分析(一)原始碼JDKHashMap
- 原始碼|jdk原始碼之HashMap分析(二)原始碼JDKHashMap
- Guava 原始碼分析之 EventBus 原始碼分析Guava原始碼
- Spring原始碼系列:BeanDefinition原始碼解析Spring原始碼Bean
- Java集合原始碼剖析——ArrayList原始碼剖析Java原始碼
- 【Android原始碼】AlertDialog 原始碼分析Android原始碼
- 【Java集合原始碼剖析】ArrayList原始碼剖析Java原始碼