Абсолютний найдешевший (простий) спосіб запуску програмування на мікроконтролерах ARM [закритий]


18

Я хочу почати використовувати процесори ARM, мігруючи з PIC, які я використовую занадто довго. 8-бітові моделі були доступні за ціною менше $ 1, програмісти - за $ 10, і мене зіпсували легкість і низька вартість початку роботи. Але, бачачи, що їх потужність дефікована деякими мікросхемами ARM за тією ж ціною, і, будучи набридненим програмним забезпеченням із закритим кодом, я хочу зробити перемикання.

Я вважаю за краще уникати отримання будь-яких плат для розробки, а замість цього потрапляйте прямо в неї за допомогою дешевого загального плавного розбиття (1 долар), а також на дошці, використовуючи будь-які зовнішні компоненти, необхідні для її роботи.

Які мої варіанти програмування чіпів ARM таким чином? Чи є такі програмісти, як PICKit2, які використовують USB для підключення до ПК, програмуючи через просте послідовне з'єднання (наприклад, ICSP) з мікросхемою? Скільки різниці в налаштуваннях потрібно для різних виробників ARM, версій ARM та окремих чіпів? (ST, Atmel ...) Наприклад, чи потрібен кожному виробнику власні компілятори, програмісти, IDE тощо? Або є загальні інструменти для всіх?

EDIT: Добре, тому після додаткових досліджень я вважаю, що я придумав відносно дешеве рішення, дошка stv32 dev може бути прошита за допомогою мікропрограмного забезпечення DAPLINK, але я не вірю, що офіційна прошивка github працюватиме на самому місці (все це є спекуляцією, поки я не отримати мою дошку stm32 dev по пошті). Але я виявив, що на платі daplink_usb, що входить до readbear mk20, працює мікросхема stm32, вони випустили мікропрограмне забезпечення, для чого потрібно змінити лінійку, щоб вона була сумісною з кристалом 8 МГц (Детально у посиланні на форумі, пов’язаному нижче). В іншому випадку змініть кристал на 16 МГц. Оновлення, коли я підтвердив це, коли прийде мій комплект для розробників.

GITHUB REPO

Хороший ресурс форуму тут .

Вилка Redbear Github


4
Добре усвідомлювати, що 5 доларів отримує вам Raspberry Pi Zero, який підтримується абсолютно нормальним (і безкоштовним!) GCC. І якщо ви щойно пережили шок, наскільки швидшими є мікроконтролери ARM, RPi знову приголомшить вас. Основна проблема IMO полягає в тому, що жоден виробник ARM не розуміє повідомлення під RPI. Ви більше не збираєтеся заробляти на мікроконтролерах ARM, але набагато більше можна зробити, поставляючи готові до використання модулі процесора.
MSalters

4
Іноді зайвим є використання готового до використання модуля процесора у вбудованій програмі.
Бенс Каулікс

3
@MSalters, RPI є об'ємним ... Мені просто не потрібні додаткові засоби, з якими він поставляється. Мені потрібні речі з голими кістками у дуже компактному просторі для швидкої обробки в режимі реального часу. Крім того, ІРП споживає на багато більше енергії, ніж було б прийнятно.
CL22

3
Звичайно, але більшість дощок для розробників будуть саме так. Але одна з найважливіших речей щодо розробки MCU - це те, що розробка обладнання та програмного забезпечення може бути ізольована до певного моменту.
Ігнасіо Васкес-Абрамс

2
Подумайте про придбання недорогих плат для розробників, який постачається з інтегрованим USB-SWD мостом. Це дасть вам доступ до функцій налагодження, а також до завантаження коду. Ви можете розділити доступ SWD до будь-якої іншої цілі, коли вам це підходить.
Шон Хуліхане

Відповіді:


14

У рядках stm32F0 та stm32L0 є плати виявлення, які працюють близько 10 доларів, і Keil забезпечить повноцінну функцію IDE для цієї лінії при нульовій вартості.

Інструкції по встановленню безкоштовної програми Keil MDK - ТУТ

Крім того, ARM має білий аркуш про перехід на Cortex M3 з PIC, який може виявитися корисним


7
+1 Але також варто зазначити, що більшість (усіх) плат відкриття мають вбудований STLINK, який також можна використовувати для програмування автономних пристроїв, налаштовуючи перемички.
Роджер Роуленд

@RogerRowland - чудовий момент. Раніше я використовував бортових програмістів для власних дощок. Відкриття - це взагалі чудова лінія. Мені б хотілося, щоб у них кріпилися отвори!
Скотт Сейдман

Порекомендували б Nucleo або Discovery? Вони здаються однаковою ціною, і обидва мають ST-LINK.
Девід

@david, не використали ядро, але можу сказати, що відкриття мені добре послужили. У цій ціні знайдіть по одному з них (хоча я б поїхав з двома відкриттями!)
Скотт Сейдман


7

Найпростіший спосіб - виділити> 10 тис. Доларів США для повнофункціонального компілятора Keil Pro, придбайте їх налагоджувач JLINK (можливо, ще $ 1К - є дешевші з деякими обмеженнями). IAR - це ще одна дорога можливість (приклади наводяться на процесор STM32F7 Cortex M7, який працює на 30-денному демо-версії IAR)

Найдешевший спосіб - завантажте та встановіть (безкоштовний) ланцюжок інструментів GCC-ARM + Eclipse із відладчиками JLINK для налагодження. Отримайте клон JLINK за ​​20 доларів або близько того, що, думаю, буде добре - ще не перевірено, для налагодження.

У мережі є докладні інструкції для останніх, проте вони роблять певні припущення. Розраховуйте витратити день або більше, продовжуючи його, особливо під Windows. Не сподівайтесь, що ви не зможете використовувати багато прикладів, наданих для інших ІДЕ, без певної роботи. Вражаюче, що вільний ланцюжок інструментів може використовувати "пакети" ("експериментальні" зараз).

Є й інші системи, такі як Rowley Crossworks (яка, на мою думку, використовує gcc), які фінансово менш болючі. Atmel Studio - це ще одна, але у мене були гіркі скарги мого дуже досвідченого розробника прошивки щодо цього (я лише коротко зіграв з цим сам).

Якщо потреби в коді менше 32 К, ви можете використовувати ту саму систему Keil безкоштовно (версія з обмеженим кодом), але врахуйте, що шлях до оновлення простий, але досить дорогий. Наприклад, він не збирає прості приклади Ethernet для SAME70. Добре, якщо ви замінюєте PIC або AVR низькими класами ARM, але це не так здорово, якщо ви збираєтесь ARM, тому що вам дійсно потрібно поговорити з РК-дисплеями та запустити складні протоколи зв'язку (можливо, попередньо складені модулі можуть бути включені, не впливаючи на Межа 32K, я не досліджував конкретний кут).


7

Ось що я використовую:

  • STM32F103 "мінімальна системна плата" (див., Наприклад, тут , ядро Cortex-M3 ), працює на 3,3 В або USB без будь-яких зовнішніх компонентів, клони коштують приблизно по 3 долари США кожен. Це чудово відповідає вашому запиту "потрапити прямо до нього за допомогою дешевої загальної плати розбиття та на дошці".
  • Клон USB-програміста ST-Link V2 (схожий на цей ), починається приблизно з 2 доларів США і підтримує також налагодження на мікросхемі.
  • EmBitz (раніше Em :: блоки) як IDE з інструментальним gcc, 0 дол
  • CubeMX STM допоможе розпочати роботу з новими проектами, 0 доларів США

5

Мабуть, найпростіший старт - це одна із сторонніх клонів. Випадковий приклад від ST . Для цього потрібен програміст, що використовує протокол 'SWD'. ST виробляють бренди "ST-LINK", я не впевнений, чи вам доведеться використовувати ST-LINK на пристроях ST чи це справді загальне.

Деякі комбінації SWD та JTAG відіграють роль ICSP в системах ARM, надаючи можливості програмування та налагодження.

Програмне забезпечення, як правило, можна працювати з GCC і OpenOCD на більшості чіпів. Деталі дещо відрізняються для кожного пристрою. Професіонали часто використовують ланцюжок інструментів Keil, що досить дорого.

Деякі пристрої (наприклад, серія Kinetis) мають завантажувачі USB: пристрій видається як пристрій масового зберігання, ви завантажуєте на нього файл BIN і натискаєте кнопку. Найпростіше рішення, не потрібен програміст. В Atmel AT91 є завантажувач USB, який працює з фірмовим протоколом SAM-BA.


дошки відкриття і нуклеонів мають стринг на них і коштують на 30% менше, ніж окремі ключі стринг. плюс ви отримаєте принаймні одну MCU, щоб грати. Отримати stlink все ще добре, і ви можете використовувати його з openocd для підключення через swd до інших st або non-th cortex-m чіпів.
old_timer

1
Цікавий чіп Kenetisis, який я намагався використати (поки що), тому що він не має завантажувача тільки swd і не зможе з'єднатися за допомогою stlink, потрібен нібито cmsis-dap. також samd21 більше не містить завантажувач, ви можете додати його, але він, по суті, у флеш-пам’яті програми та досить тривіальний для випадкового стирання. У stm32s все ще є завантажувач, як і nxp, можливо, це теж відходить ...
old_timer

3

На передній частині IDE Silicon Labs надає Simplicity Studio , що базується на Eclipse . Він стандартно поставляється з GCC.

Існує вбудована підтримка всіх стартових комплектів, які вони продають, що робить роботу відносно безболісною.

Програмування використовує драйвер Segger J-Link для комплектів стартера (безкоштовно). Просто підключіть комплект до USB та йдіть.

Atmel має свою студію, яка базується на ID Visual Studio IDE і може підключитися до будь-якого з налагоджувачів Atmel. Це також поставляється з GCC.

Обидва постачальники мають численні (дуже численні) приклади керування своїми пристроями.

Я використовував і те, і інше, хоча документація не є досконалою (ніколи не буває), це, безумовно, було достатньо для того, щоб я пройшов відносно безболісно.

Для багатьох комплектів ST (та інших) ввімкнено mbed .


2

Cypress виготовляє плати для розбиття на базі PSOC-4200 (ARM Cortex M0) з форм-фактором DIP-40, які включають адаптер програмування на базі USB в частині відключення. Ціна на плату розбиття та приєднаний (від'ємний) адаптер програмування - ціна 3,99 долара від Digi-Key.


1

Я б рекомендував CooCox - це та ж комбінація GCC + Eclipse, але не потрібно налаштовувати ланцюжок інструментів вручну, просто встановіть її і починайте кодування.


Виглядає добре, я думаю, що Atmel не підтримується. Чи підтримується ядро ​​ST M7?
Spehro Pefhany

Здається, Atmel не підтримується, у компонентах є деякі бібліотеки для серії STM32F7. Слід сказати, що майбутнє CoIDE незрозуміле - веб-сайт безладний, оновлення зараз рідкісні, але все ще чудовий вибір для початку програмування ARM (спеціально з STM32).
Фланкер

1

На мою думку, TI, NXP (складається з NXP + Freescale) та ST є головним гравцем у світі cortex M, особливо ST та NXP пропонує дійсно конкурентоспроможні інструменти для новачків. Ще одним важливим параметром є популярність у спільноті з відкритим кодом, яка спричиняє кількість навчальні посібники, бібліотеки, драйвери пристроїв, інструменти та ін.

потім :

  1. онлайн-компілятор mbed + дошка mbed
  2. Дошка виявлення STM32 (на зразок STM32F407discovery) + вбудована в налагоджувач st-link + SPL або HAL (STM CUBE) рамка + безкоштовна IDE ліцензії.
  3. Дошка виявлення LPC + налагоджувач LPC-link 2 + рамка LPCOPEN + LPCXPRESSO безкоштовна ліцензія IDE.

Номер 2 і 3 - кращий вибір для верхнього рівня, ніж хобі. Також пам’ятайте, що використовуючи безкоштовну ліцензію професійних інструментів, таких як IAR, Keil або навіть LPCXPRESSO, у вас менше болю під час переходу до професійної сфери.


1
Бібліотеки mcu та інструменти ARM mbed- див. [ Developer.mbed.org] [developer.mbed.org]
Шон Хуліхан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.