STM32 с нуля. Введение.

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

Итак, для начала разберемся, что же нужно знать и уметь, чтобы начать изучать ARM’ы. А, в принципе, ничего супер сложного и фееричного 😉 Конечно, на контроллеры ARM люди обычно переходят, уже наигравшись с PIC’ами и AVR’ками, то есть в большинстве своем опытные разработчики. Но я постараюсь максимально подробно и понятно описывать все то, что мы будем разбирать, чтобы те, кто впервые решил попробовать себя в программировании микроконтроллеров, могли легко разобраться в материале. Кстати, если будут возникать какие-нибудь вопросы, или просто что-то будет работать не так, как задумывалось, пишите в комментарии, постараюсь разобраться и помочь.

Теперь перейдем к техническим вопросам ) Несколько раз я уже упомянул название «Учебный курс ARM», но, по большому счету, это не совсем верно. Микроконтроллера ARM как такового не существует. Есть контроллер с ядром(!) ARM, а это, согласитесь, все-таки не одно и то же. Так вот, такие девайсы выпускает ряд фирм, среди которых особо выделяются, STMicroelectronics и NXP Semiconductors. Соответственно выпускают они контроллеры STM и LPC. Я остановил свой выбор на STM32, они мне просто больше понравились =) У STM очень подкупает, что разобравшись с любым МК из линейки STM32F10x, не возникнет никаких проблем и с любым другим. Одна линейка – один даташит. Кстати есть огромное количество как дорогих, так и не очень, отладочных плат с контроллерами STM32, что очень радует, хотя первое время будем отлаживать наши программы в симуляторе, чтобы оценить возможности контроллера, прежде чем покупать железо. Вот, на всякий случай, официальный сайт STMicroelectronics – st.com.

Как то плавно выехали на тему компилятора, так что скажу пару слов об этом. Я, недолго думая, выбрал Keil, не в последнюю очередь из-за мощного встроенного симулятора. Можно и на UART там посмотреть, и на любой регистр, и даже логический анализатор имеется в наличии. Словом, у меня Keil оставил в основном только приятные впечатления, хотя есть и минусы, конечно, но не катастрофические. Так что можете смело качать Keil uvision4 с офф. сайта (keil.com). Правда есть одно НО – IDE платная, но доступен демо-режим с ограничением кода в 32кБ, которых нам пока с лихвой хватит. Кому этого мало есть огромное количество кряков для Keil’а 😉 Устанавливается все без проблем – пару раз тыкаем далее и все отлично ставится и работает без дополнительных танцев с бубном.

Собственно, вот и все, что я хотел тут рассказать, пора переходить от слов к делу, но это уже в следующей статье. Будем изучать программирование микроконтроллеров STM32 с нуля!

Понравилась статья? Поделись с друзьями!

STM32 с нуля. Введение.: 35 комментариев
  1. Я вот как раз один из тех, кто наигрался с PIC и AVR. Дома и под то и под другое есть программаторы, самодельные отладочные платы и прочее. Но STM-и с недавних пор покоя мне не дают. Если честно, то очень жаль, что эти контроллеры не так то и популярны. А цена их и подавно меня удивдяет, по доступной цене камень работающий свыше 100МГц это фантастика =)

    • STMки потихоньку набирают обороты ) Через пару лет я думаю займут нишу основных контроллеров у радиолюбителей )

      • Да, очень на то надеюсь. К тому же цена на программаторы под STM тоже не большие. Сейчас все стремятся к более высоким вычислительным мощностям, так что STM в любительский девайсах это дело времени. Правда кто его знает, может Atmel и Microchip тоже что то в скором времени презентуют.

      • ну как там сообщество спустя 5 лет?) мигают светодиодами?
        Я видел на сайте STM, что планируется двухядерный микроконтроллер со встроенным блютуз и вай фай, типа аналог ESP32 и что готовится микроконтроллер для нейронных сетей. Последнее особенно интересно, так как нейронкам видеокарт порой мало, что бы хоть как то успевать считать, на что же будут способны эти МК? Правда они не будут поддерживать обучение нейронки, на них можно будет запустить только уже обученную. И вот я даже не представляю какая нейронка и с какими возможностями там сможет работать, но жутко интересно

        • Мигают )
          Ну тут остается только ждать, посмотрим, что у них выйдет. Очень интересно, я согласен =).

  2. Здравствуйте опишите пожалуйста конкретно как крякнуть Keil. И после его активации откроется ли в генераторе проектов контроллер STM32F303?

    • Он должен быть там изначально, отсутствие лицензии ограничивает только размер кода. При создании проекта в пункте ST должны быть STM32F3 контроллеры.

  3. Друзья пожалуйста подкиньте функцию delay с реализацией на таймере. Спасибо!

  4. Здравствуйте!
    Никак не могу скачать uVision.
    С торрент-трекеров программа работает глючно. Даже свою платку STM32F4 не смог выбрать при создании проекта. Были для выбора какие-то непонятные вещи типа: uPFD с кучей циферок.
    С оф. сайта просит указать кучу своих данных, которые оставлять я не хочу. Есть у меня такая привычка нигде не оставлять своих номеров, адресов, индексов и т.п.
    Более того, просят ввести имя компании, какого нету в принципе. Кнопочки “для некоммерческого пользования” нигде нету 🙁
    Что делать?

    • Возможно не тот Кейл – у них есть для разных микроконтроллеров IDE, надо именно для ARM скачаивать.

  5. Антон, да проблем то нет. Просто создаешь почту где нить и вбиваешь ее адрес. Остальные данные от балды любые буквы. Все работает отлично.

  6. привет всем, а поделитесь ссылкой , пожалуйста , на 4 версию keil. не могу нагуглить

    • Можно зайти в рубрику – тогда будут отображаться только статьи рубрики, но в обратной последовательности, то есть от новых к старым. Можно пролистать страницы до первой и тогда статьи будут в порядке публикации.

  7. советую поработать с CoIDE там все есть и даже больше.
    она на основе GUI. есть куча репозитариев. всем удачи!

  8. Я тоже много лет игрался AVR-ками, вот теперь хочу освоить STM32. Случилась это после того, как я решил разработать балансный металлоискатель и к сожалению столкнулся с ограничением по вычислительной мощности и скорости AVR-ок. Надеюсь данный сайт поможет мне овладеть информацией по АРМ-мам в нужной степени. Будем изучать.

  9. Увы, но это совсем не для новичков написано… я никогда не программировал для мк хоть и знаю языки прогр. дочитал до четвертой статьи и ничерта не понять. Вообще. В коде очень много разных переменных, а объяснение такое: “Ну тут все просто…”. Если это курс для новичков, почему бы вам не разжевывать все по порядку… скриншоты таблиц из даташита не сделают код понятнее. Облазил кучу сайтов, перечитал кучу статей, а нормального объяснения нигде нет…

    • Добрый день, а приведите, пожалуйста 1-2 наглядных примера, где не совсем понятно в первых статьях. Заранее благодарю.

  10. Здравствуйте) подскажите пожалуйста в каком порядке изучать статьи? С введением все понятно)), но какая идет дальше?

    • Добрый день!
      Посмотрите рубрику “STM32Cube” – там используются новые библиотеки и утилиты от ST, на сегодняшний день это самое актуальное.

  11. Присоединяюсь к последнему комментарию, на который не было дано адекватного ответа: в каком порядке изучать статьи? Я прочитал “введение”, какая статья следующая в курсе? Где содержание курса с порядком следования статей?

    • Добрый день!
      К сожалению, не знаю, что адекватного добавить к предыдущим комментариям…
      Попробую резюмировать. Если речь идет о старом курсе, в котором используется библиотека SPL (этот курс соответствует рубрике “STM32 с нуля” на сайте), то я рекомендую обратить внимание на новые статьи с использованием библиотеки HAL (эти статьи соответствуют рубрике “STM32Cube”). И для одной рубрики, и для другой принцип одинаковый – статьи идут по порядку, от новых к старым. Таким образом, можно открыть последнюю страницу из конкретной рубрики и следовать к “началу” рубрики, к более новым статьям.
      Постараюсь в будущем продумать более очевидную систему для систематизации статей.

  12. развлекаюсь с STM32 тоже на keil + j link
    настроил трассировку/отладку
    и приятного – реальная тема , использую HAL, сразу сначала запустился USBhid,usb vcom, uart,usb host – просто счатлив, хочу замутить какое-то производство, пока правда только идеи.
    Делаю шпаргалки на своем сайте,может кому интересно будет.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *