.Net Micro Framework系统架构如下图所示,其中移植工作主要在平台抽象层(PAL)和硬件抽象层(HAL),大部分常用的PAL层的程序已经写好,基本上不需要什么修改,只有HAL会根据特定的硬件进行微调。不过如果添加新的设备驱动,则HAL和PAL层都需要定义和重写,假设CLR层不支持类似的设备接口,就只有通过Interop接口来访问了。后续的文章我会介绍一个最简单的串口驱动来说明MF的驱动是如何设计的,这篇文章我就先介绍一下MF中的CLR运行时原理。
MF中的CLR称之为TinyCLR(这让我想起了AB PLC第三方模块中的TinyDOS系统了),确实和Windows和wince中的CLR相比,它太小了,不过麻雀虽小,五脏俱全,有兴趣的朋友可以下载一份MF3.0 SDK,在类对象中查看相关接口。GPIO、SPI、I2C、USBClient等CLR类想必Windows和wince平台中的CLR也不具备,这越来越显示出TinyCLR的特色了:)
MF系统目前最为人诟病的就是,它不是一个实时系统。WINCE至少还算一个软实时系统,可MF不是,虽然V3.0版本引入了Interop接口,就是为了缓解人们对嵌入式实时性的应用需要。但这不可能从根本上去解决这个矛盾。据说明年推出的MF V4.0将是一个实时系统,这确实令人非常期待,不过时间紧迫,我真为美国微软MF开发团队捏把汗。
TinyCLR仅一个执行绪,接管所有的内存分配。采用轮询算法,根据线程的优先级,分配最小为20ms的时间片。
运行原理图如下:
TinyCLR中的线程分5种优先级:
0 = Lowest 最低的
1=BelowNormal 比正常偏低
2=Normal 常规
3=AboveNormal 比整个偏高
4=Highest 最高的
以两倍的CPU时间单位作为这种优先级的量度等级。越高级的线程,获得时间片就越多。
由以上可以看出,20ms的时间片,再加上CLR的垃圾回收机制,确实谈不上实时系统。不过,如果我们想在V3.0版本上开发一个对时间要求比较迫切的应用该怎么办?也许Interop是目前唯一的办法,后续的文章我就介绍这方面的内容。
分享到:
相关推荐
java 在线考试系统java MF000001 : DJINGH MF000002 : k58fun MF000003 : 65skuv MF000004 : sh9n4g MF000005 : 6HD85G MF000006 : hjsung MF000007 : 56fjid MF000008 : juff5s MF000009 : 68shud MF000010 : 5du8a...
分享一下好东西,希望对大家有用。这个软件需要配合硬件来用。大家的支持,就是我继续的动力。
mf522原理图和电路图 51单片机rc522 射频的程序和与电路图
与微机原理实验运行环境MF2KI配套的实验示例程序
YL-569 0i MF加工中心主柜原理图.pdf
佳能MF3010打印机驱动是MF3010打印机的最新驱动程序,当佳能MF3010打印机不能正常运作或是运行缓慢时,不妨来重新下载安装佳能MF3010打印机驱动试试。佳能MF3010:作为一款入门级多功能黑白激光一体机,佳能MF3010...
MF47万用表原理与安装.doc
1 JAD.MF文件:增加屏幕方向设置 2 JAD.MF文件:增加游戏专用摇杆键盘配置 3 JAD.MF文件:增加屏幕尺寸配置 4 修改repaint()处理,模拟J2ME内部实现[在1.0中repaint()方法会强制刷新屏幕,1.1中参考了J2ME内部...
25℃时额定零功率电阻值 B值 阻值范围(Ω) 允许偏差(%) (25/50℃)标称值(K) 允许偏差(%) MF11 3.3~336.8~6815~15033~33068~680150~1500330~3300680...
佳能 imageCLASS MF211 MF212w MF215 MF216n MF217w MF221d MF223d MF226dn MF227dw MF229dw 中文维修手册
MF602_SSD固态硬盘硬件OrCAD格式P原理图和Pads格式PCB(4层板)文件,硬件电路设计原理图PCB资料,可供设计参考。
中兴-MF823 本报告包含中兴MF823D配置文件文档: : 您可以通过随意移动来更改菜单的顺序。
电工电子实训总结报告MF47型万用表的原理及组装分析.doc
MF_47万用表原理与安装实习报告范本.doc
打印机驱动 佳能MF212打印机驱动打印机驱动 佳能MF212打印机驱动打印机驱动 佳能MF212打印机驱动打印机驱动 佳能MF212打印机驱动打印机驱动 佳能MF212打印机驱动打印机驱动 佳能MF212打印机驱动打印机驱动 佳能MF212...
这是一款MF团队开发的功能比较完善的借书管理系统源码,比较适合用作毕业设计或者课程设计使用,感兴趣的同学们不要错过啊。该源码的功能,具体介绍如下:1、系统应用:返回登陆、重启系统、退出系统。2、图书操作:...
要使用Composer安装,请运行composer require mf2/mf2如果您不能使用Composer,则可以通过下载来以旧方式安装php- ,将其添加到项目中,并从您要从中调用其功能的文件中获取它, 像这样: <?...
1. PCB和原理图文件; 2.HK32F030MF4P6例程; 3.HK32F0301Mxx系列MCU开发资料(2020-11-18更新)。 3.1.数据手册、用户手册; 3.2.Keil、IAR下的器件库; 3.3.片外设库、工程模板、参考例程; 3.4.HK JLink EEPROM FLASH...
1.该代码可用于标定或测试分析工作中,在测试结束,数据回灌时,可用于在matlab中读取MF4格式文件 2.读取之后,将MF4文件中包含的信号以及对应的数据返回到data结构体中,供后续使用。后期需要使用MF4文件中信号的,...