Вопрос

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

Это было полезно?

Решение

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

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

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

Другие советы

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

Что касается ARM, я бы начал с www.arm.com, и их документация на Информационный центр АРМ.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Хорошим учебником для STM32 на базе ARM-ядра является учебник для начинающих STM32 . р>

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

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

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

На верхнем уровне спектра плата Beagle представляет собой настоящую вычислительную машину, которая также может работать под управлением Linux.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top