我正在使用ARM Cortex M3,我需要在其上移植Python(没有操作系统).什么是我最好的方法?我只需要核心Python和基本I/O.
小智 11
有一些项目试图将Python移植到你提到的情况,看看python-on-a-chip,PyMite或tinypy.它们针对的是没有操作系统的低功耗微控制器,并且倾向于关注较旧版本的Python语言并减少库支持.
一种可能的方法是在软件中构建自己的堆栈机器,以直接解释和执行Python 字节码.当然不是一个移植工作,而且实现起来相当费力,但是为嵌入式系统构建的独立Python字节码堆栈处理器可以让您需要一个操作系统.
另一种方法是编写自己的低级执行程序(比通用操作系统低一级),其中包含核心Python解释器端口所需的最低服务.我不确定这是否比构建堆栈处理器更多或更少劳动力.
我不推荐这些方法中的任何一种 - 就个人而言,我最喜欢Charlie Martin的Minix 3方法,因为它是一种平衡的要求妥协.另一方面,如果你的项目绝对需要没有操作系统的Python,并且项目有很好的时间和金钱预算,我建议的内容可能会很有趣.
更新2012年3月5日:鉴于严格遵守您的Python /无操作系统要求,解决方案的另一种可能性在于使用无操作系统的Java VM(例如,jnode,目前处于测试阶段)并使用Jython创建Java来自Python的字节代码.当然不是一个理想的现成解决方案,它似乎满足无需操作系统的Python要求.