【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.
修复前:
string s = d.ToString();
leads to the following result:
s = "1.234567890123438e-2" (instead of "1.00234567890123438e-2" !!!)
显示结果:
修复后:
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:
IntPtr gcBytes = GCHandle.ToIntPtr(hb);
The array should be 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
导致异常如下:
#### 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