Нужно какое -то руководство для обучения STM32S

Намотан
Сб 01 октября 2016 г. 10:56 утра
Привет, ребята,
Я ударил голову по клавиатуре в течение нескольких дней, потому что я буквально застрял и не могу найти хорошего способа начать работу на STM32S. Я полный нуб в мире STM32, но я сделал много программирования C/C ++ и Arduino. У кого -нибудь есть какие -либо предложения о том, с какой совет по разработке начать, как программировать STM32 или где найти хороший учебник?
Любая помощь будет очень оценена! :)
Ричард

Сжимать
Сб, 01 октября 2016 г. 16:59
Очень хороший учебник для STM32 и его внутренних органов http: // www.CS.Индиана.edu/~ geobrown/book.PDF

Олли
Сб, 01 октября 2016 г., 17:08
Попробуйте Googling с "STM32F103 GitHub Wiki", и вы найдете хороший учебник, написанный Роджером и я, например, как

https: // github.com/olivilik/stm32f103/wiki

Ура, Олли

Рик Кимбалл
Сб, 01 октября 2016 г., 17:37
Сламмер написал:Очень хороший учебник для STM32 и его внутренних органов http: // www.CS.Индиана.edu/~ geobrown/book.PDF

Рик Кимбалл
Сб, 01 октября 2016 г., 17:40
Намотанное написано:Привет, ребята,
Я ударил голову по клавиатуре в течение нескольких дней, потому что я буквально застрял и не могу найти хорошего способа начать работу на STM32S

Намотан
Солнце 02 октября 2016 г. 1:41
Во -первых, спасибо за ответ, ребята!
@Rick: Да, я хотел бы использовать Arduino IDE для программы STM32S. Знаете ли вы какие -либо учебники, которые учит вас, как это сделать? (С.С. Я использую Mac OS X.)
@Slammer, Олли: Я проверю учебники/книги, предложенные вами, ребята, в ближайшем будущем. Хотя я хотел бы выучить STM32, используя Arduino IDE, я думаю, что изучение некоторого программирования более низкого уровня для контроля микроконтроллера все равно будет действительно полезно для меня в будущем. : D

Намотан
Солнце 02 октября 2016 г. 1:43
Просто еще один быстрый вопрос: какую доску развития STM32 я должен начать с? Подростка, нуклео или клен лучше?
Спасибо!
Ричард

Rogerclark
Солнце 02 октября 2016 г. 2:44
Teensy не использует устройство STM32

Если вы имеете в виду, какую плату Arm вы должны использовать, то вам также следует подумать о предложениях Arduino.CC и Arduino.org e.глин. Arduino Zero, и включайте Teensy и т. Д

Ваш самый высокий уровень поддержки будет через брендовую доску Arduino или Teensy.

На самом деле существует только поддержка сообщества для STM32.
(Хотя STM выпустила «ядро» для некоторых досок нуклео, они не будут официальной поддержкой этого выпуска)


Вы выбор зависит от ваших собственных требований.

Примечание. Вы также можете также захотеть добавить устройства PSOC PSOC в список, поскольку, хотя они не запрограммированы через Arduino IDE, я думаю, что они являются устройствами ARM, и поддерживаются Cypress через свою собственную IDE.

Намотан
Солнце 02 октября 2016 г., 5:19
Роджер написал:
(Хотя STM выпустила «ядро» для некоторых досок нуклео, они не будут официальной поддержкой этого выпуска)
Извините, Роджер, но я не понимаю, что вы имеете в виду под «ядро» для некоторых досок нуклеонов.
Я тоже не понял, что вы имеете в виду под «официальной поддержкой этого релиза». Что такое "этот релиз"?
Не могли бы вы, пожалуйста, объяснить мне?

Спасибо

Rogerclark
Солнце 02 октября 2016 г. 5:34
«Ядро» - это сторонний код совета директоров, который вы должны добавить в IDE, чтобы он работал с продуктами не Arduino

«Основной» / код доски, который мы использовали более года, не является официальным продуктом STM, фактически является обновлениями сообщества Abdon-Ware +

STM объявили, что они произвели «ядро», т.е. официальный код для поддержки некоторых досок Nucleo

Смотрите эту ветку

http: // www.STM32duino.com/viewtopic.PHP?f = 16&T = 1398

Тем не менее, термин «поддержка» используется экономно в этом случае, поскольку STM делает одну отключенную доставку кода сообществу с открытым исходным кодом, но STM не будет никакой постоянной поддержки, поскольку у них никого не будет -Дом обеспечивает «поддержку»

В отличие от Teensy, где, если что -то не работает, вы можете связаться с Полом, который разработал и производит Teensy, поскольку он обеспечит постоянную поддержку как для своего оборудования, так и для своих библиотек.

Намотан
Солнце 02 октября 2016 г., 6:04
@Roger: Хорошо, я понял, что вы имеете в виду под термином «ядро».
Теперь, допустим, я решил использовать Arduino IDE для использования плат Nucleo STM32.

Во -первых, какая доска Nucleo я должен начать с? (Я кратко посмотрел на все продукты Nucleo, и я думаю, что доски «нуклео-32» предназначены для начинающих...)

Во -вторых, какое «ядро» я должен добавить в свою Arduino IDE, чтобы запустить эту Zucleo STM32?

В -третьих, какие еще вещи я должен подготовиться (программное обеспечение, аппаратное обеспечение, программист и т. Д.) Для правильной программы платы STM32 с Arduino IDE?

Спасибо

Эдогальдо
Солнце 02 октября 2016 г., 9:07
Привет @unturned, если вы в самом начале с использованием Arduino с STM32, то мое предложение:
  • Купите Maple Mini Clone (также два) у Ebay или Aliexpress
  • Установите STM32Duino SW из репозитория Github Roger (Maple Core)
  • Начните играть с примерами Arduino
Для получения подробной информации обо всех выше вы можете найти форум, который полон информации.
Это из моего POV самый простой, самый быстрый, а также самый дешевый стартовый путь.
Тогда вы будете готовы к следующим уровням.

Лучший, e.

Rogerclark
Солнце 02 октября 2016 г., 9:48
Я полностью согласен с @edogaldo

На данный момент ваш лучший выбор аппаратного обеспечения - Maple Mini, а не ядрево

STM только что выпустили «ядро» для двух своих досок в ядрах, и оно не было тщательно протестировано, и вряд ли кто -либо на форуме на самом деле имеет доску ядер (или активно использует один)

Следовательно, у вас будет большая поддержка сообщества, если вы купите Maple Mini (или, возможно, «BluePill»), но чертеж часто требуется изменения аппаратного обеспечения, чтобы он работал правильно, и вам также понадобится USB для последовательного адаптера, чтобы прошить загрузчик на него , потому что ни один из ebay или aliexpress не продает их с установленным загрузчиком.

Смотрите вики.STM32duino.компонент

Намотан
Солнце 02 октября 2016 г. 13:46
Поскольку вы оба двоих предлагают кленовую доску, тогда я думаю, что я собираюсь использовать это тогда! : D
Я решил начать с кленовой доски (не мини -версии), потому что у меня есть несколько щитов Arduino, и я думаю, что было бы легче начать и провести тесты с помощью щитов.

У меня есть еще один вопрос, который когда -то разгонял:
Могут ли другие подобные чипы STM32, которые имеют правильный установщик Maple Bootloader быть запрограммированы Maple IDE через USB/серийный интерфейс? Я хочу знать это, потому что я думаю, что мне нужно будет построить автономные системы STM32, как и то, как я сделал с AVRS.
Кроме того, как я должен сжечь загрузчик на новом STM32? Поскольку я не вижу кнопки «Burn Bootloader» в Maple IDE...
Спасибо :)
Ричард

Rogerclark
Солнце 02 октября 2016 г. 9:10 вечера
Maple и Maple Mini идут предварительно прошитывают с помощью загрузчика, они подключаются прямо в USB .

Загрузчик появляется в виде устройства DFU при сбросе платы.

USB -сериал фактически собирается в эскиз по умолчанию, так что, когда загрузчик заканчивается и вместо этого запускается код эскиза, шина USB сбрасывается, а плата появляется как сериал USB.

Re: щиты

Все доски STM32 3.3V устройства. Только щиты совместимы с 3.3V сигналы будут работать.

Я думаю, что это может быть очень ограниченный выбор.

На самом деле, большинство периферийных устройств сейчас работают в 3.3v не 5 В, а щиты часто имеют от 5 В до 3.3V преобразователи на них (или сети разделителей резисторов и т. Д.).

Таким образом, некоторые щиты могут быть преобразованы, если вы готовы выйти из своего паяльного железа и т. Д.

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

Тогда вам просто нужны некоторые из этих штифтов с мужчинами -мужчинами для подключения модуля к Maple Mini.

Намотан
Чт, 6 октября 2016 г., 10:04
Привет, Роджер,
Извините, что не отвечал так долго, я был довольно занят, выполняя какую -то другую работу : mrgreen:
У меня все еще есть несколько вопросов, что я еще не знаю ответа на него:

1. Использует Arduino Framework лучше всего для работы с STM32S? Есть ли другие библиотеки/фреймворки, которые можно использовать для его программирования? (Какая оригинальная библиотека, разработанная ST для работы с STM32S? Хорошо ли использовать по сравнению с Arduino?)
2. Какие еще микроконтроллеры STM32 программируют с помощью Arduino Framework, за исключением серии STM32F103XXXX, которая используется на платах Maple?
3. Вам нужен специальный программист (например, ST-Link? Я даже не знаю, что это), чтобы программировать STM32? Или вы можете просто сделать это на сериале?

Спасибо
Ричард

Rogerclark
Чт 06 октября 2016 г., 8:25 вечера
Привет

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

Этот форум о использовании устройств STM32 с Arduino IDE.
Это лучший для вас, это решение, которое в конечном итоге только вы можете сделать

Сжимать
Чт 06 октября 2016 г., 23:24
Из моего короткого опыта работы с STM32 я дам вам быстрые ответы:
1. Использует Arduino Framework лучше всего для работы с STM32S? Есть ли другие библиотеки/фреймворки, которые можно использовать для его программирования? (Какая оригинальная библиотека, разработанная ST для работы с STM32S? Хорошо ли использовать по сравнению с Arduino?) Там нет идеальной структуры или метода. Arduino Framework с Arduino IDE - очень быстрый и простой способ запрограммировать MCU. Arduino Framework не требует знаний о конкретном MCU (IMO Общее знание оборудования всегда помогает) все скрыты в API. Но есть некоторые ограничения, поскольку структура Arduino была создана для небольшого 8 -битного MCU с ограниченными возможностями, а STM32 гораздо более мощный и сложный. Другой вариант - это фреймворк MBED, он следует той же логике с Arduino (не требуется знание оборудования), но он намного шире и немного сложнее для начинающих, он также намного больше и требует гораздо большей памяти, чем API Arduino, это Проблема для небольших устройств. Есть также Chibios, который является RTOS и HAL в одном пакете, это действительно намного сложнее управлять. Все остальные, такие как SPL, HALMX, OPENCM3 - это библиотеки, которые помогут вам с операциями и периферийными устройствами MCU и требуют более глубоких знаний об аппаратном обеспечении.
2. Какие еще микроконтроллеры STM32 программируют с помощью Arduino Framework, за исключением серии STM32F103XXXX, которая используется на платах Maple? Только MCU STM32F103 официально поддерживаются Libmaple, поддержка F4 хороша, но не так широко проверена. Есть некоторые другие ядра Arduino, такие как ядро ​​Dragonfly L4, экспериментальное ядро ​​HALMX и ST Core для F1 и L4, но это очень недавнее развитие.
Вам нужен специальный программист (например, ST-Link? Я даже не знаю, что это), чтобы программировать STM32? Или вы можете просто сделать это на сериале? Почти все широко известные платы F103 с USB поддерживаются загрузчиком STM32Duino (благодаря Роджеру), с этим вы можете загрузить программу на целевую доску USB без какого-либо другого оборудования, в качестве бонуса вы получаете USB-сериал для вашего приложения. ST-Link-это интерфейс Dowload/Debug, созданный ST (End Closed Closed китайцем) для всех членов семьи STM32. С ST-Link вы можете загрузить программу на MCU без какого-либо загрузчика, но не только это, с соответствующим программным обеспечением вы можете отладить свою программу (часы, определить точки останова, выполнение шага) на своей доске в режиме реального времени во время выполнения. Наконец, всегда, в каждом STM32 вы также можете использовать встроенный загрузчик через UART (или другие порты в различных MCU), но это не автоматически, требует некоторых манипуляций с PINS Boot0/1 MCU (не очень удобно, но это работает)

Намотан
Пт, 07 октября 2016 г. 2:27 утра
Во -первых, я благодарю вас, ребята, за помощь и рекомендации, которые вы мне предложили, что определенно помогло мне начать работу с STM32s. : D
Этот форум о использовании устройств STM32 с Arduino IDE.
Лучше всего ли это вам, это решение, которое в конечном итоге только вы можете сделать
Arduino Framework с Arduino IDE - очень быстрый и простой способ запрограммировать MCU. Думаю, я собираюсь начать с использования Arduino IDE, так как это выглядит довольно легко с
Другим вариантом является фреймворк MBED, он следует той же логике с Arduino (не требуется знание оборудования), но это намного шире и немного сложнее для начинающих, Я мог бы перейти в рамку MBED в будущем после того, как познакомился с STM32S.
Почти все широко известные платы F103 с USB поддерживаются загрузчиком STM32Duino (благодаря Роджеру), с этим вы можете загрузить программу на целевую доску USB без какого-либо другого оборудования, в качестве бонуса вы получаете USB-сериал для вашего приложения. Где я могу получить загрузчик STM32Duino, сделанный Roger? Есть ли какие -либо инструкции о том, как «сжечь» его на новые чипы STM32F103XXX?

П.С. Нужно ли мне официально «закрыть» или «закончить» форум после того, как я доволен тем, что у меня есть, или я просто оставляю его, не делая ничего?

Спасибо

Rogerclark
Пт, 07 октября 2016 г., 2:48
Загрузчик в

https: // github.com/rogerclarkmelbourne/ ... ER/STM32F1

Я подозреваю, что вы просто хотите пропустить предварительно скомпилированный бинар (если у вас есть доска, для которой мы уже собрали бинар) - см

https: // github.com/rogerclarkmelbourne/ ... 1/двоичные файлы


Вам нужен USB -серийный преобразователь или Stlink или аналогичный аппаратный программист, чтобы поместить загрузчик на пустую плату,

Или просто купите Maple Mini Poard, так как они предварительно сочетаются со старой версией загрузчика (что Plill работает нормально - хотя вы можете обновить с помощью «Обновленный эскиз»)

Re: закрытие потока

Незачем.

Ваша не конкретная проблема или ошибка, поэтому нет необходимости менять заголовок, чтобы добавить - Решено

КСТАТИ. Пожалуйста, прочитайте FAQ в разделе «Приветственный», я подозреваю, что он ответит на множество вопросов


Re: Mbed

Это действительно не сильно отличается от системы Arduino. Это просто другое. Это не низкоуровневое программирование, это просто другой API высокого уровня, и он использует онлайн -компилятор и т. Д.

Намотан
Вт 11 октября 2016 г. 10:11
Ну, наконец -то получил мои кленовые доски.
Mini - это упрощенная версия оригинального Maple Mini (в соответствии с его описаниями)
Я проверил, и все расписывание и микропроцессоры одинаковы.
Большая кленовая доска выглядит несколько аутентично.

П.С. Я думаю, что «дружелюбные» доски для разработки на макетинге на самом деле не очень дружелюбны для макета.
Хотя их булавки можно подключить к макетинге, но на самом деле довольно сложно подключить/
потянуть это. Чем больше контактов у пакета Dev, тем сложнее это.

Когда я пытаюсь отключить Maple Mini, я вижу, что печатная плата уже сгибается в середине.

Сжимать
Вт 11 октября 2016 г. 15:52
Намотанное написано:Хотя их булавки можно подключить к макетинге, но на самом деле довольно сложно подключить/
потянуть это. Чем больше контактов у пакета Dev, тем сложнее это.

Ахулл
Ср 12 октября 2016 г. 1:00
Сламмер написал:Намотанное написано:Хотя их булавки можно подключить к макетинге, но на самом деле довольно сложно подключить/
потянуть это. Чем больше контактов у пакета Dev, тем сложнее это.

Намотан
Ср 12 октября 2016 г. 10:56
.. И почему у вас не было бы нескольких макетов, так как они так дешевы в наши дни. Твое право, мне пора получить еще несколько хлево : D

evildave_666
Ср 12 октября 2016 г. 12:08
Независимо от того, сколько у вас есть, этого никогда не достаточно. Больше хлебных досок просто означает, что старые проекты болтаются дольше, прежде чем их разобрать.

Ахулл
Ср 12 октября 2016 г. 13:29
Весь этот разговор о макетинге напомнил мне об этом...

http: // chackaday.com/2012/02/09/the-ulti ... как-все/

Изображение

AG123
Чт 13 октября 2016 г., 21:22
Я на самом деле начал с доски «клон»:
OLIMEXINO-STM32
ViewTopic.PHP?F = 38&t = 1138
https: // www.Олимекс.com/products/duino/s ... E-Hardware
Изображение

и на самом деле начался с оригинальной Maple IDE, когда я нашел документации из Leaflabs довольно хорошо написаны и относительно просты
http: // docs.Leaflabs.com/docs.Leaflabs.com/index.HTML
Я работаю на платформе Linux (OpenSuse). Соответственно с Windows (e.глин. 7, 8, 10) могут возникнуть различные проблемы, заставляя водителя работать.
Однако, как указали здесь многие, вероятно, лучше использовать Arduino IDE, который теперь поддерживает доски «Maple» в дополнение к платам Arduino, которые более обновлены и имеют более (возможно, лучше) функции

Olimexino-STM32, который я получил
Хорошая вещь в этом заключается в том, что плата «клен» может быть запрограммирована просто через обычный USB -кабель (мини -USB -разъем) с IDE.
«Внутренне» Программирование выполняется через DFU (обновление прошивки устройства), которое фактически обрабатывается самим загрузчиком загрузчиком
(И это некоторые из моих первоначальных проблем, начинающих программировать доску через DFU, используя USB -кабель: https: // www.Олимекс.com/forum/index.PHP?Тема = 5416.0)

Обычный учебник «Hello World» - это попытаться моргать на самой доске

Однако, если вы начинаете с платы, у которой нет * загрузчика *, вероятно, потребуется программировать плату через программиста JTAG / SWD, например, как https: // www.Олимекс.com/products/arm/jta ... SB-Tiny-H/ (Соответственно, это не единственный путь)

Я лично не знаком с этими аспектами (я.эн. Установка/программирование загрузчика через программист JTAG/SWD), но Roger et.AL написал довольно много об arduino_stm32, загрузчика и т. Д
https: // github.com/rogerclarkmelbourne/ ... STM32/Wiki

Я предполагаю, что первоначальные камни преткновения частично связаны с «информационной перегрузкой» и что существует большое количество / части информации, разбросанные в разных местах. Некоторые из отправленных точек, которые я нашел полезными, когда я начал
веб -сайт Leaflabs Maple Iteslf
http: // docs.Leaflabs.com/docs.Leaflabs.com/index.HTML
Вики от Роджера и т. Д.ал.
https: // github.com/rogerclarkmelbourne/ ... STM32/Wiki
http: // wiki.STM32duino.com/index.PHP?тип ... 103_boards
Документы с самого сайта STM
http: // www.ул.com/en/microcontrollers/s ... tid = ln1565
а также даже Olimex производитель, из которого я купил доску
https: // www.Олимекс.com/products/duino/s ... E-Hardware
https: // www.Олимекс.com/products/duino/s ... -STM32.PDF
(^^ Я бы подумал, что Olimex сделал довольно приличную документацию, если вы просмотрите их руководство выше)

AG123
Чт 13 октября 2016 г. 22:14
После успеха с «Maple IDE» от Leaflabs я на самом деле продолжил попробовать GNU Arm Eclipse http: // gnuarmeclipse.GitHub.io/
Это сняло бы 1 с трека «Arduino» в направлении более «жесткой ядра» STM32

http: // www.Эмку.It/stm32/stm32vldiscove ... Брэри.HTML

DFU по -прежнему работает, и я мог бы просто «загрузить» скомпилированную программу из GNU ARM Eclipse в плату с использованием DFU -UTIL -D 1EAF: 0003 -D Файл
и тот же простой USB -кабель
http: // dfu-util.Sourceforge.сеть/

Ахулл
Пт 14 октября 2016 г. 8:12
Учитывая название этой темы, я удивлен, что вики, похоже, не упомянута.
http: // wiki.STM32duino.com/index.PHP?title = main_page