技术开发 频道

.NET 嵌入式版4.2发布:关键更新抢先看

        【IT168 技术】作为.NET家族的一员,.Net Micro Framework是微软专门针对超轻量级平台设计的软件架构。.NET用于开发桌面程序、Web应用,而.NET MF主要用于智能家电领域。

  与.Net Framework有所不同,.Net Micro Framework具有自启动的特性,并且在HAL层,微软将操作系统的必要特性引入,如:启动管理、中断处理、线程调度、内存管理等。.Net Micro Framework可以单独使用,不需要依托其他操作系统,因此占用空间很小。

  .NET Micro Framework技术可以应用到:Sideshow、远程控制、智能家电、教育类机器、医疗电子、销售终端以及汽车电子等行业应用场景;此外由于.NET MF集成了各种接口,如串口、网口、Wifi、Zigbee、I2C、SPI、SDIO、USB等通信接口,加上其应用开发简便,所以在物联网时代,将大有作为。

  .NET Micro Framework 4.2版本发布了,该版本的新特性如下:

  PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。

  换句话说,PWM就是采用数字信号控制模拟电路的这种技术。

  1、PWM增强:

  PWM支持的比例系数允许调制范围更广,精确度更高. QFE1支持的调制频率在1MHZ到1Hz之间。除此以外,PWM会根据提供的频率来自动计算比例系数,从而实现精度最优。

  2、修复的漏洞如下:

  1. GCC编译器修复了Double/Float ToString()方法的一个bug,bug ID为1385,该bug错误把小数点后的0给省略了,例如把1.0001 显示为1.1.

  修复前:

  double d = 0.0100234567890123456789;

  
string s = d.ToString();

  leads
to the following result:

  s
= "1.234567890123438e-2" (instead of "1.00234567890123438e-2" !!!)

      显示结果:

s = "1.234567890123438e-2" (instead of "1.00234567890123438e-2" !!!)

  修复后:

int num_zeros = 0;

  
while(dec2 < 0.1 && dec2 > -0.1 && dec2 != 0 && num_zeros < 15)

  {

  dec2
*= 10;

  
++num_zeros;

  }

  
//create a string containing the leading zeros

  char zeros[]
= "0000000000000000";

  zeros[num_zeros]
= '\0';

  2. 修复了升级安装过程中模拟器崩溃的bug,bug ID为1393

  修复方法:

  [\MicroFrameworkPK_v4_2\Framework\Tools\Emulator\UpdateProvider.cs]

  line 89:

GCHandle hb = GCHandle.Alloc(asmBytes);

  IntPtr gcBytes
= GCHandle.ToIntPtr(hb);

  The array should be pinned:

GCHandle hb = GCHandle.Alloc(asmBytes, GCHandleType.Pinned);

  IntPtr gcBytes
= hb.AddrOfPinnedObject();

  3. 修复了C++文件TinyBooter中缺少Break语句的bug,bug ID为1436

  漏洞描述:

  "case CLR_DBG_Commands::c_Monitor_CheckSignature"

  4.修复了Format命令并没有正确格式化文件系统分区导致FAT文件系统崩溃的bug。bug ID为1421

  导致异常如下:

#### Exception System.IO.IOException - CLR_E_FILE_IO (1) ####

  #### Message:

  #### Microsoft.SPOT.IO.NativeFileStream::Write [IP:
0000] ####

  #### System.IO.FileStream::Write [IP: 002a] ####

  5.修复了内存紧张导致资源枯竭的漏洞。

  6.修复默认显示Loaded Assembly名称与版本的bug,默认情况下应该不显示Loaded Assembly的名称与版本。

  7.即使缺少RTIP驱动,也能很好将程序向RTIP设备移植

  8. Fix Prepare_Copy and Prepare_Zero for devices that are not 4-byte aligned

  LWIP(light weight IP)轻量级IP协议和网络驱动程序的改进

  1、一旦超时,LWIP将强制关闭与中断TCP连接。(默认超时时间由LWIP指定)

  2、指定TCPSocket连接的超时时间应大于LWIP默认值。

  3、新增LWIP轻量级保护锁机制

  4、SAM7x EMAC驱动相关的补丁

     参考英文原文及下载地址:http://netmf.codeplex.com/releases/view/82448

0
相关文章