【发布时间】:2015-11-29 08:19:20
【问题描述】:
我正在努力确保自己了解一些有关针对不同 ARM 架构(例如 ARMv5 与 ARMv7)进行编程的基础知识。
我有一个移植到较新的 Raspberry Pi B(Cotrex-7A) 的 python 程序。还要让它在 ARMv6 或 ARMv5 架构上运行需要什么。该程序无需 GPU 即可进行简单的波形处理和串行通信。
我的理解是,我必须为每个架构重新编译程序以考虑不同的指令集。而且我还需要运行相同版本的 Linux(在本例中为 Wheezy),但我还需要考虑更多吗?
是否有可能如果它在 ARMv7 中编译它不会在 ARMv6 或 ARMv5 上编译
谢谢
【问题讨论】:
-
通常你可以为旧架构编译并让它在新架构上工作,它们通常会添加并且很少会删除。对于正常的指令是正确的,对于浮点,它是在逐个芯片的基础上,如果你使用软浮点,你是可移植的,硬浮点是可能出现问题的地方(同样是旧的端口,只要你不真的老了)。
-
为了好玩,您也可以将其表述为“我有一个可以在我的 Core i5 上运行的 Python 程序,如果要让它在 Core 2 Duo/Pentium 4/Pentium III 上运行需要什么? /夸克?”答案几乎是相同的。如果您来自 x86 并且从来不必担心那里的架构版本,那么您也不太可能在 ARM 上遇到重大问题。
标签: python linux arm raspberry-pi