Я начинаю разрабатывать приложение во встроенной доске для рук из http://www.embeddedarm.com. Я новичок в разработке встроенных приложений. Мне нужны ресурсы, такие как книги, онлайн-гиды, которые помогут мне начать разработку приложений во встроенной руке. Я планировал использовать Linux в качестве ОС.
Предлагаемые ресурсы для программиста ARM для новичков?
Ответ 1
Как только все запущено, это в основном Linux-программирование. Если вы начнете с платформы eval, я думаю, у вас уже есть много инструментов. В любом случае, вы можете найти следующие полезные ссылки.
Инструментальная цепочка: кросс-компиляция. Вы можете сделать простой путь, то есть загрузить предварительно построенный инструментарий из code sourcery. Или вы можете пойти трудным путем и создать свою собственную инструментальную цепочку. Однако трудный путь облегчается, если вы используете правильный инструмент. Croostool-ng - это такой проект с очень реактивным списком рассылки.
Ядро: ну, арка архитектура была в магистрали какое-то время, однако, если у вас есть какой-то конкретный вопрос ARM, вы должны обязательно спросить их there
Пользовательское пространство: после загрузки ядра вам необходимо запустить пользовательское пространство, то есть некоторую файловую систему, оболочку, библиотеку C, процесс init и т.д. Для создания таких инструментов существует много вариантов. Один должен сделать все самостоятельно. Вы начинаете с busybox, а затем продолжаете использовать различные инструменты. Или вы можете использовать автоматизированные и настраиваемые инструменты. Мои предпочтения относятся к ptxdist, потому что он имеет правильный уровень сложности (для моего использования). Другие варианты buildroot, которые я не знаю. И если вы чувствуете, что вам нужно что-то более мощное, возможно, вы можете взглянуть на OpenEmbedded.
Я столкнулся со многими книгами, связанными со встроенной разработкой, но это больше похоже на документированные скрипты. Построение полной встроенной системы сложно, и я думаю, вы найдете больше информации в инструментах и списке рассылки, чем в книгах.
Ответ 2
В какой-то момент вам нужно будет понять некоторый уровень языка сборки ARM. "Руководство разработчика систем ARM" от Andrew Sloss и др. - действительно хорошая книга для сборки ARM.
Ответ 3
Взгляните на www.gnuarm.com. Embedded.com также есть статьи по ARM.
Ответ 4
Если у вас есть плата серии TS-7000, вы можете подписаться на список рассылки TS-7XXX.
Ответ 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.