2015-09-03 5 views
0

Я стараюсь быть уверенным, что я понимаю некоторые основы программирования для разных архитектур ARM (например, ARMv5 vs ARMv7).Программирование на разных ARM-архитектурах

У меня есть программа python, которая была перенесена на новую малину Pi B (Cotrex-7A). Что потребуется, чтобы запустить его на архитектуре ARMv6 или ARMv5. Программа выполняет простую обработку сигналов и последовательную связь без необходимости использования графического процессора.

Я понимаю, что мне пришлось бы перекомпилировать программу для каждой из архитектур, чтобы учитывать разные наборы инструкций. И мне также нужно будет запустить ту же версию Linux (в данном случае Wheezy), но есть ли еще больше, чтобы рассмотреть здесь?

Есть ли вероятность того, что если он компилирует в ARMv7 он не будет на ARMv6 или ARMv5

Благодарности

+0

часто вы можете скомпилировать для старой архитектуры и работать над новым, они обычно добавляют и редко удаляют. для нормальных инструкций, которые верны, для плавающей запятой на чипе на основе чипов в отношении того, что у вас есть, если вы используете soft float, вы переносимы, жесткий поплавок - это то, где могут возникать проблемы (снова старые, вероятно, порты, пока вы не используете пойдите действительно старое). –

+0

Для удовольствия вы могли бы также рассказать это как «У меня есть программа Python, которая работает на моем Core i5, что бы потребовалось, чтобы она работала на Core 2 Duo/Pentium 4/Pentium III/Quark?» и ответы будут в значительной степени идентичны. Если вы пришли из x86 и вам никогда не приходилось беспокоиться о версиях архитектуры, то, скорее всего, вы вряд ли столкнетесь с серьезными проблемами в ARM. – Notlikethat

ответ

0

Хорошая вещь о питона является то, что вы редко нужно беспокоиться о , лежащей в основе архитектуры , Python интерпретируется, так что делает интерпретатор всю тяжелую работу обработки 32 бит, 64 бит, мало-Endian, тупоконечника, мягкий или жесткий с плавающей точкой и т.д.

Кроме того, вам не нужно компилировать ваш python, так как интерпретатор будет также скомпилировать ваш источник, если вы предоставите файлы .py и .pyc или .pyo , а последние не соответствуют тому, что необходимо. Компиляция python - это не то же самое, что компиляция C, например, поскольку python нацеливает виртуальную машину , а не на аппаратное обеспечение. Полученные файлы .pyc или .pyo равны , но привязаны к конкретной версии python.

Как правило, исходные файлы, как правило, при условии, если нет .pyc или .pyo для них, то первый раз питон запускается он будет создавать их (если он имеет права доступа к файлам). Второй запуск будет использовать скомпилированные версии, , если источник не изменился.

+0

Отлично, спасибо! Я довольно новичок в разработке как python, так и ARM, поэтому это указывало на меня в правильном направлении. Я предполагаю, что мои основные ограничения будут совместимы с версией python – tentacles1349

Смежные вопросы