2009-02-18 9 views
22

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

ответ

14

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

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

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

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

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

0

Если у вас есть плата серии TS-7000, вы можете подписаться на TS-7XXX mailing list.

+0

Я сделал это. Я также нашел, что их набор для разработки очень полезен для новичков. – yrcjaya

0

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

0

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

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

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

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