Подтвердить что ты не робот

Предлагаемые ресурсы для программиста ARM для новичков?

Я начинаю разрабатывать приложение во встроенной доске для рук из http://www.embeddedarm.com. Я новичок в разработке встроенных приложений. Мне нужны ресурсы, такие как книги, онлайн-гиды, которые помогут мне начать разработку приложений во встроенной руке. Я планировал использовать Linux в качестве ОС.

4b9b3361

Ответ 1

Как только все запущено, это в основном Linux-программирование. Если вы начнете с платформы eval, я думаю, у вас уже есть много инструментов. В любом случае, вы можете найти следующие полезные ссылки.

Инструментальная цепочка: кросс-компиляция. Вы можете сделать простой путь, то есть загрузить предварительно построенный инструментарий из code sourcery. Или вы можете пойти трудным путем и создать свою собственную инструментальную цепочку. Однако трудный путь облегчается, если вы используете правильный инструмент. Croostool-ng - это такой проект с очень реактивным списком рассылки.

Ядро: ну, арка архитектура была в магистрали какое-то время, однако, если у вас есть какой-то конкретный вопрос ARM, вы должны обязательно спросить их there

Пользовательское пространство: после загрузки ядра вам необходимо запустить пользовательское пространство, то есть некоторую файловую систему, оболочку, библиотеку C, процесс init и т.д. Для создания таких инструментов существует много вариантов. Один должен сделать все самостоятельно. Вы начинаете с busybox, а затем продолжаете использовать различные инструменты. Или вы можете использовать автоматизированные и настраиваемые инструменты. Мои предпочтения относятся к ptxdist, потому что он имеет правильный уровень сложности (для моего использования). Другие варианты buildroot, которые я не знаю. И если вы чувствуете, что вам нужно что-то более мощное, возможно, вы можете взглянуть на OpenEmbedded.

Я столкнулся со многими книгами, связанными со встроенной разработкой, но это больше похоже на документированные скрипты. Построение полной встроенной системы сложно, и я думаю, вы найдете больше информации в инструментах и ​​списке рассылки, чем в книгах.

Ответ 5

Еще один большой встроенный ресурс linux - Embedded Linux: аппаратное обеспечение и интерфейс, которым управляет автор этой книги. Он предоставляет несколько образцов для работы с Embedded Linux, большинство из которых запускаются на платформе TS-7XXX.

Ответ 6

Я думаю, это зависит от того, какие приложения вы собираетесь развивать.

Для Linux (а не Android) и приложений ничего особенного для устройства ARM, я не думаю, что вам нужны какие-либо знания ARM, за исключением цепочки инструментов построения. Распределения, такие как Ubuntu и Arch, имеют версии на основе ARM, почти все связанные с ним пакеты в своих репозиториях могут работать с ARM.

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

Что вам действительно нужно заботиться - это аппаратные компоненты, у которых нет драйверов или драйверов для baremetal в Linux, в этом случае вам нужно напрямую общаться с устройством. Вам либо нужно работать внутри ядра, либо использовать интерфейс ioctl. Тогда управление памятью ARM, управление вводом-выводом (mem mapping, зондирование и т.д.), Программирование прерываний - это то, что вам нужно изучить. Просто найдите руководство для своего процессора на сайте vender, например, найдите руководство по разработке Intel x86 или x64.