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

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

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

  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 не будет опубликован. Обязательные поля помечены *