Перейти к содержанию

STM32 Cube - Как прошить плату?


sv_lary

Рекомендуемые сообщения

В микропроцессорах я новичёк, раньше занимался только программированием.  Надо освоить STM32. (Плата Stm32F0-Discovery) Почитал, посмотрел ролики, вроде бы разобрался. Сделал первый пример - прошил, проверил.

Перехожу к второму и тут - затык совершенно непонятный. После того, как подготовил проект и пытаюсь его прошить и запустить отладку, возникают разные странные ситуации. Как то:

1.  Ничего не происходит. Горит два красных LED-а (питание и связь) и всё... В консоли только сообщение о завершении прошивки
2. Дебагер вроде-бы запускается, я "иду" по контрольным точкам, но на самом деле ничего не делается - в реальности.
3. Программа запускается и работает. Такое тоже бывает. :-)
4. Запускается программа из самого первого примера. Откуда она берётся - ума не приложу!!!

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

Сейчас пытаюсь работать на CubeIDE 1.7.0

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

первые шаги всегда даются не просто. По вашему описанию трудно что-то понять конкретно. Пара недель практики возможно решит много вопросов

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

17 минут назад, mail_robot сказал:

Пара недель практики возможно решит много вопросов

Может быть и так. Но Вам достаточно 5 минут, что бы написать простой ответ вида:

Для прошивки проекта на плату и запуска отладчика необходимо сделать:

1. Нажимаем кнопку А
2. Нажимаем кнопку Б
3. В открывшемся окне заполняем поле...
....

Я прошу Вас только об этом.
 

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

не, тут такой рецепт не прокатит. Это не егэ сдавать где на простой вопрос есть однозначный ответ

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

16 часов назад, mail_robot сказал:

на простой вопрос есть однозначный ответ

Т.е. вопрос о том, как прошить палату - это сложный вопрос ?

И на него нет однозначного ответа?

Позвольте в этом усомниться :-) Если Вы не знаете, как поставить парус при боковом ветре, то это не означает, что ответ на этот вопрос - сложный и неоднозначный :-)

Ссылка на комментарий
Поделиться на другие сайты

подключи программатор и зашивай. Настраивать там ничего не требуется. Дело у тебя не в этом

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, sv_lary сказал:

Т.е. вопрос о том, как прошить палату - это сложный вопрос ?

И на него нет однозначного ответа?

Да. Способов прошивки много и не все они работают со всеми контроллерами.

Но можете начать с простого:

openocd -f interface/stlink-v2.cfg -f target/stm32f0.cfg -c "init" -c "reset halt" -c "flash write_image erase "$(frmname).bin" 0x08000000" -c "reset run" -c "exit"

 

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

40 минут назад, COKPOWEHEU сказал:

Способов прошивки много

Мне не нужно много :-)  Мне нужен один.
 

 

40 минут назад, COKPOWEHEU сказал:

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

Мне не нужно со всеми. Мне нужно с STM32F0.

 

 

40 минут назад, COKPOWEHEU сказал:

можете начать с openocd

Но я спрашивал про CTM32CubeIDE. Между ними есть какая-то связь?

Изменено пользователем sv_lary
Ссылка на комментарий
Поделиться на другие сайты

...Запускается программа из самого первого примера...

Вот отсюда работайте. Тот файл, с первой программой, очистите, и запишите в него свою программу.

Ссылка на комментарий
Поделиться на другие сайты

Ну вот плата как-то прошилась. Я сам не понял - как. :-(

Но после отключения питания и повторного включения сервы начинают бодро крутиться. Как бы ещё понять, что я сделал не так, как раньше...  :-(

И возник другой вопрос. Я в программе вставил несколько операторов printf(...) - а как посмотреть, что они выводят?

Ссылка на комментарий
Поделиться на другие сайты

никак не посмотреть штатными средствами. Это не ардуино. Охота отладку в консоли - надо прикрутить FTDI свисток

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

3 hours ago, sv_lary said:

как посмотреть

При подключении платы Stm32F0-Discovery в компьютере появляется новый com-порт. С помощью любой терминальной программы, например TeraTerm, можно подключиться к этому потру и принимать сообщения printf().

Изменено пользователем Yurkin2015
Ссылка на комментарий
Поделиться на другие сайты

13 часов назад, Yurkin2015 сказал:

появляется новый com-порт.

Появляется новое устройство : /dev/stlinkv2_1 но это не СОМ-порт. При попытке подключиться к нему из PuTTY выдаёт сообщение о том, что "Попытка выполнить недопустимую операцию...". Я нашёл в доке, как это организовать - не так уж и просто. Это дело прописано в документе UM2609.pdf - "CubeIDE User Guide" на странице 91 раздела 2.6. Поскольку сам ещё не проверил - описывать не буду.

Ссылка на комментарий
Поделиться на другие сайты

22 часа назад, sv_lary сказал:

Но я спрашивал про CTM32CubeIDE. Между ними есть какая-то связь?

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

И вам предложил один из двух способов, которые точно работают.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Да, с STM32 в действительности все не так, как на самом деле. Недавно возникла нужда прошить проц, я долго чесал дыню и думал, чем бы его того. А потом нагуглил такую утилитку, как STM32CubeProgrammer. Скачал с сайта STM и все прошло вполне успешно - бинарник залился, заработал и даже почти удовлетворил мои хотелки :) Попробуйте, вдруг и Вам поможет.

 

А что касается Ваших слов, что никаких видимых признаков работы проекта, посмотрите, у Вас ининциализация процессора корректно проходит? STM32 - они в этом плане ох как нервно делаются, легче с фьюзами в AVR разобраться, чем с тактированием STM :) 

Ссылка на комментарий
Поделиться на другие сайты

В 16.01.2022 в 03:24, Ушик сказал:

легче с фьюзами в AVR разобраться, чем с тактированием STM

ето если читать в школе не учили совсем. Не надо страшилок, с стм все намного проще чем даже с ардуино

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, mail_robot сказал:

ето если читать в школе не учили совсем. Не надо страшилок, с стм все намного проще чем даже с ардуино

Раньше в школе не учили читать, писать и расставлять запятые, так что да, идите в ногу со временем и ничего не бойтесь :) 

Ссылка на комментарий
Поделиться на другие сайты

В 16.01.2022 в 00:24, Ушик сказал:

ининциализация процессора корректно проходит?

А как это определить? В исходном состоянии на плате горят красным два LED - питание и связь. После того, как я в CubeIDE нажимаю кнопку "Run", один из них начинает мигать... Нажимаю "Stop" - мигание прекращается. И что это значит?

Проблема в том, что при этом никаких видимых реальной работы прошивки я не наблюдаю - сервы не двигаются. Хотя иногда (я не знаю почему) вдруг начинают работать.

 

Я подозреваю, что дело тут не в том. что прошивка не идёт (в окне CubeIDE пишется, что прошивка завершена и проверена), а в том. что я либо пишу не то, либо запускаю не так.

Поэтому и прошу ещё раз - покажите, как в CubeIDE прошить и запустить проект.

Ссылка на комментарий
Поделиться на другие сайты

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

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

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

13 часов назад, mail_robot сказал:

легко узнается из отладчика

Да вот в том то и проблема, что отладчик показывает какую-то ересь... Я говорю "Debug" и он показывает. что я встал на первую строку программы. Иду далее по "Step ower", вроде как всё нормально, но когда я дохожу до работы с ШИМ, я вижу, что в реальности не происходит ничего! Т.е. управление не работает. Такое впечатление, что отладчик отлаживает какую-то другую программу, а мой листинг - полная фикция.

 

 

13 часов назад, mail_robot сказал:

для начала хотябы с ардуино попробовать

Ну я уже долго работал со встроенными системами и с ARM и с PowerPC. Но чисто как программист, в пар с мужиком электронщиком, который и платы сам разводил и PLIS-ки прожигал. А тут пришлось делать самому всё...

Ссылка на комментарий
Поделиться на другие сайты

в таком случае не думаю что тут вам чем то еще помогут. Контроллер шьется

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...