Как начать с процессоров ARM? - PullRequest
16 голосов
/ 02 августа 2009

Желательно ли начать с таблицы данных и руководства пользователя процессора ARM для новичка или сначала получить представление о мире ARM, а затем продолжить?

Ответы [ 8 ]

9 голосов
/ 02 августа 2009

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

С ARM я бы начал с www.arm.com и их документации в Информационном центре ARM .

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

Большой список лицензиатов ARM-технологий . Из них у некоторых производителей есть продукты (основанные на разновидности ядра ARM CORTEX-M3), которые ИМХО выделяются для приложений с глубокими встраиваемыми системами.

В моей компании реализуются проекты на основе семейства STM32 ST Microelectronics . Это семейство имеет множество встроенных периферийных устройств с функциональностью, которые знакомы любому человеку из мира 8051 или из мира PIC, и имеет достаточное количество флэш-памяти и SRAM на чипе, чтобы сделать внешнюю память дополнительной.

Я слышал много положительных отзывов о семье Стелларис от Luminary Micro . Это также похоже на то, что хорошо подходит для ряда потребностей встроенных платформ.

Учитывая текущие цены на оценочные платы начального уровня, я настоятельно рекомендую подобрать один или несколько чипов, похожих на ожидаемую нишу целевого приложения. Плата с небольшим ЖК-дисплеем, акселерометром, парой светодиодов на кнопке или двумя, доступом к незафиксированным выводам GPIO, встроенным интерфейсом JTAG USB и полной цепочкой инструментов для кросс-разработки на основе GCC может быть для STM32 (менее чем за 40 долларов США в 2009 году, но эта модель снята с производства), например, на уровне 100 долларов США.

Подобные пакеты можно найти для многих других продуктов на базе ядра ARM.

Еще один способ обнаружения ARM - это ядро ​​процессора в системе на чипе. Многие поставщики SOC лицензируют процессоры ARM, чтобы использовать их вместе со своим выделенным оборудованием. Я видел микросхемы сжатия видео, сетевые чипы, адаптеры FireWire to ATA и USB-устройства, созданные таким образом, и это лишь пример из опубликованных статей и пресс-релизов, которые я случайно вспомнил.

Обновление 2, 2013: Очень доступная точка входа в «типичное» семейство SOC на основе ARM можно увидеть на Raspberry Pi и на различных платах семейства Beagle . Оба предназначены для экспериментаторов и любителей, оба используют SOC с ядрами ARM и дополнительными ресурсами, такими как видео и аудио, и оба запускают linux из коробки.

Существует также большое разнообразие систем на производителях модулей, предоставляющих мезонинную плату, содержащую полную загрузочную систему для монтажа на специальной плате, с источниками питания и разъемами ввода / вывода, необходимыми для конкретной встроенной системы. Одним из таких поставщиков является Gumstix . Gumstix AirSTORM предлагает Wi-Fi, Bluetooth, DRAM, NAND FLASH и SOC TI OMAP3 ARM. Подходящая несущая плата может поддерживать либо ЖК-панель, либо HDMI, Ethernet 10/100, USB-хост и OTG, а также аналоговые аудиоподключения линейного уровня, а также доступ к множеству дополнительных выводов GPIO и встроенных периферийных устройств.

6 голосов
/ 02 августа 2009

Я бы порекомендовал получить BeagleBoard . Они поддерживают JTAG, так что вы можете видеть, что происходит в аппаратном обеспечении, что-то вроде аппаратного отладчика. Есть несколько сборок Linux, которые работают на нем. Вокруг него также есть большое сообщество, которое поможет вам в работе с ним. У меня работает Ubuntu Jaunty, так что нет конца утилит и компиляторов, которые вы можете запустить.

5 голосов
/ 03 августа 2009

Несколько хороших ресурсов описаны в ответах на этот связанный вопрос:

Кроме того, у Hitex есть «Руководства для инсайдеров» для нескольких различных микроконтроллеров на базе процессоров ARM (бесплатно, но требует регистрации):

Большинство из них (если не все) являются бесплатными (я думаю, что они спонсируются производителями микроконтроллеров). Они больше ориентированы на микроконтроллеры, чем на специфику ARM, но они включают некоторые детали ARM и являются отличным обзором микро и периферийных устройств в микро.

4 голосов
/ 03 августа 2009

Я бы и занимался серфингом на sparkfun.com, они несут доски olimex, а также делают свои собственные. Luminary Micro / Stellaris также хороши. Beagleboard - это скорее платформа Linux, чем то, к чему вы сами получаете доступ к функциям / инструкциям руки. Вы можете использовать его, но за эти деньги вы можете купить где-нибудь между 3 и 7 разными платами микроконтроллеров на базе ARM. В любом случае, я бы начал с небольшой доски, обернутой вокруг микроконтроллера, основанного на руке, вероятно, st или lpc, световой микроэлемент - это thumb2, что я делал бы только после того, как промочил ноги с помощью инструкций со стандартной рукоятки, а затем инструкций большого пальца.

Я также поклонник использования Gameboy Advance в качестве учебной платформы для рук (не NDS, который продвинут, начнем с семейства GBA).

Вам понадобится ARM ARM (Справочное руководство по архитектуре ARM), и тогда каждое конкретное ядро ​​имеет свой собственный TRM, вам понадобится оба, чтобы узнать, какие инструкции доступны для вас. В большинстве случаев эти руководства хороши как для справки, так и для обучения с нуля.

3 голосов
/ 02 августа 2009

Сначала я бы получил доску для оценки типа STR750-LOVE . Затем скомпилируйте и поймите примеры. После того, как вы освоитесь с примерами, настало время перейти к пониманию того, что скрывается за вами, и написанию собственного кода. Важной частью процесса обучения является попытка что-то сделать, а затем отладка и заставить это работать. Если вы хотите стать экспертом в ARM, вам нужно будет с уверенностью прочитать сборку. Я только что взял интервью, чтобы быть разработчиком прошивки ARM, и все, что я сделал для технической части, это проанализировал код сборки THUMB и превратил его в c-код. Большинство компиляторов имеют возможность выводить сборку, которую они генерируют.

1 голос
/ 04 августа 2009

Это действительно зависит от того, что за ARM, это действительно широкий мир. Обычно ARM интегрируется в SoC (система на чипе). Если вы готовитесь к переходу на конкретного поставщика SoC, вам нужно будет рассмотреть все это. По моему опыту, выбор периферийных устройств и кэша SoC оказывает большее влияние, чем реальное ядро ​​(за исключением производительности).

Что касается оценочных плат: у меня есть хороший опыт работы с Luminary micro (от $ 50 до $ 60) Cortex M3. Он поставляется с полной (затмением) средой разработки, примерами, библиотеками и некоторым оборудованием (например, USB, Ethernet, OLED-дисплеем) и примерами, которые вы можете использовать и учиться. Учиться на практике имхо веселее, чем учиться чтением. Я ожидаю, что вам будет удобно перейти с 8051 на Cortex M3.

На верхнем уровне спектра плата beagle - это программа для вычисления истинных чисел, которая также может работать под управлением Linux.

1 голос
/ 03 августа 2009

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

Хорошим праймером для STM32 на базе ARM-ядра является праймер STM32 .

Я бы не стал начинать с технического руководства, кроме как для очень быстрого просмотра. Один для STM32 имеет длину более 600 страниц, а сопровождающее руководство по Cortex-M3 - еще 400 страниц. Не совсем легкое чтение!

1 голос
/ 02 августа 2009

По словам Тома Лерера, «Плагиат, плагиат, пусть никто не уклоняется от ваших глаз».

Или как Ньютон (и Бернард) встают на плечи гигантов.

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

...