.NET Micro Framework V4.2 QFE2最新版其实在8月14就已经发布了,不过最近由于相对较忙,所以现在才抽时间研究一下新版本,和V4.2 QFE1从代码角度来看,新版本有如下改变(http://netmf.codeplex.com/SourceControl/changeset/23973)。

*Micro Booter 代码优化调整

*浮点运算相关代码进行了调整

*CLR_RT_HeapXXXX等相关函数,增加了CLR_UINT32 blockSize  这个参数

*64位长整转字符串的bug已经解决

*增加了DA接口(模拟量输出)

*引入了g_fDoNotUninitializeDebuggerPort全局变量,调试口卸载要进行判断

if(!g_fDoNotUninitializeDebuggerPort)

{

DebuggerPort_Uninitialize(m_port );

}

*损耗平衡代码

\MicroFrameworkPK_v4_2_QFE2\DeviceCode\Drivers\BlockStorage\WearLeveling\BS_WearLeveling_Driver.cpp

损耗平衡相关代码进行了大幅度的修改,以前我测试过程中发现,这段代码实现的有问题,希望这次改进,能解决以前的遗留问题。

*文件系统代码

\MicroFrameworkPK_v4_2_QFE2\DeviceCode\Drivers\FS\FAT\FAT_FileHandle.cpp

\MicroFrameworkPK_v4_2_QFE2\DeviceCode\Drivers\FS\FAT\FAT_SectorCache.cpp

如果不启用损耗平衡功能,文件系统在写比较大的文件的时候,就会出现问题,看此次修改的代码,数据缓存做了一定的处理,等我移植好相关代码,测试一下,看看是否还存在类似问题。

另外定义了一个 FAT_FS__DO_NOT_UPDATE_FILE_ACCESS_TIME 宏,因为文件系统中,如果文件一修改,就更改修改时间,代价还是蛮高的,如果不是特别在意文件的修改时间,又对文件系统操作的性能有要求,应该在配置文件中,定义这个宏。

*WinUSB

由于引入了WinUSB,所以在USB配置文件里,彻底去掉了Sideshow(以前vista系统控制面板中有该功能,Win7中给去掉了)的支持。

\MicroFrameworkPK_v4_2_QFE2\Framework\Debugger\WinUsb

\MicroFrameworkPK_v4_2_QFE2\tools\bin\Test\WinUsbInvoke.dll

WinUSB驱动

\MicroFrameworkPK_v4_2_QFE2\USB_Drivers\WinUSB\DriverPackage\win7

*bool HAL_CONTINUATION::IsLinked()

异步处理,增加了这个函数

*LWIP协议栈

\MicroFrameworkPK_v4_2_QFE2\DeviceCode\pal\COM\sockets_lwip\sockets_lwip.cpp

部分代码也进行了调整

* SSD1289显示驱动

\MicroFrameworkPK_v4_2_QFE2\DeviceCode\Drivers\Display\SSD1289

显示增加了一芯片SSD1289的支持

*Touch

增加了一个 TouchScreen.cs 文件

*TestMFProfiler(上一个版本也有)

有一个比较有用的测试工具\MicroFrameworkPK_v4_2_QFE2\tools\bin\TestMFProfiler.exe

可以充分评测当前的运行的程序的各种参数。

不过这次升级也引入了一些问题

1\MicroFrameworkPK_v4_2_QFE2\CLR\Core\HeapPersistence\Heap_Persistence_stub.cpp

很奇怪,这个文件里面的代码应该是空的,不知道为啥全填写了具体的实现代码

2\MicroFrameworkPK_v4_2_QFE2\CLR\Libraries\SPOT_Hardware\SPOT_Serial\spot_hardware_serial_native_System_IO_Ports_SerialPort.cpp

该文件中增加了一个 break,不太理解,因为添加了之后,意味着串口必须一次读够要获取的数据了。

while(fRes && count> 0)

{

int read = ::USART_Read(port, (char*)ptr, count );

if(read == 0)

{

stack.m_evalStack[1 ].NumericByRef().s4 = totRead;

TINYCLR_CHECK_HRESULT(g_CLR_RT_ExecutionEngine.WaitEvents(stack.m_owningThread, *timeoutTicks,CLR_RT_ExecutionEngine::c_Event_SerialPort, fRes ));

}

else if(read < 0)

{

TINYCLR_SET_AND_LEAVE(CLR_E_INVALID_PARAMETER);

}

else

{

ptr     += read;

totRead += read;

count   -= read;

break;  <-- 新增加的

}

}

新版本下载:http://netmf.codeplex.com/releases/view/91594

官方更新说明:

The additions for this release includeadding support for the WinUSB driver in replacement of thecurrent USB driver that had been associated with some deployment problems. AnalogOutput has also been added based on a contribution from OberonMicrosystems – part of the Mountaineer group that makes .NET Gadgeteermainboards. Finally, support for installing the latest versions of GCC (4.6.1)has been added.

There have also been a number ofperformance improvements and minor bug fixes which include:

  • File system
    • Improved FS performance and some minor bug fixes
    • Added continuation to flush the FS cache at a configurable time
  • Wear Leveling
    • Reworked the Driver to fix some issues around bad block replacement
    • improved diagnostics for wear leveling
  • MicroBooter
    • Changes to support unaligned ZI/RW sections
    • RW/RO sections are no longer required to be contiguous
    • Fixed SREC processor to support multiple BS devices and non-contiguous memory streams
    • Read buffer is now only 512K instead of a block size
  • Touch Screen
    • Improved the Gesture Driver
    • Fixed some minor issues with the touch driver
    • moved the touch event structures, enums, and delegates assembly (Microsoft.SPOT.Native)
  • Others
    • Thumb-2 assembly code updated and global lock implemented
    • SerialPort.DiscardBuffer fixed (flushes the correct buffer)
    • SerialPort.Read no longer blocking if data is available.
    • Faster loadign of large heaps
    • Support weak references with stubbed EWR
    • Better support of emulated floating point bounds checking
    • Better hex number formatting
    • AppDomain.GetAssembly implemented
    • Fixed issues with the stream reader (no longer waits forever to refill the buffer)
    • Better handling of the case where RTIP is not installed as PK add-on but used in the solution

.NET Micro Framework V4.2 QFE2新版本简介相关推荐

  1. .Net Micro Framework 嵌入式开发

    原文: http://www.cnblogs.com/yefanqiu/archive/2010/03/02/1676844.html ; .Net Micro Framework 快速入门 一.简介 ...

  2. .NET Micro Framework常见问题问答

    问:.NET Micro Framework是什么? 答:请参见:http://blog.csdn.net/yefanqiu/article/details/5711770 官方网站:http://w ...

  3. 【.Net Micro Framework PortingKit – 14】TinyCLR编译与测试

    在前面的系列文章中我们不厌其烦地一一介绍了在NativeSample中如何开发和调试驱动.从今天开始,我们将介绍TinyCLR项目的相关知识,也许读者以为这又得需要洋洋洒洒十几篇才能介绍的完,其实不然 ...

  4. Zigbee在.Net Micro Framework系统中的应用

    Zigbee是IEEE 802.15.4协议的代名词.根据这个协议规定的技术是一种短距离.低功耗的无线通信技术.这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和"嗡嗡"(z ...

  5. .NET Micro Framework 用户程序升级说明

    1.前言 [STM32 .Net MF开发板学习-26]以前的文章示例都是采用VS2008开发的,所以示例要想在新的.NET Micro Framework V4.1开发板上运行,必须用VS2010转 ...

  6. .NET Micro Framework开发板用户简明手册(v3.0)

    说明:前段时间已经先后发布了<.Net Micro Framework开发板用户简明手册>和< .NET Micro Framework开发板用户简明手册(v2.0)>,分别对 ...

  7. 【 Net Micro Framework PortingKit – 10】世界首款Cortex-M3内核MFV4诞生

    目前在Cortex-M3平台上最常见的嵌入式操作系统就是UCOSII了,除此之外可支持的主流嵌入式操作系统就难以见到了,这是因为Cortex-M3主频较低(常见72M),不支持MMU,片内Flash和 ...

  8. .NET Micro Framework简介

    [叶帆科技] http://www.yfiot.com [常见问题问答] http://blog.csdn.net/yfiot/article/details/6618611 [产品简介] Micro ...

  9. .NET Micro Framework动态调用C/C++底层代码(原理篇)

    .NET Micro Framework和WinCE系统不同,从应用开发角度来说,仅支持C#开发(从V4.2版本开始,才支持VB.NET开发),而不像WinCE应用开发,既可以用C#/VB.Net,也 ...

最新文章

  1. SAP ABAP和Hybris Commerce的Sample数据
  2. 驾驶证损毁、驾驶人信息变更的如何换证
  3. 网络交换机的作用有哪些?
  4. Taro+react开发(11)--不能加分号
  5. 第二章 数据的表示和运算 2.1.5 汉明(海明)校验码 [计算机组成原理笔记]
  6. 入职新公司,如何快速上手公司业务?
  7. 如何给网站制作一个favicon.ico图标
  8. sql server 2008 数据库可疑的解决步骤
  9. 浅谈网络通信中的流量整形
  10. linux双系统启动项grub,grub双系统启动顺序更改
  11. Java设计模式学习02——工厂模式
  12. maven配置项目根路径_Java的项目构建工具Maven的配置和使用教程
  13. 史上最全天气数据接口包括环境、气象、预警、水文、预报、实况、格点,落区、等值面、雷达、云图、空气质量实况及预报、气候统计、雷电分布、灾害性天气、短临预报、航空气象、农业气象、旅游气象、生活指数等
  14. 华为网络设备-FTP文件传输
  15. python文本风格_Python风格规范-FYI
  16. puts() 与 printf() 的对比
  17. js键盘监听事件及键盘键码对照表
  18. cad2016中选择全图字体怎么操作_CAD镜像怎么用,你会吗?
  19. Testin云测产品更新:Bugout支持快速分享功能,高效批量分享问题
  20. 无需SVIP,一款快速下载资源的神器

热门文章

  1. 车号粤 A75M79 少收我钱的的哥(谨表谢意!)
  2. logstash之ruby模块
  3. php 获取GPS,js获取GPS的坐标的方法代码
  4. 我的大学——实习生涯
  5. 对羟基苯甲酸脂类混合物的反相HPLC实验
  6. 题目:``N个人排成一圈,从第一个人开始报数,从1开始报,报到M的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的N,M,求出所有人的出圈顺序
  7. MySQL Connector/J 8.0
  8. 车载智能终端TBOX
  9. 自定义字段MongoDb与Mysql 扩展表性能分析
  10. 俄制基因重塑版WINPE 8.1