Добавил(а) microsin
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). Вы увидите, что необходимый пакет библиотек успешно установлен.
[Ссылки]
1. STM32CubeMX 5.0.1 — Firmware package download error site:st.com.
Содержание
- Error downloading the following files
- ОБОРУДОВАНИЕ ТЕХНОЛОГИИ РАЗРАБОТКИ
- Блог технической поддержки моих разработок
- Урок 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
|
Здравствуйте, знакоты! |
Вернуться наверх |
Профиль
|
Реклама | |
|
|
Мурик
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Пн дек 30, 2019 01:07:46 |
||
Карма: 1 Рейтинг сообщения: 0
|
Куб библиотеки скачать не может. peotr писал(а): Где искать эту секретную локаль буттон? В окне New libraries manager. |
||
Вернуться наверх | |||
Реклама | |
|
|
peotr
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Пн дек 30, 2019 11:24:47 |
Карма: 1 Рейтинг сообщения: 0
|
Куб библиотеки скачать не может. А чем скачать, и где? peotr писал(а): Где искать эту секретную локаль буттон? В окне New libraries manager. Что-то не вижу такого окна в Кубе. Спасибо. |
Вернуться наверх | |
Мурик
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Пн дек 30, 2019 13:57:06 |
||
Карма: 1 Рейтинг сообщения: 1
|
Его можно открыть из меню Help. Должно быть что-то типа Manage embedded software packades. |
||
Вернуться наверх | |||
Реклама | |
|
Выгодные 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 Рейтинг сообщения: 0
|
Репозитории куба по умолчанию тут: %USERPROFILE%Repository |
||
Вернуться наверх | |||
Реклама | |
|
|
Реклама | |
|
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
|
HardWareMan, спасибо, всё именно так! |
Вернуться наверх | |
ozzy
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Сб фев 01, 2020 02:09:48 |
||
Карма: 2 Рейтинг сообщения: 0
|
в новом кубе сломали генерацию для кеил, пишет кеил при загрузке — неизвестный процессор |
||
Вернуться наверх | |||
MementoMori
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Пн фев 10, 2020 11:49:20 |
Зарегистрирован: Ср фев 05, 2020 19:35:56 Рейтинг сообщения: 0
|
Подобного рода проблемы преследовали меня, пока я не изменил имя пользователя в Windows на не содержащее кириллических символов. Если у вас кириллица — попробуйте переименовать. |
Вернуться наверх | |
afz
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Пн фев 10, 2020 13:35:51 |
||
Карма: 12 Рейтинг сообщения: 0
|
в новом кубе сломали генерацию для кеил, пишет кеил при загрузке — неизвестный процессор У меня после обновления тоже было что-то подобное. Попробовал перегенерить старый проект — какие-то ошибки. Ладно, по-быстрому, накидал новый проект, начинаю генерить — Кубик еще минут 15 обновляется, и все ОК. Чем-то ему не нравится проект из-под него же, но не последней версии. Уже, кстати, не первый раз, такое же было после перехода с 4.х на 5.0, я это сразу вспомнил, поэтому и сразу стал пробовать с новым проектом. |
||
Вернуться наверх | |||
ozzy
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Вт фев 11, 2020 21:24:20 |
||
Карма: 2 Рейтинг сообщения: 0
|
а от нифига, перепробывал все Вложение:
|
||
Вернуться наверх | |||
afz
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Ср фев 12, 2020 05:39:39 |
||
Карма: 12 Рейтинг сообщения: 0
|
О! А я, не помня, какой у меня Кейл (оказался 5.28), на всякий случай переключил в Project Manager’е «Min Version» с V5.27 на V5, и все генерится нормально. То есть, похоже, сломали что-то, что пытается использовать специфические фенечки 5.27+. Хм… Сейчас на пробу поднял эту минимальную версию с V5 до V5.27 и перегенерил тот самый проект. Все ОК. Кубики 5.5.0, Кейл 5.28, полёт нормальный. |
||
Вернуться наверх | |||
ozzy
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Ср фев 12, 2020 15:53:23 |
||
Карма: 2 Рейтинг сообщения: 0
|
Кеил 5,29 и все что выше версии куба 5.3.0 с ним не работает, я тоже выставлял V5 в настройках куба, но изменений нет, сам куб пишет что не может сгенерировать проект , так как есть problem (( куда копать я уже ума не приложу, может винду переставить, что очень не хочется делать |
||
Вернуться наверх | |||
afz
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Ср фев 12, 2020 16:32:22 |
||
Карма: 12 Рейтинг сообщения: 0
|
Снести к чертям кубики вообще, и поставить заново сразу самые последние? Может оно обновляется коряво? |
||
Вернуться наверх | |||
ozzy
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Ср фев 12, 2020 20:20:35 |
||
Карма: 2 Рейтинг сообщения: 0
|
сносил, удалял директорию и чистил ccleaner ом, бестолку, тут проблема гдето в винде, в кодировках или я хз Добавлено after 2 hours 39 minutes 59 seconds: все работает, кеил принял как родной тот проект , никаких ошибок, так что форточку версии 10 придется сносить и ставить заново |
||
Вернуться наверх | |||
RomanGK
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Чт мар 05, 2020 18:29:16 |
Зарегистрирован: Чт мар 05, 2020 18:23:44 Рейтинг сообщения: 0
|
Попробуйте в ярлыке программы STM32Cube выставить совместимость под Windows 7 и запустить программу от имени администратора затем попробуйте установить пакет. У меня только так получилось на windows 10 установить последние пакеты на версию куба 5.6.0 |
Вернуться наверх | |
ozzy
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Чт мар 05, 2020 22:49:19 |
||
Карма: 2 Рейтинг сообщения: 0
|
переустановка 10 ки полностью решила проблему всех ошибок |
||
Вернуться наверх | |||
Ironium
|
Заголовок сообщения: Re: STM32 CubeMX при генерации проекта выдаёт странную ошибк Добавлено: Вт июл 28, 2020 01:04:22 |
||
Зарегистрирован: Вт июл 14, 2015 06:33:29 Рейтинг сообщения: 0
|
Удаляем JAVA, запускаем кубик — ругается что нет джавы и просит установить Java 8 Update 45. |
||
Вернуться наверх | |||
Кто сейчас на форуме |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 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 – выбор среды разработки (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_for_STM32_windows_x86_v9.2.0_20181203-0921.exe
Дальше следуем подсказкам инсталлятора.
STM32CubeMX
Идем по ссылке www.st.com/en/development-tools/stm32cubemx.html.
Регистрируемся, подтверждаем регистрацию по электронной почте.
В самом низу страницы загружаем архивный файл по ссылке Get Software.
Разархивируем скачанный файл во временную папку. Запускаем файл SetupSTM32CubeMX-5.0.1.exe.
Возможно, потребуется установка Java. Ссылка для установки откроется сама.
После загрузки и установки Java надо опять запустить SetupSTM32CubeMX-5.0.1.exe и довести установку до конца.
Flash Loader Demonstrator
Ссылка на страницу загрузки www.st.com/en/development-tools/flasher-stm32.html.
Ссылка для самой загрузки (Get Software ) внизу страницы.
Разархивируем во временную папку, запускаем flash_loader_demo_v2.8.0.exe.
Следуем подсказкам инсталлятора
CoolTerm.
Можно загрузить по ссылке http://freeware.the-meiers.org.
Устанавливать не надо. Разархивировать в рабочую папку. Запускается исполняемый файл CoolTerm.exe.
В итоге у нас 4 программы – 4 ярлыка на рабочем столе.
Проверка работы программного обеспечения в комплексе с отладочной платой.
Программное обеспечение мы установили. В прошлом уроке к отладочной плате STM32103C8T6 добавили компоненты, позволяющие загружать программу во FLASH микроконтроллера.
Давайте проверим, как это все работает. Не будем особенно вдумываться, разбираться, что делаем. Просто формально выполним определенные действия.
Хотя работа с конфигуратором STM32CubeMX настолько проста и интуитивно понятна, что мы сразу научимся работать с его интерфейсом, а в регистрах и схемах микроконтроллера будем разбираться потом.
Цель – проверить, что:
- STM32CubeMX создает проект и задает правильную конфигурацию ресурсов микроконтроллера.
- IDE Atollic TrueStudio открывает проект, позволяет его редактировать и создает загрузочный файл.
- Flash Loader Demonstrator – загружает программу в микроконтроллер.
- Мы правильно припаяли к отладочной плате преобразователь интерфейсов и кнопки.
- Работает сама отладочная плата.
Разработаем и проверим программу, которая мигает светодиодом платы на 13 выводе с частотой 2 раза в секунду.
Конфигурация и создание проекта.
Создаем папку для наших проектов. У меня это d:STM32ProjectsLessonsLesson3.
Запускаем STM32CubeMX.
Ниже надписи New Project выбираем ACCESS TO MCU SELECTOR, что означает выбор типа контроллера.
При первом запуске программа загрузит необходимые файлы из Интернета и откроется окно выбора микроконтроллера.
Выберем STM32F103C8.
В верхней части страницы появится информация о выбранном микроконтроллере, можно будет загрузить техническую документацию.
Нажимаем кнопку 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…
Указываем путь к проекту.
Нажимаем Finish.
В поле 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 каждая функция, в том числе, которую объявляет программист, должна иметь прототип. Т.е. должна быть объявлена, как переменная. Прототип содержит имя функции, возвращаемое значение и аргументы. Должен быть объявлен до первого вызова функции.
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.
Компилируем проект.
Ошибок нет.
Можно закрыть проект.
Скачать архив проекта можно по ссылке:
Зарегистрируйтесь и оплатите. Всего 60 руб. в месяц за доступ ко всем ресурсам сайта!
Теперь надо загрузить исполняемый код во FLASH микроконтроллера.
Прошивка FLASH микроконтроллера.
Результат компиляции оказался в HEX-файле в папке Debug. В моем случае:
d:STM32ProjectsLessonsLesson3Lesson3_1DebugLesson3_1.hex
Именно этот файл будем прошивать в микроконтроллер.
Подключаем к компьютеру мост USB-UART. Перед этим должен быть установлен драйвер моста. Как это сделать, можно посмотреть по ссылкам PL2303 и CH340.
Преобразователь интерфейсов обязательно должен быть подключен к компьютеру до запуска программы загрузки FLASH, иначе программа не увидит виртуальный порт.
Запускаем Flash loader demonstrator.
Устанавливаем номер порта.
Нажимаем и удерживаем кнопку ПРОШИВКА.
Кратковременно нажимаем кнопку СБРОС.
Давим Next.
Если на светофоре горит зеленый — еще раз Next.
Можно посмотреть информацию о микроконтроллере и размере его FLASH.
Опять давим Next.
Выбираем Download to device.
Задаем путь к нашему HEX-файлу.
Опять Next.
Происходит загрузка FLASH микроконтроллера. Выводится сообщение о результате.
У меня успешно.
Теперь можно отпустить кнопку ПРОШИВКА, и закрыть программу.
Остается нажать кнопку СБРОС и светодиод на отладочной плате начинает мигать с частотой 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
А можно и так как на рисунке (нажмите на картинку для увеличения размера)
Следующая вкладка 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
Смотреть ВИДЕОУРОК
Post Views:
6 077