Linux armv7l что это

Обновлено: 04.07.2024

Когда разработка только начинается часто еще непонятно какие именно пакеты пойдут в целевую rootfs.

Иными словами хвататься за LFS, buildroot или yocto (или еще что-то) еще рано, а начинать уже нужно. Для богатых (у меня на пилотных образцах 4GB eMMC) есть выход раздать разработчикам дистрибутив, который позволит оперативно доставить что-то чего не хватает в данный момент, а затем мы всегда можем собрать списки пакетов и сформировать список для целевой rootfs.

Данная статья не несет в себе новизны и представляет из себя простую copy-paste инструкцию.

Цель статьи сборка Ubuntu rootfs для ARM борды (в моем случае на базе Colibri imx7d).

Сборка образа

Собираем целевой rootfs для тиражирования.

Распаковываем Ubuntu Base

Релиз выбираем сами исходя из необходимости и собственных предпочтений. Здесь я привел 20.

Проверка поддержки BINFMT в ядре

Если у вас распространенный дистрибутив, то поддержка BINFMT_MISC есть и все настроено, если нет — то я уверен, что вы знаете как включить поддержку BINFMT в ядре.

Убедитесь, что BINFMT_MISC включено в ядре:

Теперь надо проверить настройки:

Зарегистрировать вручную можно с помощью, например, вот этой инструкции .

Настройка qemu static arm

Теперь нам понадобится экземпляр qemu собранный статически.

Chroot

Любуемся на полученный результат:

Ради интереса замерим размер до и после установки минимального (для меня) набора пакетов:

Установим интересующие нас пакеты:

Заголовочные файлы ядра, модули, это отдельный разговор. Загрузчик, ядро, модули, device tree через Ubuntu мы конечно же не поставим. Они придут к нам извне или сами соберем или нам их выдаст производитель борды, в любом случае это за гранью данной инструкции.

До какой-то степени расхождение версий допустимо, но лучше взять их со сборки ядра.

Смотрим, что получилось и получилось немало:

Не забудьте задать пароль.

Пакуем образ

Дополнительно можем поставить etckeeper с настройкой autopush

Ну допустим раздали мы нашу сборку, работа пошла, как лучше собрать потом различные версии нашей системы.

На помощь нам может прийти etckeeper.

Настроим autopush

Можем конечно заранее же создать ветки на устройстве (допустим сделать скрипт или службу, которая отработает при первом запуске).

Ленивый путь

Пусть у нас будет какой-то уникальный идентификатор, допустим серийный номер процессора (ну или MAC — серьезные компании покупают диапазон):

cat /proc/cpuinfo

Тогда мы можем использовать его для имени ветки в которую будем пушить:

Создадим простой скрипт:

И всё — через некоторое время можем посмотреть изменения и сформировать список пакетов для целевой прошивки.


А если поставить armv7 на Малину дистрибутив хуже будет?


наверное да, тормозить будет


малина в armhf может


Ставь с armhf, там и ядра для малины сразу идут.

armhf мог быть на armv6
armv7 не подразумевает hardfloat abi, но требует armv7

mittorn ★★★★★ ( 05.02.19 18:26:46 )
Последнее исправление: mittorn 05.02.19 18:27:19 (всего исправлений: 1)


Если бы увидел armv8 - была бы разница с armv7, он быстрее. armhf - hardware float, он быстрее чем armel (arm eabi), если сравнивать их (в одном вычисление с floating point более быстрые на хардверном уровне, а другой - древний и медленный, на софтверном). А так, сравнение некорректное какое-то.
Я ставил альпайн, пожалел о потраченном времени. Хотел погонять их оболочки для своей малины с точ скрином, а нормально поставилась только крыса. А она есть и в стандартным репах raspbian, овчинка выделки не стоит.

fehhner ★★★★★ ( 05.02.19 18:45:24 )
Последнее исправление: fehhner 05.02.19 18:46:41 (всего исправлений: 1)

В ARM-HF есть FPU.

помнится для первой малинки был дистр raspbian со спец. ABI ( armv6+hf), который не совместим с обычным дебиановским armhf (armv7+hf если не ошибаюсь). видимо тут этот самый случай.

Rost ★★★★★ ( 07.02.19 01:00:30 )
Последнее исправление: Rost 07.02.19 01:02:08 (всего исправлений: 2)

ОП, исходя из треда, у тебя Малина. Я на свою ставил Арч (ибо Арч на десктопе), а вообще, лучше, как здесь советовали - распбиан. Алпайн не для этих целей.

В этом материале пойдет речь о процессорной архитектуре ARM Cortex A7 . Полупроводниковые продукты на ее основе можно встретить в смартфонах, роутерах, планшетных ПК и прочих мобильных устройствах, где она до недавних пор занимала ведущие позиции в этом сегменте рынка. Сейчас же ее постепенно вытесняют более новые и свежие процессорные решения.

Armv7 processor rev 3 v7l характеристика

Краткая справка о компании ARM

История компании ARM началась в 1990 году, когда она была основана Робином Саксби. Основой же для ее создания стала новая микропроцессорная архитектура. Если до этого господствующие позиции на рынке ЦПУ занимала х86 или CISC , то после образования данной компании появилась достойная альтернатива в виде RISC. В первом случае выполнение программного кода сводилось к 4 этапам:

Получение машинных инструкций.

Выполнение преобразования микрокода.

Поэтапное выполнение микроинструкций.

О сновная же идея архитектуры RIS С состояла в том, что обработку программного кода можно свести к 2 этапам:

Получение RISC- инструкций.

Обработка RISC- инструкций.

К ак в первом, так и во втором случае есть как плюсы, так и существенные недостатки. х86 успешно завоевала компьютерный рынок, а RISC ( в том числе и ARM Cortex A7 , представленная 2011 году) — рынок мобильных устройств.

История появления архитектуры Cortex A7. Ключевые особенности

В качестве основы для «Кортекс А7» выступала «Кортекс А8». Основная идея разработчиков в данном случае сводилась к тому, чтобы увеличить производительность и значительно улучшить энергоэффективность процессорного решения. Именно это в конечном итоге и получилось у инженеров компании ARM . Еще одной важной особенностью в данном случае стало то, что появилась возможность создавать ЦПУ с технологией big.LITTLE. То есть полупроводниковый кристалл мог включать 2 вычислительных модуля. Один из них был нацелен на решение наиболее простых задач с минимальным энергопотреблением и, как правило, в этой роли и выступали ядра «Кортекс А7». Второй же был предназначен для запуска наиболее сложного софта и базировался на вычислительных блоках «Кортекс А15» или «Кортекс А17». Официально «Кортекс А7» была представлена, как было отмечено ранее, в 2011 году. Ну а первый процессор ARM Cortex A7 увидел свет годом позже, то есть в 2012 году.

Armv7 processor rev 3 v7l характеристика

Технология производства

Изначально полупроводниковые продукты на основе А7 производились по технологическим нормам 65 нм. Сейчас эта технология безнадежно устарела. В дальнейшем были выпущены еще два поколения процессоров А7 по нормам допуска уже 40 нм и 32 нм. Но и они сейчас уже стали неактуальными. Наиболее свежие модели ЦПУ на основе этой архитектуры изготавливаются уже по нормам 28 нм, и именно их пока еще можно встретить в продаже. Дальнейший переход на более новые технологические процессы с новыми нормами допуска и устаревшей архитектурой ожидать вряд ли стоит. Чипы на базе А7 сейчас занимают наиболее бюджетный сегмент рынка мобильных устройств и их постепенно вытесняют уже гаджеты на основе А53, которая практически при той же энергоэффективности параметрах имеет более высокий уровень быстродействия.

Архитектура микропроцессорного ядра

Б лок обработки чисел с плавающей запятой ( FPU).

Блок NEON для оптимизации работы ЦПУ.

Вычислительный модуль ARMv7.

Также были следующие общие компоненты для всех ядер в составе ЦПУ:

Блок управления ядрами CoreSight.

Контроллер шины управления данными АМВА с разрядностью 128 бит.

Armv7 processor rev 3 v7l характеристика

Возможные частоты

Максимальное значение тактовой частоты для данной микропроцессорной архитектуры может изменяться от 600 МГц до 3 ГГц. Также необходимо отметить, что этот параметр, который указывает максимальное влияние на производительность вычислительной системы, изменяется. Причем на частоту оказывает влияние сразу три фактора:

Уровень сложности решаемой задачи.

Степень оптимизации программного обеспечения под многопоточность.

Текущее значение температуры полупроводникового кристалла.

В качестве примера рассмотрим алгоритм работы чипа МТ6582, который базируется на А7 и включает 4 вычислительных блока, частота которых изменяется от 600 МГц до 1,3 ГГц. В режиме простоя у этого процессорного устройства может находиться лишь только один блок вычислений, и он функционирует на минимально возможной частоте в 600 МГц. Аналогичная ситуация будет и в том случае, когда будет запущено простое приложение на мобильном гаджете. Но когда же в списке задач появиться ресурсоемкая игрушка с оптимизацией под многопоточность, то автоматически включатся в работу все 4 блока обработки программного кода на частоте 1,3 ГГц. По мере нагрева ЦПУ наиболее горячие ядра будут понижать значение частоты или даже отключаться. С одной стороны, такой подход обеспечивает энергоэффективнсть, а с другой — приемлемый уровень быстродействия чипа.

Кеш-память

Всего лишь 2 уровня кеша предусмотрено в ARM Cortex A7. Характеристики полупроводникового кристалла, в свою очередь, указывают на то, что первый уровень в обязательном порядке разделен на 2 равные половинки. Одна из них должна хранить данные, а другая — инструкции. Суммарный р азмер кеша на 1-ом уровне по спецификациям может быть равен 64 Кб. Как результат, получаем 32 Кб для данных и 32 Кб для кода. Кеш 2-го уровня в этом случае будет завис е ть от конкретной модели ЦПУ. Наименьший объем его может быть равен 0 Мб (то есть отсутствовать), а наибольший — 4 Мб.

Контроллер оперативной памяти. Его особенности

Встроенным контроллером оперативной памяти комплектуется любой процессор ARM Cortex A7. Характеристики технического плана указывают на то, что он ориентирован на работу в связке с ОЗУ стандарта LPDDR3. Рекомендованные частоты функционирования оперативной памяти в данном случае равны 1066 МГц или 1333 МГц. Максимальный же размер ОЗУ, который можно встретить на практике, для данной модели чипа равен 2 Гб.

Armv7 processor rev 3 v7l характеристика

Интегрированная графика

Программные особенности

Три вида операционных систем нацелено на процессоры ARM:

Android от поискового гиганта Google.

Windows Mobile от «Майкрософт».

Все остальное системное программное обеспечение пока не получило большого распространения. Наибольшую долю на рынке такого софта, как не сложно догадаться, занимает именно Android. Эта система имеет простой и понятный интерфейс и устройства на ее основе начального уровня являются очень и очень доступными. До версии 4.4 включительно она была 32-битной, а с 5.0 стала поддерживать 64-разрядные вычисления. Эта ОС успешно функционирует на любом семействе ЦПУ архитектуры RISC , в том числе и ARM Cortex A7. Инженерное меню — это еще одна важная особенность данного системного софта. С ее помощью можно существенно перенастроить возможности ОС. Доступ же к этому меню можно получить с помощью кода, который для каждой модели ЦПУ индивидуален.

Еще она важная особенность этой ОС — установка всех возможных обновлений автоматически. Поэтому даже новые возможности могут появиться на чипах семейства ARM Cortex A7. Прошивка их может добавить. Вторая система нацелена на мобильные гаджеты компании APPLE. Такие устройства в основном занимают премиум — сегмент и имеют соответствующие уровни быстродействия и стоимость. Последняя ОС в лице Windows Mobile пока не получила большого распространения. Устройства на ее основе есть в любом сегменте мобильны гаджетов, но вот малое количество прикладного софта в данном случае является сдерживающим фактором для ее распространения.

Armv7 processor rev 3 v7l характеристика

Модели процессоров

Дальнейшие перспективы развития

Armv7 processor rev 3 v7l характеристика

Мнение экспертов и пользователей. Реальные отзывы о чипах на базе данной архитектуры. Сильные и слабые стороны

Безусловно, знаковым событием для мира мобильных устройств стало появление архитектуры микропроцессорных устройств ARM Cortex A7. Наилучшим доказательством этого стало то, что устройства на ее базе уже успешно продаются более 5 лет. Конечно, сейчас уже возможностей ЦПУ на основе А7 уже недостаточно даже для решения задач среднего уровня, но вот наиболее простой программный код на таких чипах и по сей день успешно функционирует. В перечень такого софта входит воспроизведение видео, прослушивание аудиозаписей, чтение книг, веб-серфинг и даже наиболее простые игрушки в этом случае запустятся без особых проблем. Именно на этом и акцентируют внимание на ведущих тематических порталах, посвященных мобильным гаджетам и девайсам как ведущие специалисты такого плана, так и обычные пользователи. Ключевой минус А7 — это отсутствие поддержки 64-битных вычислений. Ну а к основным плюсам ее можно отнести идеальное сочетание энергоэффективности и производительности.

Armv7 processor rev 3 v7l характеристика

Итоги

Безусловно, архитектура ARM Cortex A7 — это целая эпоха в мире мобильных устройств. Именно с ее появлением мобильные устройства стали доступными и достаточно производительными. И один тот факт, что она уже более 5 лет успешно продается, лишнее тому подтверждение. Но если вначале гаджеты на ее базе занимали средний и премиум сегменты рынка, то сейчас за ними остался лишь бюджетный класс. Эта архитектура устарела и постепенно уходит в прошлое.

Armv7 processor rev 3 v7l характеристика

Есть четыре компании — RockChip, Allwiner, MTK и Autochips. На рынке большинство процессоров в ГУ от этих компаний.

Например, во многих ГУ redpower, kaier используется процессоры Allwinner R16 и T3.

Характеристики CPU R16 — 4-х ядерный, на основе Cortex-A7, частота 1,4GHz*4, а характеристики CPU T3 тоже— 4-х ядерный, на основе Cortex-A7, частота 1,4GHz*4.

В некоторых ГУ INCAR, WINCA используется процессор RockChip PX3/RK3188, его характеристики – 4-х ядерный, на основе Cortex-A9 , частота 1,6GHz*4.

Armv7 processor rev 3 v7l характеристика

Для тех, кто хочет купить недорогие ГУ, мы предлагаем ГУ с 4-ядерным процессором SOFIA (совместная разработка Intel+RochChip) на основе Atom 64bit, частота 1.2GHz*4.

MTK(MediaTek) более известен, потому что их чип часто используется в смартфонах.

В большинстве ГУ на WinCE используется их процессор MTK3360, а в ГУ на Андроиде гораздо меньше используется их чип.

MTK MT3561 4-ядреный процессор на основе Cortex-A53 64bit, частота 1,5GHz*4.

На российском рынке еще много ГУ с более слабыми процессорами в продаже. Такие постепенно поступают в распродажу, ведь более мощные процессоры непрерывно появляются каждый год.

Информацию о популярных графических процессорах (GPU).

На платформе Allwinner R16 снабжен 2-ядерный графический процессор Mali400MP2;

На платформе Allwinner T3 снабжен 2-ядерный графический процессор Mali400MP2;

На платформе Allwinner A10 снабжен 1-ядерный графический процессор Mali400;

На платформе Rockchip PX5 снабжен графический процессор PowerVR G6110;

На платформе Rockchip PX3/RK3188 снабжен 4-ядерный графический процессор Mali-400MP4;

На платформе MTK MT8127 снабжен 4-ядерный графический процессор Mali-450MP4.

Платформа RockChip PX5 лучше PX3/RK3188, а PX3 лучше, чем Allwinner R16 и T3 и конечно их рыночные цены тоже так отражают их мощности.

При покупке ШГУ, лучший выбор платформы — RockChip, лучший процессор PX5, но он дорогой и поэтому лучший выбор по отношения цены и мощности — PX3/RK3188.

В этой таблице представлены все известные на сегодняшний день ARM процессоры. Таблица ARM процессоров будет дополнятся и модернизироваться по мере появления новых моделей. В данной таблице используется условная система оценки производительности CPU и GPU. Данные о производительности ARM процессоров были взяты из самых разных источников, в основном исходя из результатов таких тестов, как: PassMark, Antutu, GFXBench.

Мы не претендуем на абсолютную точность. Абсолютно точно ранжировать и оценить производительность ARM процессоров невозможно, по той простой причине, что каждый из них, в чем-то имеет преимущества, а в чем-то отстает от других ARM процессоров. Таблица ARM процессоров позволяет увидеть, оценить и, главное, сравнить различные SoC (System-On-Chip) решения. Воспользовавшись нашей таблицей, Вы сможете сравнить мобильные процессора и достаточно точно узнать, как позиционируется ARM-сердце Вашего будущего (или настоящего) смартфона или планшета.

Вот мы провели сравнение ARM процессоров. Посмотрели и сравнили производительность CPU и GPU в различных SoC (System-оn-Chip). Но у читателя может возникнуть несколько вопросов: Где используются ARM процессора? Что такое ARM процессор? Чем отличается архитектура ARM от x86 процессоров? Попробуем разобраться во всем этом, не сильно углубляясь в подробности.

Некоторые компании, получившие лицензию на выпуск ARM процессоров, создают собственные варианты ядер на базе ARM архитектуры. Как пример можно назвать: DEC StrongARM, Freescale i.MX, Intel XScale, NVIDIA Tegra, ST-Ericsson Nomadik, Qualcomm Snapdragon, Texas Instruments OMAP, Samsung Hummingbird, LG H13, Apple A4/A5/A6 и HiSilicon K3.

ARM процессор представляет из себя SoC, или "систему на чипе". SoC система, или "система на чипе", может содержать в одном кристалле, помимо самого CPU, и остальные части полноценного компьютера. Это и контроллер памяти, и контроллер портов ввода-вывода, и графическое ядро, и система геопозиционирования (GPS). В нем может находится и 3G модуль, а также многое другое.

Если рассматривать отдельное семейство ARM процессоров, допустим Cortex-A9 (или любое другое), нельзя сказать, что все процессоры одного семейства имеют одинаковую производительность или все снабжены GPS модулем. Все эти параметры сильно зависят от производителя чипа и того, что и как он решил реализовать в своем продукте.

Чем же отличается ARM от X86 процессоров? Сама по себе RISC (Reduced Instruction Set Computer) архитектура подразумевает под собой уменьшенный набор команд. Что соответственно ведет к очень умеренному энергопотреблению. Ведь внутри любого ARM чипа находится гораздо меньше транзисторов, чем у его собрата из х86 линейки. Не забываем, что в SoC-системе все периферийные устройства находится внутри одной микросхемы, что позволяет ARM процессору быть еще более экономным в плане энергопотребления. ARM архитектура изначально была предназначена для вычисления только целочисленных операций, в отличии от х86, которые умеют работать с вычислениями с плавающей запятой или FPU. Нельзя однозначно сравнивать эти две архитектуры. В чем-то преимущество будет за ARM. А где-то и наоборот. Если попробовать ответить одной фразой на вопрос: в чем разница между ARM и X86 процессорами, то ответ будет таким: ARM процессор незнает того количества команд, которые знает х86 процессор. А те, что знает, выглядят гораздо короче. В этом его как плюсы, так и минусы. Как бы там ни было, в последнее время все говорит о том, что ARM процессора начинают медленно, но уверенно догонять, а кое в чем и перегонять обычные х86. Многие открыто заявляют о том, что в скором времени ARM процессоры заменят х86 платформу в сегменте домашних ПК. Как мы уже писали, в 2013 году уже несколько компаний с мировым именем полностью отказались от дальнейшего выпуска нетбуков в пользу планшетных пк. Ну а что будет на самом деле, время покажет.

Разница между arm-linux-gcc, arm-none-eabi-gcc, arm-eabi-gcc, arm-none-linux-gnueabi-gcc

arm-none-eabi-gcc

==(ARM architecture,no vendor,not target an operating system,complies with the ARM EABI)==

Arm официально используется для компиляции голых металлических систем на базе ARM (включая загрузку и ядро ​​ARM Linux, == не применяется для компиляции приложений Linux ==), обычно подходит для основных чипов ARM7, Cortex-M и Cortex-R, поэтому они не поддерживается Функции, тесно связанные с операционной системой, такие как fork (2), используют newlib, библиотеку C, предназначенную для встраиваемых систем.
ссылка для скачивания

arm-none-linux-gnueabi-gcc

==(ARM architecture, no vendor, creates binaries that run on the Linux operating system, and uses the GNU EABI)==

В основном используется для систем Linux, основанных на архитектуре ARM, == может использоваться для компиляции u-boot, ядра Linux, приложений Linux и т. Д. Архитектуры ARM ==. arm-none-linux-gnueabi основан на GCC, использует библиотеку Glibc и является компилятором, оптимизированным Codesourcery. Вычисления с плавающей запятой в инструментах кросс-компиляции arm-none-linux-gnueabi-xxx превосходны. Обычно их используют ядра ARM9, ARM11, Cortex-A и операционная система Linux.
ссылка для скачивания

arm-eabi-gcc

Компилятор Android ARM.

armcc

Инструмент компиляции, запущенный ARM, имеет аналогичные функции с arm-none-eabi. Он может компилировать программы с нуля (u-boot, kernel), но не может компилировать приложения Linux. Armcc обычно работает с ARM. Все компиляторы в Keil MDK, ADS, RVDS и DS-5 являются armcc, поэтому все компиляторы armcc являются платными).

arm-none-uclinuxeabi-gcc и arm-none-symbianelf-gcc

arm-none-uclinuxeabi используется для uCLinux с использованием Glibc.
arm-none-symbianelf используется для Symbian.

ABI и EABI

Двоичный интерфейс приложения (ABI) для архитектуры ARM. В компьютере двоичный интерфейс приложения описывает низкоуровневый интерфейс между приложением (или другими типами) и операционной системой или другими приложениями.

Встроенный ABI. Двоичный интерфейс встроенного приложения определяет формат файла, тип данных, использование, оптимизацию организации стека и стандартные соглашения о параметрах во встроенном программном обеспечении. Разработчики, использующие собственный язык ассемблера, также могут использовать EABI в качестве интерфейса с совместимым сгенерированным языком ассемблера.

== Основное различие между ними состоит в том, что ABI находится на компьютере, а EABI находится на встроенной платформе (например, ARM, MIPS и т. Д.). ==

arm-linux-gnueabi-gcc и arm-linux-gnueabihf-gcc

Два кросс-компилятора применимы к двум различным архитектурам, armel и armhf. Armel и armhf используют разные стратегии для операций с плавающей запятой (руки с fpu могут поддерживать эти две стратегии операций с плавающей запятой).

Фактически, эти два кросс-компилятора представляют собой просто разные значения по умолчанию для параметра gcc -mfloat-abi. Параметр gcc -mfloat-abi имеет три значения:

soft, softfp, hard (последние два требуют блока с плавающей запятой fpu в arm, soft совместим с двумя последними, но два режима softfp и hard несовместимы друг с другом):

Читайте также: