Error downloading the following files stm32cube

Устранение ошибки загрузки и установки отсутствующего пакета CubeMX.
Ошибка установки пакета в STM32 CubeMX Печать

Добавил(а) microsin

  

Error downloading the following files: stm32cube_fw_f1_v170.zip (Target directory already exists)

STM32CubeMX error install package

Ошибка устраняется довольно просто — нужно найти каталог репозитория CubeMX, и удалить там ZIP-архив, который упоминается в этом сообщении.

Обычно репозиторий находится в папке документов пользователя. Например, в операционной системе это может быть каталог: C:UsersИмяПользователяSTM32CubeRepository

STM32CubeMX Repository folder

Этот простой способ часто помогает, но не всегда. В таком случае попробуйте описанные ниже Способ1 и Способ2.

[Способ1]

Для устранения ошибки выполните следующее:

1. Найдите в профиле пользователя файл загруженного архива библиотек. Обычно архив находится в папке c:UsersимяпользователяSTM32CubeRepository, и архив называется наподобие stm32cube_fw_f1_v1xx.zip (имя зависит от выбранного микроконтроллера и от версии библиотеки). Перенесите этот файл архива в какую-нибудь другую папку (например c:TEMP).

2. В STM32CubeMX перейдите на стартовый экран (Home) и в разделе менеджера библиотек (Manage software installations) и кликните на кнопку INSTALL/REMOVE.

STM32cubeMX Firmware package download error fig02

3. Откроется экран менеджера библиотек. Кликните на кнопку From Local …, выберите перенесенный на шаге 1 архив библиотек.

STM32cubeMX Firmware package download error fig03

[Способ2]

В случае, когда необходимо обновление уже установленного пакета библиотек, вышеописанный Способ1 может не сработать. Тогда нужно будет распаковать архив библиотек вручную. У меня такое произошло, когда STM32CubeMX загрузил 2 архива библиотек stm32cube_fw_f1_v180.zip и stm32cube_fw_f1_v184.zip. В этом случае распаковка второго архива в директорию, где уже находились распакованные файлы библиотек, приводила к ошибке.

Процесс по шагам:

1. Зайдите в каталог репозиториев STM32CubeRepository (он находится в каталоге профиля пользователя c:Usersимяпользователя), и перенесите оттуда архивы библиотек в другое место. В моем случае это были архивы stm32cube_fw_f1_v180.zip и stm32cube_fw_f1_v184.zip, я их перенес в папку c:TEMP.

2. Судя по именам, файл stm32cube_fw_f1_v180.zip это архив предыдущей версии библиотек, а файл stm32cube_fw_f1_v184.zip это архив с обновлениями до версии 1.8.4. Откройте в Проводнике (или в Total Commander) первый архив, и распакуйте каталог внутри него (в моем случае STM32Cube_FW_F1_V1.8.0) в папку STM32CubeRepository. После распаковки библиотеки должны находиться в каталоге STM32CubeRepositorySTM32Cube_FW_F1_V1.8.0:

STM32cubeMX Firmware package download error fig04

3. Откройте второй архив stm32cube_fw_f1_v184.zip, в нем находится папка с таким же именем STM32Cube_FW_F1_V1.8.0. Распакуйте эту папку в тот же каталог STM32CubeRepositorySTM32Cube_FW_F1_V1.8.0, с перезаписью существующих файлов (потому что это обновление библиотек).

4. Откройте менеджер библиотек STM32CubeMX выбором Home -> кнопка INSTALL/REMOVE, или через меню Help -> Manage embedded software packages (Alt-U). Вы увидите, что необходимый пакет библиотек успешно установлен.

STM32cubeMX Firmware package download error fig05

[Ссылки]

1. STM32CubeMX 5.0.1 — Firmware package download error site:st.com.

Содержание

  1. Error downloading the following files
  2. ОБОРУДОВАНИЕ ТЕХНОЛОГИИ РАЗРАБОТКИ
  3. Блог технической поддержки моих разработок
  4. Урок 3. Установка программного обеспечения. Первый опыт в конфигурации микроконтроллера, создании проекта, компиляции, прошивке.

Error downloading the following files

Error downloading the following files: stm32cube_fw_f1_v170.zip (Target directory already exists)

Ошибка устраняется довольно просто — нужно найти каталог репозитория CubeMX, и удалить там ZIP-архив, который упоминается в этом сообщении.

Обычно репозиторий находится в папке документов пользователя. Например, в операционной системе это может быть каталог: C:UsersИмяПользователяSTM32CubeRepository

Этот простой способ часто помогает, но не всегда. В таком случае попробуйте описанные ниже Способ1 и Способ2.

[Способ1]

Для устранения ошибки выполните следующее:

1. Найдите в профиле пользователя файл загруженного архива библиотек. Обычно архив находится в папке c:UsersимяпользователяSTM32CubeRepository, и архив называется наподобие stm32cube_fw_f1_v1xx.zip (имя зависит от выбранного микроконтроллера и от версии библиотеки). Перенесите этот файл архива в какую-нибудь другую папку (например c:TEMP).

2. В STM32CubeMX перейдите на стартовый экран (Home) и в разделе менеджера библиотек (Manage software installations) и кликните на кнопку INSTALL/REMOVE.

3. Откроется экран менеджера библиотек. Кликните на кнопку From Local . выберите перенесенный на шаге 1 архив библиотек.

[Способ2]

В случае, когда необходимо обновление уже установленного пакета библиотек, вышеописанный Способ1 может не сработать. Тогда нужно будет распаковать архив библиотек вручную. У меня такое произошло, когда STM32CubeMX загрузил 2 архива библиотек stm32cube_fw_f1_v180.zip и stm32cube_fw_f1_v184.zip. В этом случае распаковка второго архива в директорию, где уже находились распакованные файлы библиотек, приводила к ошибке.

Процесс по шагам:

1. Зайдите в каталог репозиториев STM32CubeRepository (он находится в каталоге профиля пользователя c:Usersимяпользователя), и перенесите оттуда архивы библиотек в другое место. В моем случае это были архивы stm32cube_fw_f1_v180.zip и stm32cube_fw_f1_v184.zip, я их перенес в папку c:TEMP.

2. Судя по именам, файл stm32cube_fw_f1_v180.zip это архив предыдущей версии библиотек, а файл stm32cube_fw_f1_v184.zip это архив с обновлениями до версии 1.8.4. Откройте в Проводнике (или в Total Commander) первый архив, и распакуйте каталог внутри него (в моем случае STM32Cube_FW_F1_V1.8.0) в папку STM32CubeRepository. После распаковки библиотеки должны находиться в каталоге STM32CubeRepositorySTM32Cube_FW_F1_V1.8.0:

3. Откройте второй архив stm32cube_fw_f1_v184.zip, в нем находится папка с таким же именем STM32Cube_FW_F1_V1.8.0. Распакуйте эту папку в тот же каталог STM32CubeRepositorySTM32Cube_FW_F1_V1.8.0, с перезаписью существующих файлов (потому что это обновление библиотек).

4. Откройте менеджер библиотек STM32CubeMX выбором Home -> кнопка INSTALL/REMOVE, или через меню Help -> Manage embedded software packages (Alt-U). Вы увидите, что необходимый пакет библиотек успешно установлен.

Источник

ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ

Блог технической поддержки моих разработок

Урок 3. Установка программного обеспечения. Первый опыт в конфигурации микроконтроллера, создании проекта, компиляции, прошивке.

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

Один из самых важных вопросов при освоении сложных микроконтроллеров подобно STM32 – выбор среды разработки (IDE).

Существует большое количество интегрированных средств разработки для микроконтроллеров STM32.

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

Но вряд ли кто-то из моих читателей согласится выложить 8000 евро за среду разработки. Хотя в платных IDE, как правило, есть бесплатные варианты с ограничением по размеру кода. Но не хочется подобно Дамоклу ждать, когда оборвется волос, на котором подвешен меч над твоей головой. Т.е. в самый неподходящий момент получить сообщение, о том, что остальная часть памяти недоступна.

Но есть приятное исключение. Платная интегрированная среда Atollic TrueStudio с прошлого года стала бесплатной. Производитель STM32 компания STMicroelectronics в 2018 году купила фирму Atollic и сделала эту IDE бесплатной.

От добра добра не ищут. Я выбрал в качестве среды разработки IDE Atollic TrueStudio. Она:

  • бесплатная;
  • нет ограничений;
  • разработчик поддерживает ее и обещает поддерживать в будущем;
  • устанавливается ”из коробки”;
  • прекрасно работает.

Итак. Нам необходимо установить следующее программное обеспечение:

  • Интегрированная среда разработки Atollic TrueStudio.
  • Пакет STM32CubeMX – программа создания проекта, визуальной конфигурации микроконтроллера.
  • Flash Loader Demonstrator — программа для прошивки микроконтроллеров через системный загрузчик.
  • Программа – терминал COM-порта компьютера, аналог Монитора последовательного порта Arduino IDE. Необходима для отладки программной и аппаратной частей системы. Я выбрал CoolTerm, но подобных программ очень много. Если не нравится мой выбор, используйте другую.

Давайте все это последовательно установим.

Atollic TrueStudio.

Выбираем ОС. Заполняем поля.

Загружаем последнюю версию по ссылке.

Запускаем полученный файл-инсталлятор:
Atollic_TrueSTUDIO_for_STM32_windows_x86_v9.2.0_20181203-0921.exe

Дальше следуем подсказкам инсталлятора.

STM32CubeMX

Регистрируемся, подтверждаем регистрацию по электронной почте.

В самом низу страницы загружаем архивный файл по ссылке Get Software.

Разархивируем скачанный файл во временную папку. Запускаем файл SetupSTM32CubeMX-5.0.1.exe.

Возможно, потребуется установка Java. Ссылка для установки откроется сама.

После загрузки и установки Java надо опять запустить SetupSTM32CubeMX-5.0.1.exe и довести установку до конца.

Flash Loader Demonstrator

Ссылка для самой загрузки (Get Software ) внизу страницы.

Разархивируем во временную папку, запускаем flash_loader_demo_v2.8.0.exe.

Следуем подсказкам инсталлятора

CoolTerm.

Устанавливать не надо. Разархивировать в рабочую папку. Запускается исполняемый файл CoolTerm.exe.

В итоге у нас 4 программы – 4 ярлыка на рабочем столе.

Проверка работы программного обеспечения в комплексе с отладочной платой.

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

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

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

Цель – проверить, что:

  • STM32CubeMX создает проект и задает правильную конфигурацию ресурсов микроконтроллера.
  • IDE Atollic TrueStudio открывает проект, позволяет его редактировать и создает загрузочный файл.
  • Flash Loader Demonstrator – загружает программу в микроконтроллер.
  • Мы правильно припаяли к отладочной плате преобразователь интерфейсов и кнопки.
  • Работает сама отладочная плата.

Разработаем и проверим программу, которая мигает светодиодом платы на 13 выводе с частотой 2 раза в секунду.

Конфигурация и создание проекта.

Создаем папку для наших проектов. У меня это d:STM32ProjectsLessonsLesson3.

Ниже надписи New Project выбираем ACCESS TO MCU SELECTOR, что означает выбор типа контроллера.

При первом запуске программа загрузит необходимые файлы из Интернета и откроется окно выбора микроконтроллера.

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

Нажимаем кнопку Start Project в правом верхнем углу.

Появляется окно конфигуратора.

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

Желтым цветом показаны выводы питания, остальные пока серые. Зеленеть они будут по мере конфигурации портов.

Настраиваем систему тактирования микроконтроллера.

Открываем закладку System Core. Выбираем RCC.

Источником тактирования задаем высокоскоростной генератор на кварцевом резонаторе High Speed Clock (HSE) -> Crystal/Ceramic Resonator .

Два вывода на микросхеме стали зелеными. Мы их заняли под выводы для кварцевого резонатора.

Выбираем в верхнем горизонтальном меню Clock Configuration (Конфигурация тактирования).

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

Коммутаторы PLL Source Mux и System Clock Mux устанавливаем на нижние входы.

Умножитель *PLL Mul задаем равным 9.

В результате на схеме видно, что основная частота тактирования 72 мГц (окошко HCLK).

С такой же частотой работает ядро микроконтроллера (окно FCLK).

Красным цветом отмечено, что какое-то устройство (APB1 Prescaler) работает на недопустимо высокой частоте. Есть предупреждение, что максимальная частота 36 мГц.

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

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

Возвращаемся в Pinout & Configuration. Справа появляется изображение микроконтроллера.

Правой кнопкой мыши нажимаем на вывод 13, назначаем его на выход (GPIO_Output).

Вывод стал зеленым.

В закладках слева выбираем GPIO (порты общего назначения).

Правее появляется строчка с режимом вывода 13.

Выбираем ее правой кнопкой мыши. В нижней строчке режимов вывода User Label пишем LED13. Это мы задали имя переменной для вывода. Через него в программе будет происходить обращение к выводу 13.

На этом конфигурация закончена. Не заглядывая в техническую документацию, мы за минуту выставили нужные нам режимы тактирования и вывода порта.

Заполняем данные для сохранения проекта. В верхнем меню выбираем Project Manager.

  • Имя проекта.
  • Папку сохранения проекта.
  • Обязательно выбираем TrueSTUDIO в поле Toolchain IDE.

Нажимаем GENERATE CODE.

При первом запуске STM32CubeMX загружает из Интернета необходимые файлы. Разрешаем загрузку.

В указанной папке появился проект Lesson3_1.

Разработка программы, компиляция.

Запускаем Atollic TrueStudio. Везде пустые поля.

Открываем наш проект File -> Open Projects from File System…

Указываем путь к проекту.

В поле Project Explorer появился наш проект.

Файлы с которыми мы будем сейчас работать в папке Scr.

Два раза кликаем правой кнопкой мыши по main.c и наш основной файл с исходным текстом появляется в среднем окне IDE.

Попробуем компилировать проект.

Нажимаем Project -> Build Project или молоточек в панели инструментов.

Смотрим на поле Problems (Проблемы) внизу экрана.

У меня сообщений об ошибках нет, значит, проект компилировался нормально.

Исходный текст программы.

В отличие от Ардуино структура программы STM32 типичная для языка C. Всегда есть функция main() – функция, которая вызывается при запуске программы. Часто внутри этой функции расположена вся программа, за исключением тел других функций.

#include «main.h» – заголовочный файл.

void SystemClock_Config(void);
static void MX_GPIO_Init(void);

Прототипы функций. В отличие от Ардуино в классическом я зыке C каждая функция, в том числе, которую объявляет программист, должна иметь прототип. Т.е. должна быть объявлена, как переменная. Прототип содержит имя функции, возвращаемое значение и аргументы. Должен быть объявлен до первого вызова функции.

Функция main — начало выполнения программы.

Функции инициализации регистров микроконтроллера. В них трансформировались наши действия по заданию конфигурации в программе STM32CubeMX.

И дальше нам в проекте конфигуратор подставил бесконечный цикл — аналог функции loop() в системе Ардуино.

В него мы и вставим команды управления светодиодом.

Текст программы изобилует блоками комментариев подобно этому.

/* USER CODE BEGIN WHILE */

/* USER CODE END WHILE */

Дело в том, что исходный текст создала программа STM32CubeMX. Если захочется что-либо изменить в конфигурации микроконтроллера с помощью STM32CubeMX, то конфигуратор может испортить текст, внесенный программистом на этапе разработки. Поэтому STM32CubeMX выделяет блоки, которые он не будет изменять при повторных конфигурациях. Эти блоки он отмечает строками комментариев:

Свой текст надо размещать только в таких блоках.

Сейчас нас интересует блок:

/* USER CODE END WHILE */

Вставляем инверсию светодиода с задержкой четверть секунды. Добавляем вызовы двух функций: инверсии состояния вывода и временной задержки.

/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
<
HAL_GPIO_TogglePin(LED13_GPIO_Port,LED13_Pin);
HAL_Delay(250);

/* USER CODE END WHILE */

Заметьте, что мы указали при конфигурации название вывода для светодиода LED13. Теперь в программе мы обращаемся к нему через имена LED13_GPIO_Port, LED13_Pin.

Можно закрыть проект.

Скачать архив проекта можно по ссылке:

Теперь надо загрузить исполняемый код во FLASH микроконтроллера.

Прошивка FLASH микроконтроллера.

Результат компиляции оказался в HEX-файле в папке Debug. В моем случае:

Именно этот файл будем прошивать в микроконтроллер.

Подключаем к компьютеру мост USB-UART. Перед этим должен быть установлен драйвер моста. Как это сделать, можно посмотреть по ссылкам PL2303 и CH340.

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

Запускаем Flash loader demonstrator.

Устанавливаем номер порта.

Нажимаем и удерживаем кнопку ПРОШИВКА.

Кратковременно нажимаем кнопку СБРОС.

Если на светофоре горит зеленый — еще раз Next.

Можно посмотреть информацию о микроконтроллере и размере его FLASH.

Опять давим Next.

Выбираем Download to device.

Задаем путь к нашему HEX-файлу.

Происходит загрузка FLASH микроконтроллера. Выводится сообщение о результате.

Теперь можно отпустить кнопку ПРОШИВКА, и закрыть программу.

Остается нажать кнопку СБРОС и светодиод на отладочной плате начинает мигать с частотой 2 раза в секунду.

Если так, то все было сделано правильно.

В следующем уроке научимся работать с регистрами микроконтроллера, узнаем о библиотеках CMSIS и HAL.

Источник

Форум РадиоКот • Просмотр темы — STM32 CubeMX при генерации проекта выдаёт странную ошибку

Сообщения без ответов | Активные темы

ПРЯМО СЕЙЧАС:

Автор Сообщение

Не в сети

Заголовок сообщения: STM32 CubeMX при генерации проекта выдаёт странную ошибку

СообщениеДобавлено: Пн дек 30, 2019 00:30:23 

Первый раз сказал Мяу!

Карма: 1

Рейтинг сообщений: 0

Зарегистрирован: Сб мар 02, 2013 16:42:11
Сообщений: 27

Рейтинг сообщения: 0

Здравствуйте, знакоты!
Начинаю работать с STM32, решил для простоты использовать что-то готовое: NUCLEO-L452RE-P. Задался создать примитив, что-то вроде мигания встроенного светодиода от встроенной кнопки. Запустил CubeMX, всё по мануалам, но при команде GENERATE CODE получил по фейсу следующее:
«The Firmware Package (STM32Cube BW_L4 V1.14.0) or one of its dependencies required by the Project is not available in your STM32CubeMX Repository. Do you want to download this now?»
Соглашаюсь на доунлад. Но дальше опять в торец:
«Error downloading the following files: stm32cube_fw_v1140.zip (Not available). For unavailable files, you can load them manually with the «From Local» button».
Где искать эту секретную локаль буттон?
Что посоветуете? Где спрятан выход, и как его найти?
Спасибо

Вернуться наверх
 

ПрофильПрофиль

 

Реклама

Мурик

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Пн дек 30, 2019 01:07:46 

Друг Кота
Аватар пользователя

Карма: 1

Рейтинг сообщений: 157

Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3313

Рейтинг сообщения: 0

Куб библиотеки скачать не может.

peotr писал(а):

Где искать эту секретную локаль буттон?

В окне New libraries manager.
Только это имеет смысл если у вас есть архив с библиотеками stm32cube_fw_v1140.zip.

Вернуться наверх
Реклама

peotr

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Пн дек 30, 2019 11:24:47 

Карма: 1

Рейтинг сообщений: 0

Зарегистрирован: Сб мар 02, 2013 16:42:11
Сообщений: 27

Рейтинг сообщения: 0

Куб библиотеки скачать не может.

А чем скачать, и где?

peotr писал(а):

Где искать эту секретную локаль буттон?

В окне New libraries manager.
Только это имеет смысл если у вас есть архив с библиотеками stm32cube_fw_v1140.zip.

Что-то не вижу такого окна в Кубе.

Спасибо.

Вернуться наверх

Мурик

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Пн дек 30, 2019 13:57:06 

Друг Кота
Аватар пользователя

Карма: 1

Рейтинг сообщений: 157

Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3313

Рейтинг сообщения: 1

Его можно открыть из меню Help. Должно быть что-то типа Manage embedded software packades.
Это в 4 версии. Как в 5 не знаю.

Вернуться наверх
Реклама

Выгодные LED-драйверы для решения любых задач

КОМПЭЛ представляет со склада и под заказ широкий выбор LED-драйверов производства MEAN WELL, MOSO, Snappy, Inventronics, EagleRise. Линейки LED-драйверов этих компаний, выполненные по технологии Tunable White и имеющие возможность непосредственного встраивания в систему умного дома (димминг по шине KNX), перекрывают практически полный спектр применений: от простых световых указателей и декоративной подсветки до диммируемых по различным протоколам светильников внутреннего и наружного освещения.

Подобрать LED-драйвер>>

HardWareMan

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Пт янв 31, 2020 06:13:59 

Открыл глаза
Аватар пользователя

Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 43

Рейтинг сообщения: 0

Репозитории куба по умолчанию тут: %USERPROFILE%Repository
Они что-то там изменили и старый куб не может скачать необходимые паки с сайта ST.COM, поэтому следует обновить куб. Сами паки управляются тут:
Изображение
В этот пункт меню открывает окно, где можно выбрать любой доступный для любого семейства любой версии пак (хоть даже несколько сразу и выбирать их при генерации проекта). Так же там доступны выборы CMSIS и сторонние. Но никто не запрещает скачать эти zip ручную с сайта и положить в вышеуказанную папку. Паки большие, для некоторых контроллеров их размер почти гигабайт.

Вернуться наверх
Реклама

Реклама

LIMF – источники питания High-End от MORNSUN со стандартным функционалом на DIN-рейку

На склад Компэл поступили ИП MORNSUN (крепление на DIN-рейку) с выходной мощностью 240 и 480 Вт. Данные источники питания обладают 150% перегрузочной способностью, активной схемой коррекции коэффициента мощности (ККМ; PFC), наличием сухого контакта реле для контроля работоспособности (DC OK) и возможностью подстройки выходного напряжения. Источники питания выполнены в металлическом корпусе, ПП с компонентами покрыта лаком с двух сторон, что делает ее устойчивой к соляному туману и пыли. Изделия соответствуют требованиям ANSI/ISA 71.04-2013 G3 на устойчивость к коррозии, а также нормам ATEX для взрывоопасных зон.

Подробнее>>

peotr

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Пт янв 31, 2020 09:26:05 

Карма: 1

Рейтинг сообщений: 0

Зарегистрирован: Сб мар 02, 2013 16:42:11
Сообщений: 27

Рейтинг сообщения: 0

HardWareMan, спасибо, всё именно так!

Вернуться наверх

ozzy

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Сб фев 01, 2020 02:09:48 

Грызет канифоль
Аватар пользователя

Карма: 2

Рейтинг сообщений: 24

Зарегистрирован: Вс янв 18, 2009 20:15:27
Сообщений: 256
Откуда: UA ZT

Рейтинг сообщения: 0

в новом кубе сломали генерацию для кеил, пишет кеил при загрузке — неизвестный процессор

Вернуться наверх

MementoMori

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Пн фев 10, 2020 11:49:20 

Зарегистрирован: Ср фев 05, 2020 19:35:56
Сообщений: 34

Рейтинг сообщения: 0

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

Вернуться наверх

afz

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Пн фев 10, 2020 13:35:51 

Опытный кот
Аватар пользователя

Карма: 12

Рейтинг сообщений: 159

Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 744
Откуда: Караганда, Казахстан

Рейтинг сообщения: 0

в новом кубе сломали генерацию для кеил, пишет кеил при загрузке — неизвестный процессор

У меня после обновления тоже было что-то подобное. Попробовал перегенерить старый проект — какие-то ошибки. Ладно, по-быстрому, накидал новый проект, начинаю генерить — Кубик еще минут 15 обновляется, и все ОК. Чем-то ему не нравится проект из-под него же, но не последней версии. Уже, кстати, не первый раз, такое же было после перехода с 4.х на 5.0, я это сразу вспомнил, поэтому и сразу стал пробовать с новым проектом.


_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)

Вернуться наверх

ozzy

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Вт фев 11, 2020 21:24:20 

Грызет канифоль
Аватар пользователя

Карма: 2

Рейтинг сообщений: 24

Зарегистрирован: Вс янв 18, 2009 20:15:27
Сообщений: 256
Откуда: UA ZT

Рейтинг сообщения: 0

а от нифига, перепробывал все
минимально работающую версию нашел 5.3.0
с версии 5.4.0 выдает такую ошибку
до этой версии необходимо ручками в кеиле указывать заново какой микроконтроллер в проекте так как он его не понимает

Вложение:



11.jpg [164.41 KiB]

Скачиваний: 344

Вернуться наверх

afz

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Ср фев 12, 2020 05:39:39 

Опытный кот
Аватар пользователя

Карма: 12

Рейтинг сообщений: 159

Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 744
Откуда: Караганда, Казахстан

Рейтинг сообщения: 0

О! А я, не помня, какой у меня Кейл (оказался 5.28), на всякий случай переключил в Project Manager’е «Min Version» с V5.27 на V5, и все генерится нормально. То есть, похоже, сломали что-то, что пытается использовать специфические фенечки 5.27+.

Хм… Сейчас на пробу поднял эту минимальную версию с V5 до V5.27 и перегенерил тот самый проект. Все ОК.

Кубики 5.5.0, Кейл 5.28, полёт нормальный.


_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)

Вернуться наверх

ozzy

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Ср фев 12, 2020 15:53:23 

Грызет канифоль
Аватар пользователя

Карма: 2

Рейтинг сообщений: 24

Зарегистрирован: Вс янв 18, 2009 20:15:27
Сообщений: 256
Откуда: UA ZT

Рейтинг сообщения: 0

Кеил 5,29 и все что выше версии куба 5.3.0 с ним не работает, я тоже выставлял V5 в настройках куба, но изменений нет, сам куб пишет что не может сгенерировать проект , так как есть problem ((

куда копать я уже ума не приложу, может винду переставить, что очень не хочется делать

Вернуться наверх

afz

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Ср фев 12, 2020 16:32:22 

Опытный кот
Аватар пользователя

Карма: 12

Рейтинг сообщений: 159

Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 744
Откуда: Караганда, Казахстан

Рейтинг сообщения: 0

Снести к чертям кубики вообще, и поставить заново сразу самые последние? Может оно обновляется коряво?


_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)

Вернуться наверх

ozzy

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Ср фев 12, 2020 20:20:35 

Грызет канифоль
Аватар пользователя

Карма: 2

Рейтинг сообщений: 24

Зарегистрирован: Вс янв 18, 2009 20:15:27
Сообщений: 256
Откуда: UA ZT

Рейтинг сообщения: 0

сносил, удалял директорию и чистил ccleaner ом, бестолку, тут проблема гдето в винде, в кодировках или я хз
вот что выдает при генерации в поле device куб 5.3.0 (слева, справа старый проект) ,а в версиях выше там одни крякозяблы

Изображение

Добавлено after 2 hours 39 minutes 59 seconds:
Re: STM32 CubeMX при генерации проекта выдаёт странную ошибку
в общем, взял ноут с вин7, установил там куб последний, сгенерировал проект и перенес его на стационарник и ….

все работает, кеил принял как родной тот проект , никаких ошибок, так что форточку версии 10 придется сносить и ставить заново 8) :kill: :kill: :kill:

Вернуться наверх

RomanGK

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Чт мар 05, 2020 18:29:16 

Зарегистрирован: Чт мар 05, 2020 18:23:44
Сообщений: 1

Рейтинг сообщения: 0

Попробуйте в ярлыке программы STM32Cube выставить совместимость под Windows 7 и запустить программу от имени администратора затем попробуйте установить пакет. У меня только так получилось на windows 10 установить последние пакеты на версию куба 5.6.0

Вернуться наверх

ozzy

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Чт мар 05, 2020 22:49:19 

Грызет канифоль
Аватар пользователя

Карма: 2

Рейтинг сообщений: 24

Зарегистрирован: Вс янв 18, 2009 20:15:27
Сообщений: 256
Откуда: UA ZT

Рейтинг сообщения: 0

переустановка 10 ки полностью решила проблему всех ошибок

Вернуться наверх

Ironium

Не в сети

Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк

СообщениеДобавлено: Вт июл 28, 2020 01:04:22 

Родился
Аватар пользователя

Зарегистрирован: Вт июл 14, 2015 06:33:29
Сообщений: 11

Рейтинг сообщения: 0

Удаляем JAVA, запускаем кубик — ругается что нет джавы и просит установить Java 8 Update 45.
Скачиваем и устанавливаем именно эту версию (jre-8u45-windows-x64.exe).
В панели управления джавой (javacpl.exe) отключаем автоматический апдейт.
Не все проекты откроются в Кейле, как понимаю те, что ранее неудачно генерировались.
Испытано на Windows 10 Enterprise LTSC 2020 и STM32CubeMX 6.0.0.

Вернуться наверх

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Topic: STM32CubeID problem  (Read 5014 times)

0 Members and 1 Guest are viewing this topic.

Hi everybody,

I have downloaded STM32CubeIDE recently to test it and compare with Atollic Studio. If I wanted to create first project with help of Device Configuration Tool Code Generation, this fail was appeared: «Error downloading the following files: stm32cube_fw_IO_v1110.zip (Target directory already exists)»

I tried to change FW installation repository and launch program as admin, however mentioned problem still stays unresolved.

Does someone have an idea to fix this situation? What I do wrong?

Thank you very much for your advices  :)


Logged


hello

1. Close CubeMX

2. go to the folder C: Users ….UserName…. STM32Cube Repository
and extract the zip archive manually, e.g. stm32cube_fw_f4_v1240.zip

3. In the Repository folder should appear a folder with the name STM32Cube_FW_F4_V1.24.1

4. The same applies to other types, eg F1 F2 F4 or H7


Logged


Уроки STM32

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

Предыдущий урок     Список уроков     Следующий урок

Один из самых важных вопросов при освоении сложных микроконтроллеров подобно STM32  – выбор среды разработки (IDE).

Существует большое количество интегрированных средств разработки для микроконтроллеров STM32.

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

Но вряд ли кто-то из моих читателей согласится выложить 8000 евро за среду разработки. Хотя в платных IDE, как правило, есть бесплатные варианты с ограничением по размеру кода. Но не хочется подобно Дамоклу ждать, когда оборвется волос, на котором подвешен меч над твоей головой. Т.е. в самый неподходящий момент получить сообщение, о том, что остальная часть памяти недоступна.

Но есть приятное исключение. Платная интегрированная среда Atollic TrueStudio с прошлого года стала бесплатной. Производитель STM32 компания STMicroelectronics в 2018 году купила фирму Atollic и сделала эту IDE бесплатной.

От добра добра не ищут. Я выбрал в качестве среды разработки IDE Atollic TrueStudio. Она:

  • бесплатная;
  • нет ограничений;
  • разработчик поддерживает ее и обещает поддерживать в будущем;
  • устанавливается ”из коробки”;
  • прекрасно работает.

Итак. Нам необходимо установить следующее программное обеспечение:

  • Интегрированная среда разработки Atollic TrueStudio.
  • Пакет STM32CubeMX – программа создания проекта, визуальной конфигурации микроконтроллера.
  • Flash Loader Demonstrator — программа для прошивки микроконтроллеров через системный загрузчик.
  • Программа – терминал COM-порта компьютера, аналог Монитора последовательного порта Arduino IDE. Необходима для отладки программной и аппаратной частей системы. Я выбрал CoolTerm, но подобных программ очень много. Если не нравится мой выбор, используйте другую.

Давайте все это последовательно установим.

Atollic TrueStudio.

Переходим по ссылке https://atollic.com/resources/download/.

Установка Atollic TrueStudio

Выбираем ОС. Заполняем поля.

Установка Atollic TrueStudio

Загружаем последнюю версию по ссылке.

Установка Atollic TrueStudio

Запускаем полученный файл-инсталлятор:
Atollic_TrueSTUDIO_for_STM32_windows_x86_v9.2.0_20181203-0921.exe

Дальше следуем подсказкам инсталлятора.

Установка Atollic TrueStudio

STM32CubeMX

Идем по ссылке www.st.com/en/development-tools/stm32cubemx.html.

Регистрируемся, подтверждаем регистрацию по электронной почте.

В самом низу страницы загружаем архивный файл по ссылке Get Software.

STM32CubeMX

Разархивируем скачанный файл во временную папку. Запускаем файл SetupSTM32CubeMX-5.0.1.exe.

STM32CubeMX

Возможно, потребуется установка Java. Ссылка для установки откроется сама.

STM32CubeMX

После загрузки и установки Java надо опять запустить SetupSTM32CubeMX-5.0.1.exe и довести установку до конца.

Flash Loader Demonstrator

Ссылка на страницу загрузки www.st.com/en/development-tools/flasher-stm32.html.

Ссылка для самой загрузки (Get Software ) внизу страницы.

Flash Loader Demonstrator

Разархивируем во временную папку, запускаем flash_loader_demo_v2.8.0.exe.

Следуем подсказкам инсталлятора

Flash Loader Demonstrator

CoolTerm.

Можно загрузить по ссылке http://freeware.the-meiers.org.

Устанавливать не надо. Разархивировать в рабочую папку.  Запускается исполняемый файл CoolTerm.exe.

Терминал CoolTerm

В итоге у нас 4 программы – 4 ярлыка на рабочем столе.

Программы для работы с STM32

Проверка работы программного обеспечения в комплексе с отладочной платой.

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

Прошивка STM32

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

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

Цель – проверить, что:

  • STM32CubeMX создает проект и задает правильную конфигурацию ресурсов микроконтроллера.
  • IDE Atollic TrueStudio открывает проект, позволяет его редактировать и создает загрузочный файл.
  • Flash Loader Demonstrator – загружает программу в микроконтроллер.
  • Мы правильно припаяли к отладочной плате преобразователь интерфейсов и кнопки.
  • Работает сама отладочная плата.

Разработаем и проверим программу, которая мигает светодиодом платы на 13 выводе с частотой 2 раза в секунду.

Конфигурация и создание проекта.

Создаем папку для наших проектов. У меня это d:STM32ProjectsLessonsLesson3.

Запускаем STM32CubeMX.

Работа с STM32CubeMX

Ниже надписи New Project выбираем ACCESS TO MCU SELECTOR, что означает выбор типа контроллера.

При первом запуске программа загрузит необходимые файлы из Интернета и откроется окно выбора микроконтроллера.

Выберем STM32F103C8.

Работа с STM32CubeMX

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

Нажимаем кнопку Start Project в правом верхнем углу.

Появляется окно конфигуратора.

Работа с STM32CubeMX

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

Желтым цветом показаны выводы питания, остальные пока серые. Зеленеть они будут по мере конфигурации портов.

Настраиваем систему тактирования микроконтроллера.

Открываем закладку System Core. Выбираем RCC.

Работа с STM32CubeMX

Источником тактирования задаем высокоскоростной генератор на кварцевом резонаторе High Speed  Clock (HSE) -> Crystal/Ceramic Resonator .

Работа с STM32CubeMX

Два вывода на микросхеме стали зелеными. Мы их заняли под выводы для кварцевого резонатора.

Выбираем в верхнем горизонтальном меню Clock Configuration (Конфигурация тактирования).

Работа с STM32CubeMX

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

Коммутаторы PLL Source Mux и System Clock Mux устанавливаем на нижние входы.

Умножитель *PLL Mul задаем равным 9.

Работа с STM32CubeMX

В результате на схеме видно, что основная частота тактирования 72 мГц (окошко  HCLK).

С такой же частотой работает ядро микроконтроллера (окно FCLK).

Красным цветом отмечено, что какое-то устройство (APB1 Prescaler) работает на недопустимо высокой частоте. Есть предупреждение, что максимальная частота 36 мГц.

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

Работа с STM32CubeMX

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

Возвращаемся в Pinout & Configuration. Справа появляется изображение микроконтроллера.

Правой кнопкой мыши нажимаем на вывод 13, назначаем его на выход (GPIO_Output).

Работа с STM32CubeMX

Вывод стал зеленым.

В закладках слева выбираем GPIO (порты общего назначения).

Правее появляется строчка с режимом вывода 13.

Работа с STM32CubeMX

Выбираем ее правой кнопкой мыши. В нижней строчке режимов вывода User Label пишем LED13. Это мы задали имя переменной для вывода. Через него в программе будет происходить обращение к выводу 13.

Работа с STM32CubeMX

На этом конфигурация закончена. Не заглядывая в техническую документацию, мы за минуту выставили нужные нам режимы тактирования и вывода порта.

Заполняем данные для сохранения проекта. В верхнем меню выбираем Project Manager.

Указываем:

  • Имя проекта.
  • Папку сохранения проекта.
  • Обязательно выбираем TrueSTUDIO в поле Toolchain IDE.

Проект STM32

Нажимаем GENERATE CODE.

При первом запуске STM32CubeMX загружает из Интернета необходимые файлы. Разрешаем загрузку.

Проект STM32

Закрываем программу.

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

В указанной папке появился проект Lesson3_1.

Проект STM32

Разработка программы, компиляция.

Запускаем Atollic TrueStudio. Везде пустые поля.

Открываем наш проект File -> Open Projects from File System…

Указываем путь к проекту.

Atollic TrueStudio

Нажимаем Finish.

В поле Project Explorer появился наш проект.

 Atollic TrueStudio

Разворачиваем.

Atollic TrueStudio

Файлы с которыми мы будем сейчас работать в папке Scr.

Два раза кликаем правой кнопкой мыши по main.c и наш основной файл с исходным текстом появляется в среднем окне IDE.

Atollic TrueStudio

Попробуем компилировать проект.

Нажимаем Project -> Build Project или молоточек в панели инструментов.

Панель инструментов Atollic TrueStudio

Смотрим на поле Problems (Проблемы) внизу экрана.

Проблемы Atollic TrueStudio

У меня сообщений об ошибках нет, значит, проект компилировался нормально.

Исходный текст программы.

В отличие от Ардуино структура программы STM32 типичная для языка C. Всегда есть функция main() – функция, которая вызывается при запуске программы. Часто внутри этой функции расположена вся программа, за исключением тел других функций.

Просматриваем программу.

#include «main.h» – заголовочный файл.

void SystemClock_Config(void);
static void MX_GPIO_Init(void);

Прототипы функций. В отличие от Ардуино в классическом я зыке C каждая функция, в том числе, которую объявляет программист, должна иметь прототип. Т.е. должна быть объявлена, как переменная. Прототип содержит имя функции, возвращаемое значение и аргументы. Должен быть объявлен до первого вызова функции.

int main(void) {

Функция main — начало выполнения программы.

HAL_Init();
SystemClock_Config();
MX_GPIO_Init();

Функции инициализации регистров микроконтроллера. В них трансформировались наши действия по заданию конфигурации в программе STM32CubeMX.

И дальше нам в проекте конфигуратор подставил бесконечный цикл — аналог функции loop() в системе Ардуино.

while (1)
{

}

В него мы и вставим команды управления светодиодом.

Текст программы изобилует блоками комментариев подобно этому.

/* USER CODE BEGIN WHILE */

/* USER CODE END WHILE */

Дело в том, что исходный текст создала программа STM32CubeMX. Если захочется что-либо изменить в конфигурации микроконтроллера с помощью STM32CubeMX, то конфигуратор может испортить текст, внесенный программистом на этапе разработки. Поэтому STM32CubeMX выделяет блоки, которые он не будет изменять при повторных конфигурациях. Эти блоки он отмечает строками комментариев:

/* USER CODE … */

/* USER CODE … */

Свой текст надо размещать только в таких блоках.

Сейчас нас интересует блок:

/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{

/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */

Перед

/* USER CODE END WHILE */

Вставляем инверсию светодиода с задержкой четверть секунды. Добавляем вызовы двух функций: инверсии состояния вывода и временной задержки.

/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
  HAL_GPIO_TogglePin(LED13_GPIO_Port,LED13_Pin);
  HAL_Delay(250);

/* USER CODE END WHILE */

Заметьте, что мы указали при конфигурации название вывода для светодиода LED13. Теперь в программе мы обращаемся к нему через имена LED13_GPIO_Port, LED13_Pin.

Компилируем проект.

Ошибок нет.

Компиляция проекта Atollic TrueStudio

Можно закрыть проект.

Скачать архив проекта можно по ссылке:

Зарегистрируйтесь и оплатитеВсего 60 руб. в месяц за доступ ко всем ресурсам сайта!

 

Теперь надо загрузить исполняемый код во FLASH микроконтроллера.

Прошивка FLASH микроконтроллера.

Результат компиляции оказался в HEX-файле в папке Debug. В моем случае:

d:STM32ProjectsLessonsLesson3Lesson3_1DebugLesson3_1.hex

Загрузочный HEX-файл STM32

Именно этот файл будем прошивать в микроконтроллер.

Подключаем к компьютеру мост USB-UART. Перед этим должен быть установлен драйвер моста. Как это сделать, можно посмотреть по ссылкам PL2303 и CH340.

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

Запускаем Flash loader demonstrator.

Программатор Flash loader demonstrator

Устанавливаем номер порта.

Нажимаем и удерживаем кнопку ПРОШИВКА.

Кратковременно нажимаем кнопку СБРОС.

Давим Next.

Программатор для STM32 Flash loader demonstrator

Если на светофоре горит зеленый — еще раз Next.

Flash loader demonstrator

Можно посмотреть информацию о микроконтроллере и размере его FLASH.

Опять давим Next.

Выбираем Download to device.

Задаем путь к нашему HEX-файлу.

Flash loader demonstrator

Опять Next.

Происходит загрузка FLASH микроконтроллера. Выводится сообщение о результате.

Программатор Flash loader demonstrator

У меня успешно.

Теперь можно отпустить кнопку ПРОШИВКА,  и закрыть программу.

Остается нажать кнопку СБРОС и светодиод на отладочной плате начинает мигать с частотой 2 раза в секунду.

Если так, то все было сделано правильно.

В следующем уроке научимся работать с регистрами микроконтроллера, узнаем о библиотеках CMSIS  и HAL.

Предыдущий урок     Список уроков     Следующий урок

Автор публикации


263

Комментарии: 1873Публикации: 183Регистрация: 13-12-2015

Эта тема


  • Везде

  • Эта тема
  • Этот форум

  • Расширенный поиск

Поиск

Урок 4

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

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

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

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

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

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

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

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

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

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

Input Frequency 8

HSE

/8

X 336

/2

PLLCLK

AHB Prescaler 1

APB1 Prescaler 8

APB2 Prescaler 8

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

image00_0500

Следующая вкладка 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_GPIO_TogglePin(GPIOD, GPIO_PIN_12);

                HAL_Delay(500);

                HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_12);

                HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_13);

                HAL_Delay(500);

                HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_13);

                HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_14);

                HAL_Delay(500);

                HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_14);

                HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_15);

                HAL_Delay(500);

                HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_15);

Затем задействуем кнопку следующим образом меняя код

                if(HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0)==GPIO_PIN_SET)

                {

                        HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_12);

                        HAL_Delay(500);

                        HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_12);

                        HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_13);

                        HAL_Delay(500);

                        HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_13);

                        HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_14);

                        HAL_Delay(500);

                        HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_14);

                        HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_15);

                        HAL_Delay(500);

                        HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_15);

                }

                else HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_RESET);

  }

Прошиваем контроллер и смотрим результат.

Предыдущий урок Программирование МК STM32 Следующий урок

Купить плату можно здесь STM32F4-DISCOVERY

Смотреть ВИДЕОУРОК

STM32 CUBE MX. Светодиоды и кнопка


Post Views:
6 077

Понравилась статья? Поделить с друзьями:
  • Error downloading packages centos 7
  • Error downloading miniconda3
  • Error downloading latest mtl version information ivao
  • Error downloading java runtime environment
  • Error downloading image