如何为基于arm的设备移植/嵌入python?

时间:2015-03-29 21:28:24

标签: python arm python-embedding verifone

TL; DR:将Python移植到新操作系统有多难?

我想使用python为Verifone的VX 680编写应用程序。它们是基于32位ARM的设备,具有128 + MB的RAM。 http://www.verifone.com/media/4300697/vx680_ds_ltr.pdf

我的想法是编写一个调用Python解释器的C应用程序。我的应用程序将是一堆python模块。该应用程序需要显示图形丰富的UI,发送HTTPS消息,访问外围设备(例如WiFi无线电,PinPad,热敏打印机)。尽管经过我的调查,我还是完全迷失了。

为了能够在此设备中编写python应用程序,我需要解决的事项列表是什么?

1 个答案:

答案 0 :(得分:0)

我亲自为我自己的操作系统移植了CPython;真正的问题是缺乏交叉编译支持 - 我找到了2.5.1的补丁,使其能够干净地进行交叉编译。

在干净地编译之后,我只需要提供相当少的系统调用来工作。对于任何严重的事情,至少必须使用只读文件系统。在任何情况下,如果您的libc是POSIXish,那么开始时不应该有太多问题。

我在开头的系统调用集是exitopencloseread(对于控制台和文件),write(仅限文件描述符1和2),statfstatsbrk(用于更改堆大小)。我使用带有libgloss的newlibc C库 - 未映射到这些的所有内容,只返回错误值或默认值。