Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 1 / 0
Регистрация: 16.09.2022
Сообщений: 74

EmBitz и Blue Pill

16.07.2025, 17:36. Показов 5080. Ответов 63
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Остановился на IDE EmBitz, который создан на основе знакомого мне CodeBlocks. Сделал проект мигания индикатором на основе кодов из темы. С помощью Build target проверил проект - ошибок не обнаружено. Затем c помощью Flash Target и ST-Link записал проект на плату. Переставил Boot0 на 0 и сделал сброс. Никакого мигания. Проект прикрепил. Помогите, пожалуйста, разобраться.
Вложения
Тип файла: 7z 01_bzC6_CMSIS.7z (122.1 Кб, 26 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.07.2025, 17:36
Ответы с готовыми решениями:

Отладка платы STM32F103C8T6 (Blue Pill) через st-link/v2
Здравствуйте! Подскажите как отлаживать STM32F103C8T6 используя оригинальный программатор...

Запустить экран на ILI9341 с платой Blue Pill
Всем здравствуйте и с наступающим. Приобрел дисплей на Али, пробовал его запустить разными...

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

63
Эксперт .NET
 Аватар для Rius
13848 / 7890 / 1707
Регистрация: 25.05.2015
Сообщений: 23,957
Записей в блоге: 14
24.07.2025, 17:59
Студворк — интернет-сервис помощи студентам
В своём репозитории на гитхабе, где-то в 2020 примерно. Репозиторий удалён.
Где вы её берёте, не знаю. Сайт embitz.org ведёт на укропропаганду. На форумах пишут про выпиливание гадости, что русофобии там выше крыши, начиная с установщика.
В общем, нафиг такое счастье...
0
Эксперт по электронике
7207 / 3386 / 346
Регистрация: 28.10.2011
Сообщений: 13,317
Записей в блоге: 7
24.07.2025, 18:01
Цитата Сообщение от Rius Посмотреть сообщение
Увы, данный проект закрыт его автором.
Закрыт для РФ с 2022 года. Разработка продолжается. Зайти на сайт можно через прокси с европейским или американским / канадским IP.
Цитата Сообщение от Rius Посмотреть сообщение
ST выкатили свою IDE, на базе Eclipse
Не нравятся мне IDE на базе Eclipse из-за их тормозов.
Цитата Сообщение от Starostin Посмотреть сообщение
Значит версия 2.62 - последняя?
Текущая версия 2.64, выпущенная в мае этого года.
0
Эксперт .NET
 Аватар для Rius
13848 / 7890 / 1707
Регистрация: 25.05.2015
Сообщений: 23,957
Записей в блоге: 14
24.07.2025, 18:03
Цитата Сообщение от locm Посмотреть сообщение
Зайти на сайт можно через прокси с европейским или американским / канадским IP.
Может и можно, но зачем ставить явно вражеский продукт, который может принести с собой заразу?

Цитата Сообщение от locm Посмотреть сообщение
Не нравятся мне IDE на базе Eclipse из-за их тормозов.
Мне тоже. Поэтому пользуюсь VScode.
0
Эксперт по электронике
7207 / 3386 / 346
Регистрация: 28.10.2011
Сообщений: 13,317
Записей в блоге: 7
24.07.2025, 18:05
Цитата Сообщение от Rius Посмотреть сообщение
На форумах пишут про выпиливание гадости, что русофобии там выше крыши, начиная с установщика.
Вот поэтому нужно использовать версию не выше 2.30, выпущенную до 2022 года. В ней гадостей нет.
1
Эксперт .NET
 Аватар для Rius
13848 / 7890 / 1707
Регистрация: 25.05.2015
Сообщений: 23,957
Записей в блоге: 14
24.07.2025, 18:07
Хотел было сказать, что опенсорс нифига не гарантирует жизни проекта...
Но тут ещё хуже - весь этот якобы опенсорс поворачивается как флюгер, забыв про все ранее декларируемые принципы.
0
Эксперт по электронике
7207 / 3386 / 346
Регистрация: 28.10.2011
Сообщений: 13,317
Записей в блоге: 7
24.07.2025, 18:09
Цитата Сообщение от Rius Посмотреть сообщение
весь этот якобы опенсорс
Исходников в сети нет. Те что были, неполные и их недостаточно для сборки IDE.
0
0 / 1 / 0
Регистрация: 16.09.2022
Сообщений: 74
24.07.2025, 18:20  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Текущая версия 2.64, выпущенная в мае этого года.
А сайт тот же: https://www.embitz.org?
Цитата Сообщение от Rius Посмотреть сообщение
Мне тоже. Поэтому пользуюсь VScode.
А я бы воспользовался QTCreator, только мне нужно для Windows. Я посмотрел темы и у меня сложилось впечатление, что настроить его для программирования STM32 при использовании HAL в Windows очень сложно. А в EmBitz все уже настроено и можно использовать различные технологии.
0
Эксперт .NET
 Аватар для Rius
13848 / 7890 / 1707
Регистрация: 25.05.2015
Сообщений: 23,957
Записей в блоге: 14
24.07.2025, 18:22
Цитата Сообщение от Starostin Посмотреть сообщение
что настроить его для программирования STM32 при использовании HAL в Windows очень сложно
Наверняка не сложнее, чем Qt из исходников собрать. Просто надо найти мануал или знающего человека.
Цитата Сообщение от Starostin Посмотреть сообщение
только мне нужно для Windows
Так и я на винде, VSCode успешно работает.
0
Эксперт по электронике
7207 / 3386 / 346
Регистрация: 28.10.2011
Сообщений: 13,317
Записей в блоге: 7
24.07.2025, 18:24
Цитата Сообщение от Starostin Посмотреть сообщение
А сайт тот же: https://www.embitz.org?
Да.
0
0 / 1 / 0
Регистрация: 16.09.2022
Сообщений: 74
24.07.2025, 19:47  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Так и я на винде, VSCode успешно работает.
Хотел бы попробовать и VSCode. Поищу информацию в интернете по настройке его для программирования STM32. Если будут проблемы или вопросы - поможете?
0
Эксперт .NET
 Аватар для Rius
13848 / 7890 / 1707
Регистрация: 25.05.2015
Сообщений: 23,957
Записей в блоге: 14
24.07.2025, 19:56
Ага.
0
0 / 1 / 0
Регистрация: 16.09.2022
Сообщений: 74
25.07.2025, 10:22  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Размер hex-файла?
Размер прошивки релиза 20724 байт, но может незначительно отличатся в зависимости от настроек оптимизации и других.
Я начинающий, после прочтения различной информации в интернете у меня не появилось понимание процесса прошивки, поэтому прошу помочь мне ответами (или ссылками, если подробные и понятные начинающему ответы на эти вопросы есть в интернете) на следующие вопросы:
1. Когда я передвигаю Boot0 в 1, то запускается системный загрузчик, зашитый в МК на заводе?
2. При таком положении что делают IDE при прошивке - считывает весь hex файл, вызывает системный загрузчик с параметрами (путь к файлу и параметр, который указывает необходимость прошивки) и системный загрузчик прошивает флэш?
3. Сейчас у меня прошивка проходит успешно с помощью ST-Link при положении Boot0=0. Как IDE (Keil или EmBitz) прошивает флэш? Вызывает ST-Link с опцией пути к hex-файл и тот уже прошивает флэш? Как у ST-Link получается прошивать флэш без системного загрузчика
4. Чем отличается hex-файл от прошивки, для чего нужен hex-файл, почему нельзя сразу прошить прошивку, а нужен hex-файл? EmBitz после компиляции проекта (hex-файл 35 кб) дает такую информацию:
C
1
2
3
4
5
Program size (bytes):   12948
Data size    (bytes):      16
BSS size     (bytes):     144
            ----------------
Total size   (bytes):   13108   (R/W Memory: 160)
Total size - это размер прошивки? А R/W Memory: 160 - что это за параметр? Если в вопросах я неправильно использую термины - укажите, пожалуйста, ошибки.
0
Эксперт .NET
 Аватар для Rius
13848 / 7890 / 1707
Регистрация: 25.05.2015
Сообщений: 23,957
Записей в блоге: 14
25.07.2025, 10:33
1. Когда пины BOOT0 и BOOT1 ставятся в определённое положение, выполнение запускается с определёного адреса. Таблица того, что запускается, тут приводилась, и в дашашите есть. Системный загрузчик прошит в ROM на заводе.
2. Запускать его нужно только при его использовании. При прошивке через JTAG/SWD никакой необходимости в нём нет.
Разве что вы не подключили пины PA13/PA14 к модулю SWD. Загрузчик их оставляет по умолчанию, поэтому при запущенном загрузчике SWD работает по умолчанию. Это лишь один из workaround'ов этой проблемы.
3. JTAG/SWD шьют напрямую.
4. А что такое прошивка (сущность), по вашему? Машинный код программы, который следует зашить в МК, может быть представлен как в виде бинарного файла, так и в виде HEX файла. При прошивке бинарного файла придётся указывать адреса, куда писать, а также в нём нет пустых областей. В HEX же присутствуют адреса для записи, контрольные суммы для контроля данных, возможны пустые области.

Добавлено через 2 минуты
Цитата Сообщение от Starostin Посмотреть сообщение
Total size - это размер прошивки? А R/W Memory: 160 - что это за параметр?
Total size да.
R/W Memory - объем, выделенный для чтения/записи (read/write) вашей выполняющейся программе.
1
0 / 1 / 0
Регистрация: 16.09.2022
Сообщений: 74
25.07.2025, 10:59  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
1. Когда пины BOOT0 и BOOT1 ставятся в определённое положение
Спасибо большое за обстоятельные ответы!
0
Эксперт .NET
 Аватар для Rius
13848 / 7890 / 1707
Регистрация: 25.05.2015
Сообщений: 23,957
Записей в блоге: 14
25.07.2025, 10:59
В общем, про отвал SWD...

Если вы отключили пины SWD (здесь это вроде PA134/PA14) от модуля SWD, то прошивка/отладка через SWD, очевидно, работать не будет.
Чтобы заработала, надо подключить эти пины обратно к модулю SWD.
По умолчанию они и так подключены, поэтому вы их именно отключили (или не сконфигурировали в Cube).
Поэтому способ возврата функциональности - вернуть, собственно, в состояние по умолчанию.

1. В состоянии по умолчанию они пребывают, если запустить загрузчик (он их не меняет). Поэтому проще всего запустить его.
2. Если внешнее управление пинами для запуска загрузчика недоступно (например, не отладочная плата), можно стартануть микроконтроллер несколько раз, подловив момент, когда он уже запустился, но ещё не выполнил код отключения пинов от SWD.
3. Можно также стартануть МК при закороченном кварце, на который (если таковое используется) переключается программа. Если это произойдёт до отключения пинов от SWD, то SWD останется доступен.
4. Можно также стартануть МК несколько раз и подвесить программу в нём, сломав последовательность инициализации периферии. Например, если проверка запуска RTC словит фейл и программа уйдёт в какой-нибудь HardFault или вывод сообщения об ошибке. Если это произойдёт до отключения пинов от SWD, то SWD также останется доступен.

В серийном устройстве, если от этих пины нужна альтернативная (не SWD) функциональность, можно отключать их от SWD через несколько секунд после запуска программы. Это даст спокойное время на запуск отладчика, при необходимости.
0
0 / 1 / 0
Регистрация: 16.09.2022
Сообщений: 74
25.07.2025, 11:29  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Ага.
Хотел бы получить Ваши советы относительно установки VSCode. С точки зрения удобства обновления и настройки что лучше установить - портативную или обычную (инсталлятор) версию? На мой взгляд, удобнее установить портативную версию, ее настроить, а потом просто обновлять файлы VSCode из архивов новых версий. Хотел бы узнать Ваше мнение.
0
Эксперт .NET
 Аватар для Rius
13848 / 7890 / 1707
Регистрация: 25.05.2015
Сообщений: 23,957
Записей в блоге: 14
25.07.2025, 11:39
Инсталлятором для текущего пользователя.
VSCode обновляется автоматически с сервера.
0
1518 / 533 / 78
Регистрация: 22.09.2023
Сообщений: 1,696
25.07.2025, 11:44
Цитата Сообщение от Rius Посмотреть сообщение
4. Можно также стартануть МК несколько раз
5. Можно подключить к отладчику ногу сброса (для начинающего - она называется RESET) и выбрать в настройках отладчика что-то вроде "connect under reset" - тогда отладчик перед подключением утянет эту ногу к земле сбросив контроллер в исходное состояние и блокируя выполнение программы, не давая тем самым ей перенастроить ноги SWD или неправильно настроить ФАПЧ (PLL), подключится в таком состоянии к ядру, остановит его и только после этого отпустит ногу сброса.
1
0 / 1 / 0
Регистрация: 16.09.2022
Сообщений: 74
25.07.2025, 12:41  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
В общем, про отвал SWD...
После Вашего сообщения я понял. что очень плохо разбираюсь в отладке. Хотя я и раньше это подозревал.
Цитата Сообщение от Rius Посмотреть сообщение
Если вы отключили пины SWD (здесь это вроде PA13/PA14) от модуля SWD, то прошивка/отладка через SWD, очевидно, работать не будет.
На плате я не нашел надписей А13 и А14. Это просто другие названия для SWDIO (PA13) и SWCLK (PA14), которые указаны под 4 штырьками для подключения программатора или UART? Отключили от чего или подключили к чему? Как их можно отключить/подключить? Отключить установкой определенного бита в определенном регистре?
Цитата Сообщение от Rius Посмотреть сообщение
По умолчанию они и так подключены, поэтому вы их именно отключили (или не сконфигурировали в Cube).
Правильно ли я понимаю, что если в CubeMX в разделе SYS выбрано No Debug, то они отключаются, а если выбран один из вариантов отладки - то включены? Я прикрепил скриншот. Как я понимаю, у меня сейчас пины 13 и 14 подключены. В каких случаях нужно при отладке Serial Wire включать флажок System Wake-Up?
Миниатюры
EmBitz и Blue Pill  
0
Эксперт по электронике
7207 / 3386 / 346
Регистрация: 28.10.2011
Сообщений: 13,317
Записей в блоге: 7
25.07.2025, 12:56
Цитата Сообщение от Starostin Посмотреть сообщение
Когда я передвигаю Boot0 в 1, то запускается системный загрузчик, зашитый в МК на заводе?
Запускается при старте / перезагрузке МК.
Цитата Сообщение от Starostin Посмотреть сообщение
При таком положении что делают IDE при прошивке - считывает весь hex файл, вызывает системный загрузчик с параметрами (путь к файлу и параметр, который указывает необходимость прошивки)
Если прошивка производится через JTAG / SWD, она заливается во флеш через модуль отладки. Системный загрузчик для этого не используется.
Системный загрузчик находится внутри микроконтроллера и он не имеет доступа к файлам на ПК. Ему нужно передать поток байт в бинарном виде (а не в текстовом как в hex файле) используя протокол поддерживаемый загрузчиком
Цитата Сообщение от Starostin Посмотреть сообщение
Как IDE (Keil или EmBitz) прошивает флэш? Вызывает ST-Link с опцией пути к hex-файл и тот уже прошивает флэш?
ST-Link это аппаратное устройство подключенное к USB и его нельзя вызывать как приложение. Ему нужно передавать данные по USB согласно протоколу поддерживаемому ST-Link.
Цитата Сообщение от Starostin Посмотреть сообщение
Как у ST-Link получается прошивать флэш без системного загрузчика
Он отладчик. Интерфейс отладки в МК имеет доступ к ядру и периферии. Вот и шьет во флеш. А может залить прошивку в ОЗУ.
Цитата Сообщение от Starostin Посмотреть сообщение
Чем отличается hex-файл от прошивки
https://ru.wikipedia.org/wiki/Intel_HEX
Цитата Сообщение от wikipedia
Intel HEX — формат файла, предназначенного для представления произвольных двоичных данных в текстовом виде.
Цитата Сообщение от Starostin Посмотреть сообщение
почему нельзя сразу прошить прошивку, а нужен hex-файл?
Не обязательно. Прошивка для МК может быть в разных форматах - elf, hex, bin.
При заливке она преобразуется в бинарный вид.
Цитата Сообщение от Starostin Посмотреть сообщение
Total size - это размер прошивки?
Размер это "Program size" + "Data size".
Цитата Сообщение от Starostin Посмотреть сообщение
А R/W Memory: 160 - что это за параметр?
Это сколько байт занимают переменные в ОЗУ.
"Data size" это объем ОЗУ данные в которое переносятся при старте из флеша. Это могут быть строки, инициализированные глобальные переменные, массивы и др.
"BSS size" это объем ОЗУ заполненный нулями. Обычно это глобальные переменные которым не присвоено значение.

Цитата Сообщение от Starostin Посмотреть сообщение
Это просто другие названия для SWDIO (PA13) и SWCLK (PA14), которые указаны под 4 штырьками для подключения программатора или UART?
На PA13 и PA14 не выводится аппаратный UART.
Цитата Сообщение от Starostin Посмотреть сообщение
Отключили от чего или подключили к чему?
PA13 и PA14 можно настроить как обычные порты ввода / вывода и тогда эти выводы отключаются от модуля отладки. Поищите в документации по слову Remap.
Цитата Сообщение от Starostin Посмотреть сообщение
Как их можно отключить/подключить? Отключить установкой определенного бита в определенном регистре?
Да.
Цитата Сообщение от Starostin Посмотреть сообщение
Правильно ли я понимаю, что если в CubeMX в разделе SYS выбрано No Debug, то они отключаются, а если выбран один из вариантов отладки - то включены?
Типа того.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.07.2025, 12:56

Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
Всем доброго времени суток, хотел поделиться своим проектом 3-x портового USB-Serial адаптера...

[STM32F103C8T6, он-же Blue Pill] - SPI1, CMSIS - пример
Доброго времени суток, уважаемые участники форума! Подскажите пожалуйста, есть ли где готовый...

Настройка IAR Embedded Workbench for ARM для работы с симулятором и blue pill
Здравствуйте! Установил триальную версию IAR Embedded Workbench for ARM. Создал проект с файлом...

BLUE PILL не могу запустить в ПРОТЕУСЕ
Пытаюсь освоить STM32, в частности Blue Pill. Привык сначала что либо делать в Протеусе. Скачал...

Программирование Blue Pill с помощью CMSIS (начинающий)
Хотелось бы самому научиться правильно работать с регистрами без использования готового кода в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru