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

标签 python arm python-embedding verifone

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

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

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

为了能够在此设备中编写 Python 应用程序,我需要解决哪些问题?

最佳答案

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

在干净地编译之后,我只需要提供一组最少的系统调用即可工作。对于任何严肃的事情,至少只读文件系统是必须的。无论如何,如果您的 libc 是 POSIXish,那么您上手时就不会有太多问题。

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

关于python - 如何为基于arm的设备移植/嵌入python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29335056/

相关文章:

python - 从 hdf5 加载组

linux-kernel - ARM 的 Linux 内核中的页表条目 (PTE) 描述符

python - 将两个参数(int 和 array)传递给嵌入式 Python 函数

Python/C-API : Add class to module

python - C++调用Python如何处理SystemExit异常

python - 如何在不导入的情况下计算方差和标准差

python - 使用 NumPy Unicode 数组,为什么 dtype '|U5' 变成 dtype '<U5' ?

python - 仅保留 DataFrame 中连续重复行的第一行

linux - 嵌入式 Linux 中的看门狗定时器 > 60 秒

linux - 在嵌入式设备上安装 ssh 服务器