Софт-Портал

Stm32cubemx Скачать Торрент img-1

Stm32cubemx Скачать Торрент

Рейтинг: 4.8/5.0 (1568 проголосовавших)

Категория: Торрент-файлы

Описание

Первый проект в Keil 5 STM32 CubeMX

Первый проект в Keil 5 + STM32 CubeMX

Details Автор Super User

В статье описано, каким образом можно создать проект с помощью программы STM32CubeMX (да, именно так она теперь называется) и библиотеки HAL. В проекте используется микроконтроллер STM32F407VGT6, но для других моделей действия будут аналогичны.

Для работы нам понадобятся:

  • Keil uVision 5;
  • STM32CubeMX;
  • микроконтроллер;
  • программатор.

Шаг 0. Если на вашем компьютере не установлен STM32CubeMX или Keil uVision 5, скачайте и установите их. При установке STM32CubeMX может потребоваться установка Java -платформы.

Шаг 1. Запускаем STM32CubeMX, выбираем "New project". В появившемся окне выставляем фильтр на требуемый микроконтроллер, выбираем его и жмем "ОК".

Шаг 2. Попробуем создать проект, в котором контроллер будет управлять работой светодиода. На моей отладочной плате светодиод подключен к выводу "PORTD.12" (узнать это можно из документации к плате). Выбираем нужный вывод микроконтроллера на схеме и кликаем по нему левой кнопкой мыши и из предложенных настроек вывода выбираем "GPIO_Output", т.е. назначаем его на вывод. Контроллер настроен!

Шаг 3. Настройка генерации проекта. Нажимаем "Project" -> "Settings".

В открывшемся окне на вкладке "Project" в первое поле вводим название проекта, в следующее поле - путь к папке, где будет храниться проект, ниже в выпадающем списке выбираем IDE, для которой создается проект, и нажимаем кнопку "ОК". Про оставшиеся настройки расскажу в следующих статьях.

Шаг 4. Генерация проекта. Для того, чтобы запустилась генерация проекта, необходимо нажать на кнопку с шестеренкой и в открывшемся окне нажать кнопку "Open project".

Шаг 5. Проверка созданного проекта. После нажатия на кнопку начнет запускаться Keil.

Переходим в Keil, в обозревателе проекта раскрываем группу "Application/User", открываем файл "Main.c", ищем в нем цикл "while(1)" и вписываем пару строк кода.

В первой строке кода вызывается процедура, которая меняет состояние вывода на противоположное (т.е. если светодиод светился, то должен погаснуть и наоборот). Вторая строка кода - это пауза.

Далее нажимаем на кнопку постройки проекта.

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

Если все сделано правильно, светодиод на плате вам поморгает ;-)

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

Другие статьи

STM32F103 HAL: Использование STM32CubeMX и библиотеки HAL в среде Linux

разделы: STM32. среда разработки. дата: 20 октября 2016г.

HAL - это дальнейшее развитие библиотеки SPL, выпущенной фирмой "ST Microelectronics", ориентированный на то, что бы дать разработчику единый инструмент для работы со всеми чипами STM32. Этим единым инструментом стала кросс-платформенная утилита с графическим интерфейсом STM32CubeMX, а сам фреймворк HAL стал называться STM32Cube. И если утилита STM32CubeMX действительно одна для всех микроконтроллеров STM32, то фреймворк STM32Cube/HAL для каждой линейки чипов свой. Т.е. все так же как и в SPL.

STM32CubeMX - позволяет сгенерироваль проект на основе CMSIS+HAL под различные IDE, что помогает избежать многих граблей, на начальном этапе освоения STM32.

Нас будет интересовать линейка STM32F1xx, документация по HAL для этой линейке доступна на официальном сайте Description of STM32F1xx HAL drivers. User Manual UM1850

Установка связки STM32CubeMX + IDE в системах Windows, тривиальна и многократно описана в сети, а вот в Linux могут возникнуть сложности.

Для Eclipse существует плагин STM32Cube, который позволяет запустить STM32CubeMX в окошке Eclipse. Есть в сети пошаговая инструкция как этим плагином пользоваться: Установка и настройка Eclipse, STM32CubeMX под Windows. и я даже где-то видел видео, где все работает. Но в моем случае, проект который в итоге генерировался, Eclipse-ом почему-то не желался приниматься:

И хотя возможно, что можно было бы доконфигурировать проект Eclipce'а, лучше будет воспользоваться готовым IDE "SystemWorkbench for STM32"(он же SW4STM32) компании AC6 на базе того же Eclipse:

SW4STM32 полностью бесплатный, доступный для Linux, Windows и MacOS, не содержит никаких ограничений на размер генерируемого кода. Скачать его можно c официального сайта компании AC6 http://www.ac6-tools.com/downloads/SW4STM32/

Установка STM32CubeMX под Linux тоже не доставляет труда. Процесс можно посмотреть на youtube:

Попробуем написать Blink с помощью этих двух инструментов. Целевым микроконтроллером будет STM32F103CBT6, светодиод будет на PB1, тактирование от внешнего кварца на 8 MHz. Версия java:

Запускаем STM32CubeMX и создаем новый проект:

Через выпадающие списки выбираем целевой микроконтроллер:

Во вкладке "Pinout", в пункте SYS включаем отладку по SerialWire, а в через регистры контроля и тактирования RCC устанавливаем внешний кварц - HSE. На ножке PB1 выставляем режим GPIO_Output:

Во вкладке "Clock Configuration" подключаем кварц и устанавливаем нужные делители и множитель PLLMul

Во вкладке "Configuration" устанавливаем режим GPIO для PB1:

Последний этап, через меню->Genrate Code запускаем экспорт проекта. Здесь в качестве целевой IDE указываем SW4STM32, рабочий каталог должен совпадать с рабочим каталогом SW4STM32:

При этом если STM32CubeMX был запущен впервые на данном компьютере, то перед сохранением проекта, будет закачана библиотека HAL для данной линейки микроконтроллеров. Библиотеку можно будет найти в

/STM32Cube. Так же как SPL она содержит проекты с примерами для работы с той или иной периферией:

Осталось запустить SW4STM32, и через меню->File->Import импортировать сгенерированный проект:

После чего можно попытаться собрать проект:

Если проект собрался успешно, то во вкладке Console будет соответствующий отчет:

Осталось написать саму программу. В while-цикле функции main() следует вставить код:

Осталось скомпилировать проект и прошить чип:

Работать должно без вопросов.


Иследование работы программы с помощью отладчика, называется динамическим анализом кода

Попробуем исследовать работу программы с помощью отладчика:

Поставим точку останова на главный цикл программы:

Попробуем ткнуть наугад:

Здесь вроде все нормально, как и должно быть.

Здесь задержки формируются с помощью функции HAL_Delay. Функция использует внутренний таймер ARM - SysTick. Почитать о нем можно здесь: ARM. Учебный Курс. SysTick — Системный таймер. Это обычный 24-битный счетчик, который ничего не умеет, этакий аналог TIMER0 в AVR и TIM4 в STM4. SysTick предназначен специально для формирования задержек или как таймер планировщика в операционной системе.

Заглянем внутрь функции:

так это работает:

Теперь посмотрим, как происходит переключение светодиода:

Здесь нас будет интересовать число 0x40010c00 в r0. Можно предположить, что это адрес порта. Изучение аппнота AN3422 Application note Migration of microcontroller applications from STM32F1 to STM32L1 serie подтверждает догадку:

Структура GPIO описана в заголовочном файле stm32f103xb.h

Регистр GPIOB->BSRR в пятом столбце первой строчки, в котором записано значение 0х10. Посмотрим как он меняется:

Как видно значение регистров ODR и BSRR изменилось. Идем дальше:

Значение регистров снова сбросилось. Думаю, что здесь все понятно.

STM Урок 4

STM Урок 4. Библиотека HAL. STM32 CUBE MX. Светодиоды и кнопка Библиотека HAL. STM32 CUBE MX. Светодиоды и кнопка

Сегодня мы познакомимся с библиотекой HAL. Данная библиотека, в отличие от SPL, широко используется и поддерживается.

Также для более комфортного использования данной библиотеки мы будем пользоваться программой для первоначальной настройки и генерации кода для среды программирования — STM32CubeMX.

Скачиваем STM32CubeMX с st.com (для этого нужно заполнить форму и ссылочка придет на электронную почту.

Устанавливаем его (может потребоваться установка Java)

Запускаем куб, выбираем контроллер.

Настраиваем порты PA0, PD12, PD13, PD14, PD15

Включаем шину rcc->HSE

Переходим в Clock Configuration, включаем HSE

Применим следующие настройки:

Input Frequency 8

AHB Prescaler 1

APB1 Prescaler 8

APB2 Prescaler 8

А можно и так как на рисунке (нажмите на картинку для увеличения размера)

Следующая вкладка Configuration.

Смотрим тут GPIO и ничего там не трогаем

Дальше идём в меню Project -> Generate Code

Настраиваем Toolchain IDE – MDK-ARM V5

Задаем имя проекта и расположение

Если нужно загрузить библиотеки, то загружаем.

Смотрим функции для управления портами в STM32F4HAL_User_manual.pdf, найти который можно введя на st.com в строке поиска «STM32F4xx»

Функции находятся HAL GPIO Generic Driver –> GPIO Firmware driver API description -> IO operation functions. Щелкаем по ссылке нужной функции и смотрим ее описание.

Добавляем в бесконечный цикл код

Добрый день. Первым делом хочу сказать вам спасибо за ваш титанический труд. Написать такую уйму уроков за короткий срок — это нечто. Надеюсь, вы не бросите проект, как большинство авторов.

Теперь "ближе к телу, как говорил Ги Де Мопассан" (с) ??

Подскажите пожалуйста, почему при использовании HAL в Кейле в отладке не виден ни один периферийный блок. В SPL все доступно, а тут нет. Хоть в четвертом Кейле, хоть в пятом. Спасибо.

Вам также спасибо за оценку ресурса!
С этим делом не заморачивался. Тем более не знаю, какой именно блок не виден. И кейл у Вас лицензионный или бесплатный?

Четвертый Кейл крякнутый, пятый бесплатный. Поначалу в четвертом на SPL кое-что пописывал, отладка работала. Как перешел на Cube, отладки не стало. Ну, думаю, ST сейчас все примеры для пятого Кейла пишет, надо его попробовать. Попробовал — то же самое.

Не видится вся периферия. Таймеры, GPIO и т. д.

Вот написал "Поначалу в четвертом на SPL кое-что пописывал", а потом подумал, что надо было написать "пытался кое-что пописывать". ?? Ибо на Си раньше не писал, много встрчается всяких непонятных вещей, которые редко где описываются.

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

Если такая просьба приобретёт массовый характер, то так и буду делать, хотя мне это будет раз в 50 сложнее.

А пока в каждой последней части урока выкладываю полный проект, который можно скачать. Хотя я также был противником выкладывания проекта. Иначе люди сами перестают думать и пользуются готовым проектом. Видимо, скоро надо будет и это прекращать. Так как, оказывается, на всех не угодить. Здесь ещё встречались такие, которые просили в каждой части промежуточные проекты выкладывать. Но хорошо, что их очень мало.

Извините за дилетантский вопрос Где физически располагается файл main.h? Почему его видно в Кейле и не видно, если просто открыть папку и смотреть проводником Windows? Я скачал Keil 5 3 дня назад, до этого были AVRки, там AVR Studio да Proteus.

Установка и настройка Eclipse, STM32CubeMX под Windows

Здесь описываю настройку среды разработки для микроконтроллеров STM32, с использованием Eclipse, STM32CubeMX, GNU ARM Embedded, GNU ARM Eclipse Plugins. На примере микроконтроллера STM32F030F4P6.

На видео приведён весь процесс установки и настройки. Операционная система Windows 10, взята с сайта Microsoft: Download virtual machines. Образы выложены там для тестирования софта под различными браузерами.

Описываемая последовательность не обязана работать на Вашем ПК, т.к. правильность настроек может зависеть от текущего окружения операционной системы. Если у Вас это не работает или найдёте ошибку, пишите в комментариях.

Список ПО, которое понадобится:

Java Virtual Machine

Далее, далее. тут всё понятно.

Eclipse IDE for C/C++ Developers

Распаковываем архив с IDE куда-нибудь.

Windows Build Tools

Установка описана в руководстве. Ничего необычного.

GCC ARM Embedded

При завершения установки снимаем галочки с Launch gccvar.bat и Add path to enviroment variable. Чтобы можно было установить несколько компиляторов.

GNU ARM Eclipse plug-ins

Установка описана в руководстве. В меню Eclipse выбираем Help -> Install New Software. . Добавляем сайт

И устанавливаем всё.

STM32CubeMX Eclipse plug in

Запускаем Eclipse. Через меню Help -> Install New Software. устанавливаем плагин из архива STSW-STM32095.zip. Перезапускаем Eclipse.

STM32CubeF0

Запускаем Eclipse. Открываем STM32CubeMX через меню Window -> Show View -> Other. . Там в дереве, в ветке Other, будет STM32CubeMX. В меню STM32CubeMX выбираем Help -> Install New Libraries. открывается окно установки пакетов под серии микроконтролллеров. Нажимаем кнопку From Local. и выбираем скачанный ранее архив STM32CubeF0.ZIP .

Создание проекта в Eclipse

В мастере создания нового проекта выбираем C/C++ -> C Project. Далее указываем имя проекта и тип Hello World ARM C Project. Toolchain Cross ARM GCC. Далее меняем каталог исходников Source с src на Src. В Linker semi-hosting options стираем всё и пишем

Пробуем собрать проект.

Создание проекта в STM32CubeMX Генерация кода

Запускаем STM32CubeMX, создаём новый проект. В списке микроконтроллеров выбираем нужный (здесь STM32F030F4P6 для примера). Настраиваем как нужно. Запускаем генерацию кода из меню. Указываем имя проекта как было в Eclipse выше. Указываем Project Location на каталог workspace, где лежит тот проект. Меняем Toolchain/IDE на SW4STM32. Запускаем. Исходные коды проекта будут созданысгенерированы поверх уже существующего проекта. Закрываем STM32CubeMX.

Обновляем дерево проекта в Eclipse. Появляются новые каталоги, Driver и Inc. Сгенерированный Src совпал с уже сушествующим. Новые каталоги исключены из сборки, поэтому включаем их через свойства в контекстном меню. При необходимости, меняем в свойствах проект кодировку исходников на UTF-8.

Создаём в каталоге Src файл startup.asm. Прописывываем в нём путь к стартовому файлу на ассемблере:

Это позволит оставить файлы *.s на месте (они не попадают под сборку ассемблером), но в то же время включить нужный в сборку через файл *.asm .

Ищем файл ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_msp_template.c и исключаем его из сборки, через свойства файла.

Перенос настроек

Далее, надо перенести настройки проекта из сгенерированного в существующий. Открываем XML файл сгенерированного проекта в ./SW4STM32/

Configuration/.cproject. Делаем его текст более читаемым через любое средство форматирования XML, позволяющее разнести атрибуты по строкам.

Ищем в XML файле пути для Include, в ноде, подобной следующей:

Открываем свойства проекта в Eclipse, идём в C/C++ Build -> Settings -> Tool Settings -> Cross ARM C Compiler -> Includes. Добавляем найденные каталоги из XML файла в список Include paths (-I). Заменяем относительные пути:

Ищем в XML файле макросы, в ноде, подобной следующей:

Открываем свойства проекта в Eclipse, идём в C/C++ Build -> Settings -> Tool Settings -> Cross ARM C Compiler -> Preprocessor. Добавляем найденные макросы из XML файла в список Defined symbols (-D). Список примерно следующий:

Последнего в XML файле нет, но без него библиотеки не соберутся.

ARM family

Открываем свойства проекта в Eclipse, идём в C/C++ Build -> Settings -> Tool Settings -> Target Processor -> ARM family. выбираем cortex-m0. соответственно микроконтроллеру.

Linker script

Открываем свойства проекта в Eclipse, идём в C/C++ Build -> Settings -> Tool Settings -> Cross ARM C Linker -> General. Добавляем в список Scripts files (-T) путь к файлу скрипта, созданного при генерации проекта в STM32CubeMX. Например, ./SW4STM32/

Configuration/STM32F030F4Px_FLASH.ld. Ниже, в Miscellaneous, ставим галочку на Use newlib-nano (--specs=nano.specs) .

Собираем проект. Для ускорения сборки можно включить параллельную работу в свойствах проекта C/C++ Build -> Behavior -> Enable parallel build .

Проверка связи с отладчиком и микроконтроллером через J-Flash.

Запускаем J-Flash. Создаём новый проект. В свойствах проекта выбираем свой отладчик, Target Interface. CPU -> Device. Выполняем подключение Target -> Connect. Если в логах появилась запись

то всё OK. Если нет, разбираемся с драйверами и подключением. Для дополнительной проверки можно считать память программ микроконтроллера через меню Target -> Read back -> Entire chip. Должно отобразиться содержимое памяти. Если нет - опять же разбираемся с поключением.

Настройка Eclipse

Открываем меню Debug -> Debug Configurations. . Создаём новое подключение под GDB Segger J-Link Debugging. На вкладке Debugger прописываем Device name (ссылка на список поддерживаемых устройств там есть справа), например STM32F030F4. Выбираем подключение Connection и интерфейс Interface. если требуется. На вкладке Common ставим галочку на Debug в списке Display in favorites menu для упрощения перехода в режим отладки. Далее окно настроек можно закрыть и запустить отладку через меню Debug. Бинарник должен прошиться в память программ и начаться отладка, с остановкой в начале функции main .

Обновление проекта

Данная структура проекта позволяет обновить проект черех генератор кода STM32CubeMX без особых усилий, при соблюдении рекомендаций к написанию пользовательского кода в предназначенных для того участках. Запускаем STM32CubeMX. Загружаем проект STM32CubeMX (файл *.ioc, сохранённый в каталоге проекта при генерации кода). Меняем необходимые настройки, отключаем или подключаем модули. Потом запускаем генерацию кода и файла описания. Файлы перезаписываются поверх существующего проекта, сохраняя упомянутые выше участки пользовательского кода.

Posted in STM32 on Jan 25, 2016

Please enable JavaScript to view the comments powered by Disqus.

1 STM32CubeMX Tutorial - Cмотреть видео онлайн с youtube, скачать бесплатно с ютуба

#1 STM32CubeMX Tutorial

STM32CubeMX full Introduction Video. How to start using the program, all its features and settings.
You can download the STM23CubeMX software from the ST Product page:
http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF259242?sc=microxplorer
Or Directly from:
http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF259242?sc=microxplorer#

Please subscribe so you will get notifications when I will load more training videos on the STM32.

Thanks for watching.

Next Video:
How the cube generates the code:
http://www.youtube.com/ /watch?v=SZub9bFGXak

STM32CubeMX Power Consumption Calculator:
https://youtu.be/GZEX3HmzCfI

Ссылка на страницу с видео:

Ссылка HTML на страницу с видео:

Код для вставки плеера:

© 2015 Cмотреть видео онлайн с youtube, скачать бесплатно с ютуба