Я сделал некоторые разработки с ATMega, и я хочу расширить свой кругозор. У меня есть пара чипов серии Cortex M4 и я хотел бы сделать ARM эквивалент Breadboarduino
Я планирую либо вытравить свою собственную доску, либо использовать разделочную доску для ARM и макет остального. Ссылка или схема минимальных компонентов будет принята с благодарностью.
Есть ли хорошие ресурсы для определения минимально необходимых компонентов для работы и, в идеале, для программирования чипа ARM?
ОБНОВИТЬ:
Я открыт для альтернативных аппаратных предложений. Ниже приведен чип, с которым я сейчас пытаюсь работать:
arm
microprocessor
prototyping
ZnArK
источник
источник
Ответы:
Это действительно зависит от используемых вами чипов - вы не указали, какой из них вы получили. Как правило, вам понадобится как минимум кристалл, развязка колпачков и логика сброса. Интерфейс программирования может быть простым интерфейсом JTAG.
Но все это должно быть указано в спецификации чипов.
Обновление (для STM32F407):
Посмотрите на следующие страницы в листе данных
Вам не понадобится схема сброса (она встроена - см. Стр. 23) или генератор (встроенный генератор 16 МГц выбран при запуске, см. Стр. 22). Таким образом, использование разделительной доски LQFP144 (например, от futurlec (см. Внизу страницы) может быть действительно достаточно.
Вы также можете взглянуть на схему платы STM32F4DISCOVERY (см . Руководство пользователя , стр. 33). То, что вы видите, это базовая схема - и она даже содержит внешние кристаллы.
источник
Вы уверены, что хотите сделать это для Cortex-M4? Это большой скачок от AVR, и я не понимаю, как бы вы использовали все функции, которые он предоставляет. Для начала Cortex-M4 обычно поставляется в большом пакете, обычно более 80 контактов для деталей начального уровня, и 200+ не является исключением, подумайте QFP или BGA. Собираетесь сделать разделочную доску с двумя рядами по 40 контактов на макете?
Cortex-M4 также рассчитан на высокую скорость: обычно от 120 МГц до 200+ МГц. ОК, вам может не понадобиться проектировать вашу PCB для этих скоростей, если вы используете встроенную ФАПЧ. Но как насчет периферийных устройств, таких как USB или Ethernet?
Конечно, вы можете запускать его на более низких скоростях и не использовать большую часть встроенных функций, но мне интересно, с чего начать Cortex-M4. Я думаю, что Cortex-M3 или даже -M0 более подходит для начала. Я не хочу вас обескураживать, я хочу оставаться реалистичным.
Если вы действительно хотите , чтобы идти вперед с Cortex-M4 можно сделать с минимальным внешним оборудованием. Например, NXP LPC407x имеет внутренний RC-генератор, который является генератором по умолчанию при сбросе, поэтому вам даже не нужен кристалл. Схема сброса и правильная развязка блока питания - все, что вам нужно для его запуска и работы.
Для Cortex-M0 стоит взглянуть на NXP LPC111x . Конечно, он не поставляется с большим объемом памяти, но доступен в пакете DIL-28 , что является редкостью для ARM. В качестве альтернативы вы можете использовать плату разработки, такую как LPCXpresso ,
где правая половина - это доска приложений, которая может быть отделена от LPC-ссылки. Как вы можете видеть, для приложения вряд ли требуется какое-либо внешнее оборудование. И если вы припаяете набор заголовков на нем, вы можете подключить его к макету.
источник
Как говорит Стивен, это довольно большой скачок в ARM от 8-битного микро, так что ожидайте немало обучения / времени, потраченного в пути.
Я также не стал бы использовать M4 для вашего первого ARM, просто потому, что он не был слишком длинным и там меньше поддержки / информации для него. Я думаю, что M3 или M0 - лучший выбор, и с ним будет много проблем.
Вы, конечно, можете сделать свою собственную доску, но, возможно, было бы лучше сначала взять небольшую / дешевую плату для разработчиков. В разработке есть много вариантов, от бесплатных (eclipse + GCC + OpenOCD) до дорогих (Keil, Rowley и т. Д.). Лично я использую IDE Raisonance Ride7 и инструменты с серией STM32 ARM M3 / M4s, которая немного дешевле. чем Кейл / Роули, но достаточно хорошо.
Взгляните на одну из простых плат разработчиков от таких, как ST, Olimex и т. Д. этой плате разработчиков представлена самая простая схема, которую я смог найти, для STM32 Cortex-M3.
источник
Arduino Due должен выйти довольно скоро:
Чип это SAM3X8 Cortex-M3 от Atmel. Возможно, стоит подождать, если вы уже знакомы с досками в стиле Arduino и документацией в стиле Atmel. И поскольку он будет с открытым исходным кодом, чтобы удовлетворить требования Arduino, вы, конечно, можете использовать его в качестве макета.
источник
Я бы порекомендовал вам проверить Mbed на устройстве cortex-m3 с несколькими приятными периферийными устройствами, nxp предоставляет компилятор и множество библиотек и библиотек сообщества, действительно простой способ его программирования, и он уже находится в пакете для использования на макете. Я думаю, что это будет самый простой способ перехода с AVR на ARM.
источник
Многие части ST могут, по крайней мере, если не использовать приемопередатчик USB, работать от своего внутреннего высокоскоростного генератора.
По сути, это означает, что ваша «схема» состоит из заглушек байпаса и нескольких резисторов для таких вещей, как сброс и завершение на интерфейсе SWD.
Электронные платы ST за $ 8-10 будут программировать детали, которые вы кладете на свою собственную плату через шину SWD; для них тоже есть инструменты с открытым исходным кодом, так что вы можете поместить операцию программирования прямо в ваш Makefile.
Переход на что-то в 48 PQFP, вероятно, облегчит жизнь с вашей первой попытки игры на доске. Вы можете собрать их без увеличения (просто используйте тонкую оплетку для фиксации моста или двух, которые вы, вероятно, создадите на каждой стороне), но было бы полезно иметь лупу для проверки вашей работы.
источник