通过以上可以得出,嵌入式系统隐藏在我们生活中的各个角落。而Python又是一个简单的脚本语言。本次的目的是实现目前流行的一种脚本语言在ATMEL芯片上的移植。通过本次课题,深入了解ATMEL的开发平法和PYMITE解析器。理解ATMEL平台下的软件的移植过程以及脚本语言解释器的执行过程。

1.1 课题背景

早期的商业尝试构建嵌入式运行时系统,如BASIC Stamp,它需要多个芯片并且在教育应用中并没有被大量使用。学术项目主要集中在非常小的8位器件。这些系统的建成只能运行几十行代码,并且根本就没有设计更加现代化和有能力能够运行在32位微控制器上的程序。

Java卡的系统运行的是嵌入式的JVM子集,以允许智能卡来执行一些有限的计算。虽然它有制定了一些小的概念验证应用程序,如基本的web服务器,有限的计算和I/O渲染建设,但是并不能实现Java Card大型应用程序。

而Android使用一个解释器,Dalvik的,即在嵌入式系统上运行时,它具有非常不同的设计目标比这些项目。 Dalvik的依赖底层Linux内核提供I / O,内存分配,处理隔离度和文件系统。它至少有64 MB的内存,三个数量级,系统可用于的微控制器不仅仅是ARM的Cortex-M。 Arduino2是一个简单的微控制器平台已经由业余爱好者和大专院校广泛采用。这表明,有极大的兴趣使得微控制器编程更加容易。然而,Arduino的专注于提供I/O的抽象层通过高层次的库,而PyMite则提供了计算与管理的运行时系统的抽象层。

此时两种高级语言开源运行时系统已被开发:Python(p14p)和eLua。 p14p是已经被移植到几个微控制器,包括AVR,PIC和ARM Python的运行时系统。该p14p系统是一种便携式的Python VM可以使用很少的资源运行,并支持Python语言的显著部分。同样,eLua是Lua编写的运行时系统,它运行在ARM微控制器上。eLua对对象的所有的运行方法都与P14p相似。因此他们不是重复的。

1.2 本课题研究目的及意义

PyMite是专为AVR微控制器设计的完整系统,其中包括一个交互式开发环境,一套分析器,以及一个解释器。它是由几个开源项目,包括CPython和baobab最后整合成PyMite而成。

PyMite自身制定了一套全面的剖析和分析工具。 使用的数据是来自这些静态和动态分析工具,以及从具有水稻般庞大的用户群体验。 我们显著扩大,重新架构,并改进原p14p系统的鲁棒性。 PyMite开发了许多相应的工具链,其中包括在Windows,Mac OS X和Linux上可以进行微控制器编程的简易IDE工具。 我们还在运行时系统中增加了两个原生的功能接口,栈保护,自动装箱,代码缓存,和许多其他改动。 此外,该工具链和运行时系统已经重新设计以消除动态加载的需要。

PyMite表明,我们可以使用高级语言来开发复杂的嵌入式系统软件。许多软件应用中已经基于PyMite的开发,其中包括一个GPS跟踪器,网络服务器,一个读/写FAT32文件系统,和一个人工地平线显示等。此外,PyMite是能够运行的软实时系统。这些应用程序完全是用Python编写并且程序员之前没有嵌入式系统的经验,表明了使用运行时系统来为微控制器编码不仅是可能的,并且非常富有成效。此外,PyMite被很多大学用作R-教育机器人的软件平台。在使用期间很少发生从未有过奔溃现象。

生产力的基石是互动发展的过程。用户可以连接到微控制器然后输入语句被立即执行。这就可以很容易在实验中使用外设等其他功能,使得微控制器的程序开发几乎不那么繁琐。在传统开发环境,程序员编写代码和调试需要不断通过一个繁琐的编译/链接/烧入/运行的周期。但是,在PyMite搭建的系统中的用户可以在交互接口尝试一件事,然后立即尝试别的东西在击中简单的“return”后。实验几乎没有什么成本。

上一篇:AT89C51单片机LED点阵显示屏的设计+PCB电路图+程序
下一篇:3L液体瓶筒式灭菌生产线控制系统设计+仿真图

AT89C51单片机电力电缆温度...

金针菇菇房空调系统空调系统设计+CAD图纸

CCMFlyback变换器输出电容...

Matlab遗传算法在背包问题中的应用

PROFIBUS在船舶分布式控制中的应用+PLC梯形图

电桥法电力电缆绝缘在线...

ADAM-4117冷水机组的远程在线监测系统设计

安康汉江网讯

网络语言“XX体”研究

我国风险投资的发展现状问题及对策分析

ASP.net+sqlserver企业设备管理系统设计与开发

新課改下小學语文洧效阅...

张洁小说《无字》中的女性意识

麦秸秆还田和沼液灌溉对...

互联网教育”变革路径研究进展【7972字】

老年2型糖尿病患者运动疗...

LiMn1-xFexPO4正极材料合成及充放电性能研究