为微控制器编程是极难的。它们具有通常有大规模的外部设备直接暴露于程序员。这些使的嵌入式系统继续增加变得更加复杂,我们需要更好的编程环境。PyMite证明,使用高级语言来为微控制器部署运行时系统不仅实用,也使得编写复杂的嵌入式应用要方便得多。
1.3 国内外研究现状
1.4 发展趋势。
2 分析
2.1 实现目标
使用开源的PyMite解释器,来进行Python在AT1280芯片上的移植。
2.2 PyMite解释器和Atmel megaAVR系列微处理器概述
PyMite是一种轻量级的Python语言解释器,如果在嵌入式系统中使用可以大大降低应用开发的难度。软件开发者可以充分利用它的OOP的特性,专注于高层应用,而无需考虑底层实现的细节。本次课题目标便是完成PyMite解释器在Atmel mega 1280芯片上的移植。
2.2.1 Pymite解释器概述
PyMite是由Mr. Dean Hall推出的嵌入式Python运行环境。PyMite可以运行在小型嵌入式系统中。最小运行环境为64KB ROM + 8KB RAM。如果运行于512KB+64KB的配置,可以支持更复杂的用户程序。如果闪存不足,倒是可以将Byte code存储于外部存储器,如SPI闪存,甚至micro SD卡中。所以并不能完成 Python 上的所有功能。
PyMite 目前的版本,只 Python2.6 版本的语法结构,所以只能执行 Python2.6 版本的代码,但是PyMite 可直接完成编译、测试或者执行操作。PyMite支持Python中的大部分的关键字的识别。桌面版本Python与嵌入式Python在方方面面都有所不同。Python流行的原因是因为Python开源的庞大库,其极为简单的语法。然后PyMite毕竟不是完整版Python,运行于嵌入式环境导致其处处受到限制。
PyMite已经在多个平台上运行,其中包括AVR,所以将PyMite移植到Atmel 1280芯片上是可行的。
2.2.2 Atmel mega AVR系列微处理器概述
Atmel AVR系列单片机是由Atmel公司于1996年研发。它是一种基于改进的哈佛结构,8位~32位精简指令集(Reduced Instruction Set Computing,RISC)的微控制器。AVR系列是首次采用闪存(Flash Memory)作为数据存储介质的单芯片微控制器之一,同时代的其它微控制器多采用一次写入唯独内存、EPROM或是EEPROM。
ATmega单片机在AVR芯片的类别中属于较为高端的产品,它继承了AT90所具有的所有优秀特点,并且在AT90(如 AT9058515、AT9058535)的基础上,完善了更多。例如,接口功能,而且在省电性能。稳定性、抗干扰性以及灵活性方面考虑得更加周全和完善。
本次我们课题采用的就是基于Atmel megaAVR系列微处理器的AT1280芯片。
2.3 Arduino mega 1280微控制器板介绍
2.3.1 Arduino mega 1280微控制板的基本信息
Arduino mega是一种基于Atmega1280的微控制器板。它有54个数字输入/输出引脚(其中14个可以用作PWM输出),16个模拟输入,4个UART(硬件串口),一个16 MHz晶振,一个USB接口,一个电源接口,一个ICSP头,和一复位按钮。它包含支持微控制器所需的一切。