Я хочу начать использовать процессоры ARM, переходя с PIC, которые я использовал слишком долго. 8-битные модели были доступны менее чем за 1 доллар, программисты - менее чем за 10 долларов, и я был избалован простотой и низкой стоимостью начала работы. Но, видя, что их мощность ограничена некоторыми ARM-чипами по той же цене, и, будучи перегруженным программным обеспечением с закрытым исходным кодом, я хочу сделать это.
Я бы предпочел не брать какие-либо платы для разработки, а вместо этого сразу перейти к ним с дешевой универсальной печатной платой (1 доллар) и на макете, используя любые внешние компоненты, необходимые для его работы.
Каковы мои варианты программирования чипов ARM таким образом? Есть ли такие программисты, как PICKit2, которые используют USB для подключения к ПК, программируя с помощью простого последовательного соединения (например, ICSP) с чипом? Какая разница в настройках требуется для разных производителей ARM, версий ARM и отдельных чипов? (ST, Atmel ...) Например, нужны ли каждому производителю свои компиляторы, программисты, IDE и т. Д.? Или есть общие инструменты для всех?
РЕДАКТИРОВАТЬ: Хорошо, так что после дополнительных исследований, я думаю, что я нашел относительно дешевое решение, плату разработчика stm32 можно прошить прошивкой DAPLINK, но я не верю, что официальная прошивка github будет работать изначально (все это предположение, пока я получить мою почту разработчика stm32 по почте). Но я обнаружил, что на плате daplink_usb, входящей в комплект readbear mk20, установлена микросхема stm32, они выпустили прошивку, для которой необходимо изменить строку, чтобы сделать ее совместимой с кристаллом 8 МГц (подробнее в сообщении на форуме, связанном ниже). В противном случае замените кристалл на 16 МГц. Я обновлю, как только я подтвердил это, когда прибудет мой комплект разработчика.
Ответы:
Строки stm32F0 и stm32L0 имеют платы обнаружения стоимостью около $ 10, и Keil предоставит полнофункциональную IDE для этой линии при нулевой стоимости.
Инструкции по установке Keil free pro MDK ЗДЕСЬ
Кроме того, у ARM есть белый лист о переходе на Cortex M3 из PIC, который может оказаться полезным
источник
Самый простой способ - выложить> 10 000 долларов США за полнофункциональный компилятор Keil Pro, купить их отладчик JLINK (возможно, еще один доллар США - есть более дешевые с некоторыми ограничениями). IAR - еще одна дорогая возможность (приведены примеры для процессора STM32F7 Cortex M7, работающего на 30-дневной демонстрационной версии IAR)
Самый дешевый способ - скачать и установить (бесплатно) GCC-ARM + Eclipse toolchain с плагинами отладчика JLINK. Получите клон JLINK за 20 долларов или около того, что, я думаю, будет работать нормально - пока не проверено, для отладки.
В сети есть подробные инструкции для последних, однако они делают определенные предположения. Ожидайте потратить день или больше, чтобы начать работу, особенно под Windows. Не ожидайте, что сможете использовать многие примеры, предоставленные для других IDE, без какой-либо работы. Впечатляет, что бесплатный набор инструментов может использовать «пакеты» («экспериментальные» прямо сейчас).
Есть и другие системы, такие как Rowley Crossworks (я полагаю, что они используют gcc), которые менее болезненны с финансовой точки зрения. Atmel Studio - это еще одна, но у меня были горькие жалобы от моего очень опытного разработчика прошивок по этому поводу (я только ненадолго поиграл с ней).
Если ваш код требует менее 32 КБ, вы можете использовать ту же систему Keil бесплатно (версия с ограниченным кодом), но имейте в виду, что путь обновления прост, но довольно дорог. Например, он не скомпилирует простые примеры Ethernet для SAME70. Хорошо, если вы заменяете PIC или AVR низкоуровневыми ARM, но не очень хорошо, если вы собираетесь ARM, потому что вам действительно нужно общаться с ЖК-дисплеями и запускать сложные протоколы связи (возможно, предварительно скомпилированные модули могут быть включены, не влияя на 32K предел, я не исследовал этот конкретный угол).
источник
Вот что я использую:
источник
Самым простым началом, вероятно, является одна из сторонних клонированных плат. Случайный пример из ST . Для этого нужен программист, использующий протокол «SWD». ST делает фирменные ST-LINK, я не уверен, нужно ли вам использовать ST-LINK с устройствами ST или это действительно универсально.
Некоторая комбинация SWD и JTAG играет роль ICSP в системах ARM, предоставляя вам возможности программирования и отладки.
В программном плане обычно можно работать с GCC и OpenOCD на большинстве чипов. Детали немного отличаются для каждого устройства. Профессионалы часто используют набор инструментов Keil, который довольно дорог.
Некоторые устройства (например, серии Kinetis) имеют загрузчики USB: устройство отображается как запоминающее устройство, вы загружаете на него файл BIN и нажимаете кнопку. Самое простое решение, программист не требуется. У Atmel AT91 есть USB-загрузчик, который работает с проприетарным протоколом SAM-BA.
источник
На фронте IDE Silicon Labs предоставляет Simplicity Studio , основанную на Eclipse . Стандартно поставляется с GCC.
Существует встроенная поддержка для всех стартовых наборов, которые они продают, что делает начало работы относительно безболезненным.
Программирование использует драйвер Segger J-Link для стартовых комплектов (бесплатно). Просто подключите комплект к USB и идите.
У Atmel есть Studio, которая основана на Visual Studio IDE и может подключаться к любому отладчику Atmel. Это также поставляется с GCC.
Оба поставщика имеют многочисленные (очень многочисленные) примеры управления своими устройствами.
Я использовал оба, и хотя документация не идеальна (никогда не бывает), этого было достаточно, чтобы заставить меня двигаться безболезненно.
Многие из комплектов ST (и других) включены в mbed .
источник
Cypress выпускает коммутационные платы на основе PSOC-4200 (ARM Cortex M0) с форм-фактором DIP-40, которые включают в себя USB-адаптер для программирования в отрывной части. Цена на коммутационную плату и прилагаемый (отсоединяемый) программный адаптер составляет огромные 3,99 долл. США от Digi-Key.
источник
Я бы порекомендовал CooCox - это та же комбинация GCC + Eclipse, но нет необходимости настраивать набор инструментов вручную, просто установите его и начните кодировать.
источник
По моему убеждению, TI, NXP (состоят из NXP + Freescale) и ST являются главными ролями в мире Cortex M, особенно ST и NXP предлагают действительно конкурентоспособные инструменты для новичков, еще один важный параметр - популярность в сообществе открытого исходного кода, которая вызывает количество учебные пособия, библиотеки, драйверы устройств, инструменты и т. д.
тогда :
Номера 2 и 3 - лучший выбор для высшего уровня, чем хобби. Также помните, что при использовании бесплатной лицензии профессиональных инструментов, таких как IAR, Keil или даже LPCXPRESSO, вы испытываете меньше боли при переходе в профессиональную сферу.
источник
mbed
- см. [ Developer.mbed.org] [developer.mbed.org]