Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Подскажите полноценный курс для разработки для STM32 Nucleo F7

Здравствуйте

Сорри за много букв.

Случайно наткнулся на продажу бу Nucleo-F746ZG по цене примерно качественной Arduino Mega, от кого, кто после Java решил осваивать embedded сразу с STM32 без библиотек (наверное, это было жестко). Я решил купить на будущее по такой сладкой цене + еще и сразу в комплекте программатор с оригинальным чипом для будущих pills.

Пока что установил драйвер, обновил прошивку, а дальше в отличие от Arduino ничего не понятно. Скачал среду en.stm32cubef7_v1-16-0.zip Внутри даже нет экзешника, чтобы установить ее или запустить. Руки тянутся уже запустить Arduino IDE и ввести в поиск библиотек STM32.

Зашел на канал STM в надежде найти вводный курс для новичков, но, судя по видео, STM сами на знают, как начинать с их платами :) www.youtube.com/watch?v=a82zw2riXUw

Подскажите, пожалуйста, курс по STM32 Nucleo для новичков от А до Я для вхождения (англ или рус).

Желательно без жесткого only low-level программирования на С, а со вспомогательными библиотеками для новичков. Хочется все же помигать светодиодом в ближайшее время, а не после месячного штудировании теории и глубин. Погрузится в глубины глубин можно и потом.

В embedded я, конечно, не пойду (знакомые говорят, что там и работы толком нет, а без образования в схемотехнике вообще делать нечего), но хочется делать всякие девайсы для себя и родственников. В mbed зарегистрировался. Там аж 3 примера для этой платы и 2 Generic.

Ардуино, конечно — прикольная штука и простая в освоении (куча библиотек и огромное сообщество, которое подскажет), но без возможности отладки все печально + железо проигрывает stm при той же цене многократно. Недавно долго не мог понять, почему ардуино не работала корректно, а многочисленные Serial.print не отрабатывались. Через время достал другой модуль DS3231, заменил на макетке и все заработало как часы. Как я понял, возможность отладки на STM32 избавит меня от постоянных сношений с Serial.print и гаданием.

БЭКГРАУНД.

Где-то месяц назад начал осваивать Arduino.

Прошел:

  1. Arduino для изобретателей Обучение электронике на 10 занимательных проектах — все понятно.
  2. Монк — Программируем ардуино профессиональная работа со скетчами — все понятно (кроме жесткого раздела про фильтрации).

Сейчас читаю:

  1. Петин В.А — Проекты с использованием контроллера Arduino — все понятно, но книга треш: нет принципиальных схем, куча ошибок и неправильного объяснения, код часто с ошибками и собран из кусков из интернета (даже переменные не переименовали в разных частях кода к одному миени) и даже не компилируется.
  2. Шварц Марко — Интернет вещей с ESP8266. 2-е изд. (2019) — все понятно. Как же классно иметь встроенный Wi-Fi.

Чисто программирование:

  1. Столяров — Программирование: введение в профессию. Том 1: азы программирования.
  2. Столяров — Программирование: введение в профессию. Том 2: низкоуровневое программирование.
  3. В процессе: Столяров — Программирование: введение в профессию. Том 3: системы и сети.

У Столярова сложные книги. Очень многое понятно, но не все запоминается или вообще забывается. Хотя, когда был раздел про Assembler, то я уже, честно говоря, пробегал поверхностно, потому что это уже совсем жестко.

Ну, и когда-то я читал книги и курсы по JS, Java, php для общего развития. Даже когда-то давно просмотрел почти всю документацию по php (и понял, что он не нравится мне совсем).

П.С. Есть еще распберри пи 4, но я их не трогаю пока что, потому что их легче спалить, а я еще бывает, что по ошибке делаю короткие замыкания на ардуино по невнимательности.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

В Китае чип для blue pill в продаже взлетел в цене почти в 10 раз из-за дефицита полупроводников. Даже чип для Arduino Nano подорожал в 2 раза.

В общем, стоит закупаться, если нужны.

Вообще все читаю тему и комментарии автора сложилась картина:
У менея уже есть бэкграунд, я смог питание подать на ардуину,но она маленькая и ничего не может. Может кто-то мне все разжевать и покласть сразу, а то как-то думать сильно тяжело и скучно. И да, платить я тоже не хочу.

Зашли в тему, чтобы почесать свое чсв своей глупой писаниной?

Я лишь попросил совета с книжками и курсами, если кто-то сталкивался.

Спасибо, но как-то снг книги и курсы не впечатляют.

По ссылке след курс будет когда-то после карантина, а за 16 000 грн можно много чего почитать и посмотреть. ;)

З карантином — то лажа, згоден ... але з ним багато де лажа.

Для старту, такий офлайновий курс, в Києві після роботи — саме воно.

По онлайнових курсах, так не підкажу.

З іншої сторони, якщо якась база у вас є, то sdk, examples, reference manual і вперед розбирати периферію за периферією.

Скачал среду en.stm32cubef7_v1-16-0.zip Внутри даже нет экзешника, чтобы установить ее или запустить

www.st.com/...​t-tools/stm32cubeide.html
Тут, наче як, остання ... там під win звичайний інсталятор.

Але в embeded з ide кругом біда ... тому cube ide ще дуже навіть гарний інструмент.

Недавно тоже решил изучать stm’ки, начал с STM32F723E-DISCO, в какой-то момент понял что из-за распаянной переферии нет портов под комлементарные таймеры=) Сейчас пересел на NUCLEO-G474RE. Светодиодиком помигать можно и в первый день, там в целом все довольно примитивно по регистрам.

Желательно без жесткого only low-level программирования на С

Как я понял тут Cи хайл левелом считается=)
Лоу лвл это ассемблер, Си можно разделить по уровням от низкого до высокого на:
1)CMSIS (в регистры пихаем нужные значения)
2)HAL — обертка над теми же регистрами, по сути все равно надо знать как что работает и вкуривать референс мануалы.
3)LL — устаревшая либа, вместо нее сейчас тот самый HAL.

Для облегчения жизни у STM есть CubeMX который генерит код того что ты там наконфигурил мышкой.
Из того что даст какое-то базовое понимание — можно почитать это:
themagicsmoke.ru
Но как с ардуинкой не выйдет, это другой класс железок.
Кстати, от серии к серии те же самые регистры могут отличаться, даже в примерах по ссылке выше чтобы помигать светодиодом — пришлось вникать в референс мануалах в различия регистров в F3 и F7 серии.

в какой-то момент понял что из-за распаянной переферии нет портов под комлементарные таймеры

Я не знаю, что это за таймеры, но тоже до покупки смотрел, читал и понял, что надо брать как можно более голую плату. В идеале с 1 пользовательским ЛЕД вообще. А периферию можно и самому потом подключить.

Но как с ардуинкой не выйдет, это другой класс железок.

Хотелось для начала всякие вспомогательные библиотеки и классы. Ну, чтобы не генерировать ШИМ для сервопривода с задержаками в ХХ мс, а с помощью класса Servo.h передать параметром метода нужный угол поворота. )

Кстати, от серии к серии те же самые регистры могут отличаться, даже в примерах по ссылке выше чтобы помигать светодиодом — пришлось вникать в референс мануалах в различия регистров в F3 и F7 серии.

Спасибо. Не знал про такое, но предчувствовал, поэтому позавчера на всякий случай заказал с Али младшую black pill на F4 (программатор использую от Nucleo). В книге Carmine Noviello — Mastering STM32 нет плат на F7. Хотя там обсуждают все поколения

как можно более голую плату. В идеале с 1 пользовательским ЛЕД вообще. А периферию можно и самому потом подключить.

Ну смотря какую, не уверен что банка памяти успешно заведется на соплях из перемычек=)
Но в целом да, дискавери с дисплеями нет особого смысла брать, там куча портов сжирается и дисплеем и тач модулем.
Из плюсов nucleo и discovery что они уже идут STLink, опять же меньше соплей)
Ну и питание внешнее можно прикрутить.

Хотелось для начала всякие вспомогательные библиотеки и классы. Ну, чтобы не генерировать ШИМ для сервопривода с задержаками в ХХ мс, а с помощью класса Servo.h передать параметром метода нужный угол поворота. )

Ну если погуглить то можно найти такие но совместимость между сериями и надежность в целом под вопросом.

Ну если погуглить то можно найти такие

А есть какой-то сайт для STM с готовыми библиотеками на подобии www.arduino.cc/en/reference/libraries ?

но совместимость между сериями и надежность в целом под вопросом

На крайний случай пытаться прилепить их к плате синей изолентой )

Вся суть орды ардуинщиков. Они даже не знают что есть в из МК. Даже в тех атмегах на которых сделана ардуина есть аппаратный ШИМ, и не надо никакого ногодрыга на задержках. И вообще, когда это шим характеризовался задержками?

Частота ШИМ Ардуино 488,28 Гц.

Для управления хобби-сервоприводами подают импульсы с частотой 50 Гц.

По библиотекам вы ошиблись. HAL и LL это новые либы которые живут параллельно. HAL более переносимый, LL ближе к железу, и потому может быть быстрее в работе но менее переносимый. HAL заменил SPL.

БЭКГРАУНД

херовый бэкграунд, нужно разобраться как работать с базовыми вещами, а именно
как при помощи gcc + make собрать бинарь
и как с gdb + openocd дебагать собраный бинарь
из вышеперечисленного только openocd узкоспециализированная вещь, make gcc gdb это базовые вещи для программиста на С, за исключением Windows Only ребят но такие в последнее время редкость

как при помощи gcc + make собрать бинарь

Нажать в IDE кнопочку «Compile», а потом закинуть на плату как на флешку через Проводник. ^.^

А вообще в книге Столярова рассказывалось про объектные и прочие файлы. Компиляцию и т д. Но он вообще жесткий. Он и книги по 500 страниц набирает в консольном текстовом редакторе. Хотя потом из его же консольного PDF ничего нельзя скопировать, потому что во всех просмотрщиках копирует иероглифы.

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

Mbed OS не розглядаєш? Там і т’юторіалів купа, і підтримка для твоєї плати є — os.mbed.com/...​atforms/ST-Nucleo-F746ZG

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

В Mbed для этой платы кроме блинка 2 примера и еще 2 generic.

Кстати blink пример для моей платы из Mbed компилируется в ней с кучей замечаний и прочих сообщений, поэтому я решил держаться от нее подальше пока что.

Ну собственно по Ардуинкам очень неплох вот этот канал ( www.youtube.com/...​/UC4axiS76D784-ofoTdo5zOA ). Правда именно про STM там по-моему ничего нет.

Нашел такую книгу: «Carmine Noviello — Mastering STM32 — 2018» Жаль, что там нет плат 144 серии

Еще «Gay W. — Beginning STM32 — 2018», но в ней все делается на blue pill (их что-то мало в наличии на али и часто дороже black pill f401) и он пишет, что в книге не будет использоваться иде и прочее — не мой путь )

Еще автор этого канала начал курс для новичков, но пока что вышло только 4 видео: www.youtube.com/watch?v=Hffw-m9fuxc

Если кто-то захочет сразу очень глубоко в микроконтроллеры, то вот курс: www.youtube.com/...​BcCuRgAMGImQzxRlYdSKa5Ifk

Потому что для новичков это скучно и не очень продуктивно, а в книгах и курсах часто подают в более понятной форме.

Ну ты как маленький. Курсы расскажут то, что проще рассказать, а не то, что реально будет нужно и без чего ты попросту ничего не соберёшь. Если бы курсы рассказывали, как сделать человека, они бы начали со строения клеток. Собственно, они так и начали. Но как реально делать — смотрим пронхаб, и Ctrl-С — Ctrl-V, Ctrl-V, Ctrl-V, Ctrl-V...

Так и с проектами — ищи новичка, который пытался собрать что-нибудь эдакое своё (а для чего ж ешё нужны микроконтроллеры), и описывал свой путь. Вплоть до скачивания готового проекта и повторения без подключения управляемого железа, чисто на реле или светодиодах.

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

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

Хочeтся курс по конкретным платам (поколение f4-f7 и 144 разводка), чтобы знать, что и где на плате.

С ардуино все проще в этом плане, потому что платы около стандартные. А STM наштамповал 60+ разновидностей Nucleo.

Выше нашел интересную книгу по nucleo 64

Интересно будет здесь услышать мнение тех кто работает на stm32.Достаточно ли у Вас загрузки на Ваших проектах?Какой тип организаций используют Ваши разработки?И вообще это перспективное направление или в будущем будут другие системы а stm32 отправится на свалку.Что скажите?

Вроде, stm начинает активные движения в плане создания обучающего контента, а также введения поддержки своих продуктов везде, где возможно. Во всяких видеосравнениях их называют лидером индустирии.

Еще у них даже последние поколения поддерживаются в популярных рт ос для мк
www.freertos.org/index.html

Есть еще распберри пи 4, но я их не трогаю пока что

Можно еще на Raspberry Pi 4 установить Arduino IDE:
electropeak.com/...​uino-ide-on-raspberry-pi

Распберри 4 что-то печальна по производительности даже с 8гб. А если параллельно захочу запустить какой-то ролик н ютьюбе, то ролик сожрет большую часть производительности процессора.

На Raspberry Pi 400 Arduino IDE работает довольно шустро, ролик можно параллельно открыть, например на iPad-е.

Там уже процессор другой ревизии и частота выше (можно разогнать любую 4).

Но мне после комфортного рабочего пк с ксеоном на 24 потока не комфортно на малине. + я ее использую headless со стримом. И не уверен, что с иде от STM не будет проблем под raspberry OS, если он вообще поддерживает arm linux

Підписатись на коментарі