Как начать с процессоров ARM?

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


person Dharavk    schedule 02.08.2009    source источник
comment
спасибо за ссылку приятель !! но дело в том, что я работал с микроконтроллерами (8051), а теперь перехожу к ARM ... это сложный мир здесь, в ARM, поэтому я бы предпочел прояснить свои основы, может быть, архитектура и прочее! !   -  person Dharavk    schedule 02.08.2009
comment
какая ссылка? и как это ответило на ваш вопрос?   -  person Rich Seller    schedule 02.08.2009
comment
этот парень удалил свой комментарий, я так думаю ...   -  person Dharavk    schedule 02.08.2009
comment
Ну, этим парнем был я :-). Я удалил свой комментарий через тридцать секунд после того, как разместил его, пересмотрел его, он вам не поможет. Я удивлен, что вы это видели, потому что я не отпускал это очень долго ... Как бы то ни было. Я даю вам ссылку, если это может кому-то помочь .. stackoverflow.com/questions/887423/   -  person yves Baumes    schedule 02.08.2009
comment
РУКА ОЧЕНЬ широкая. Первый вопрос, чтобы сузить круг вариантов: нужен ли вам процессор приложения или микроконтроллер? (также указано, хотите ли вы запустить ОС, такую ​​как встроенный Linux, или вы хотите напрямую программировать чип?)   -  person dwhall    schedule 03.08.2009
comment
Ответ на это зависит от ваших целей. Каковы твои цели?   -  person Craig McQueen    schedule 05.08.2009


Ответы (8)


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

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

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

person Michael Burr    schedule 03.08.2009

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

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

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

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

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

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

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

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

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

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

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

person RBerteig    schedule 02.08.2009
comment
Ваша ссылка [had for the STM32](http://www.st.com/mcu/contentid-105-110-STM3210B_PRIMER.html) кажется неработающей. - person abdullah kahraman; 10.07.2013
comment
@abdullahkahraman, похоже, ST снова перетасовал свой веб-сайт. Я исправил ссылку, указывающую на модель этого года демонстрационных устройств продукта PRIMER. - person RBerteig; 11.07.2013

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

person Heat Miser    schedule 02.08.2009

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

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

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

person old_timer    schedule 03.08.2009

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

person Rex Logan    schedule 02.08.2009
comment
Начать использовать плату не было бы идеей gr8, если бы я не знал архитектуру процессора! сначала мне нужно будет получить немного теоретических знаний, как мне дальше с этим - person Dharavk; 02.08.2009
comment
Вам не нужно знать, как работает ПК, чтобы писать для него код. Однако, если вас просто интересует, как работает низкоуровневый материал, просто загрузите материал gcc-arm и напишите или скомпилируйте другой код c и посмотрите на сгенерированную сборку, чтобы изучить материал низкого уровня. Однако, чтобы добиться успеха, вам нужно будет отлаживать код на реальном оборудовании. - person Rex Logan; 02.08.2009

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

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

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

person djna    schedule 02.08.2009

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

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

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

person Steve Melnikoff    schedule 03.08.2009

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

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

В верхней части спектра плата beagle - настоящий вычислитель чисел, который также может работать с Linux.

person Adriaan    schedule 04.08.2009