图2-17展现了.NET Micro Framework的架构,和其他.NET平台类似,.NET Micro Framework也提供了平台抽象层(PAL),使应用程序能最大限度地降低与其所运行的硬件相关性,使得开发和移植到其他平台变得更为容易。
图2-17 .NET Micro Framework的架构
下面详细介绍.NET Micro Framework架构的4个层次。
(1)硬件层
硬件层包括微处理器和一些选择性的外设电路。可以把.NET Micro Framework移植到芯片上使用。如果硬件厂商希望得到他们的芯片的.NET Micro Framework的版本,可以和微软的.NET Micro Framework团队联系。.NET Micro Framework不仅可以直接运行在硬件平台上,而且还可以运行在像Microsoft Windows或其他与微软合作的操作系统上。
(2)运行时组件层
运行时组件层(Runtime Component Layer,RCL)包括3个组件:.NET Micro Framework公共语言运行时(Common Language Runtime,CLR)、硬件抽象层(Hardware Abstraction Layer,HAL)和平台抽象层(Platform Abstraction Layer,PAL)。
.NET Micro Framework CLR是.NET Framework CLR的子集,提供了.NET Framework运行环境。.NET Micro Framework CLR提供了强健的应用程序支持,它会管理内存、线程执行、代码执行以及其他系统服务,而且只需要非常少的内存空间,如果使用所有提供的服务,只需要390KB的内存空间。390KB内存空间是根据现有的平台进行估算的。
.NET Micro Framework CLR的运行速度非常快,在27.6MHz的CPU上,每秒能完成15000个托管方法。
HAL和PAL控制底层的硬件,HAL和PAL都是由CLR调用的C++函数。PAL函数是硬件独立的,不需要移植。但是用户必须要重写自己硬件平台的PAL。(www.xing528.com)
引导指令代码也是一系列HAL相关代码,打开硬件设备时,引导指令代码,初始化底层硬件,并且启动CLR,完成上层初始化。
(3)类库层
.NET Micro Framework类库层是一个面向对象的可重用类型,可以使用类库层开发嵌入式应用程序,包括以下功能的C#类库:
1)加密;
2)调试、图像和外观动态函数库;
3)CLR的API类库和CLR的Corelib类库;
4)支持特定的通信标准的芯片扩展托管C#应用,比如GPIO、串口、SPI、I2C等。
(4)应用层
.NET Micro Framework的最上层是设备创建的托管应用,应用的类型完全取决于设备选择的硬件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。