Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
3 / 3 / 1
Регистрация: 19.06.2014
Сообщений: 35

STM32F103C6T не показывает информацию после прошивки

17.11.2019, 22:41. Показов 4726. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Подскажите пожалуйста как реанимировать STM32F103C6T после прошивки?
Я сгенерировал Makefile проект с помощью STM32CubeMX, немного подправил код что бы моргал тестовый светодиод PC13.
Проект нормально собрался с помощью команды make.
Затем я загрузил его в микроконтроллер:
Code
1
$ st-flash write build/TestSTM32F103_Blink_01.bin 0x8000000
Всё прошло успешно:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
st-flash 1.5.1-12-g30de1b3
2019-11-17T20:02:25 INFO usb.c: -- exit_dfu_mode
2019-11-17T20:02:25 INFO common.c: Loading device parameters....
2019-11-17T20:02:25 INFO common.c: Device connected is: F1 Medium-density device, id 0x20036410
2019-11-17T20:02:25 INFO common.c: SRAM size: 0x5000 bytes (20 KiB), Flash: 0x10000 bytes (64 KiB) in pages of 1024 bytes
2019-11-17T20:02:25 INFO common.c: Attempting to write 3372 (0xd2c) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08000c00 erased
2019-11-17T20:02:25 INFO common.c: Finished erasing 4 pages of 1024 (0x400) bytes
2019-11-17T20:02:25 INFO common.c: Starting Flash write for VL/F0/F3/F1_XL core id
2019-11-17T20:02:25 INFO flash_loader.c: Successfully loaded flash loader in sram
  4/4 pages written
2019-11-17T20:02:25 INFO common.c: Starting verification of write complete
2019-11-17T20:02:25 INFO common.c: Flash written and verified! jolly good!
Но после этого я не могу прошивать контроллер:
Code
1
2
3
4
5
6
7
8
$ st-info --probe
Found 1 stlink programmers
 serial: 533f6e065265495459352067
openocd: "\x53\x3f\x6e\x06\x52\x65\x49\x54\x59\x35\x20\x67"
  flash: 0 (pagesize: 0)
   sram: 0
 chipid: 0x0000
  descr: unknown device
Code
1
2
3
4
5
$ st-flash write build/TestSTM32F103_Blink_01.bin 0x8000000
st-flash 1.5.1-12-g30de1b3
2019-11-17T20:15:02 INFO common.c: Loading device parameters....
2019-11-17T20:15:02 WARN common.c: Invalid flash type, please check device declaration
Unknown memory region
Вопрос: как можно восстановить микроконтроллер, что бы на нём можно было продолжать учиться?

Дополнительная информация:
Code
1
2
3
4
5
6
7
8
9
10
11
$ st-flash --version
v1.5.1-12-g30de1b3
 
$ cat /etc/lsb-release 
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=19.1
DISTRIB_CODENAME=tessa
DISTRIB_DESCRIPTION="Linux Mint 19.1 Tessa"
 
$ uname -a
Linux ******** 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Это уже второй контроллер, с первым я хотел сделать HID устройство и просто после генерации проекта сразу его собрал и залил, контроллер то же перестал определятся программатором. Хотя при подключение через USB комп его видит, т.е. на сколько я понимаю прошивка ушла нормально.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2019, 22:41
Ответы с готовыми решениями:

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

Неправильно показывает информацию
Неправильно показывает информацию о накопителе. #include <Windows.h> #include <conio.h> #include <stdio.h> void main () ...

ProgressBar не показывает нужную информацию
Имеется код в DownloadProgressChanged progressBar2.Value = percent + (int)((e.ProgressPercentage) / list.Count) ; В...

9
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
17.11.2019, 23:34
Лучший ответ Сообщение было отмечено saratan как решение

Решение

Цитата Сообщение от saratan Посмотреть сообщение
Но после этого я не могу прошивать контроллер:
в кубе когда делаешь проект ставь отладку, вкладка SYS поле DEBUG- Serial Ware
у тебя просто отключились отладочные выводы, стали обыкновенными GPIO
как исправить?
один из путей, по моему самый простой
отключаешь питание с процессора, ставишь BOOT0 в 1
если такая плата https://ru.aliexpress.com/item... lsrc=aw.ds
то просто переставь перемычку
потом запускаешь STM32 ST-LINK Utility
и стираешь микросхему
потом выключаешь плату, перемычку на место и можешь опять прошивать
1
3 / 3 / 1
Регистрация: 19.06.2014
Сообщений: 35
18.11.2019, 08:55  [ТС]
Работает! Спасибо большое!
Но теперь более сложный вопрос, а если не спрашивая на форумах, то где бы я мог найти эту информацию? Или всё есть в даташитах?
0
Эксперт .NET
 Аватар для Rius
13205 / 7733 / 1681
Регистрация: 25.05.2015
Сообщений: 23,576
Записей в блоге: 14
18.11.2019, 10:43
saratan, информацию какую именно? Как выйти из этой ситуации или как в неё не попасть?

Добавлено через 16 минут
saratan, отладка по умолчанию включена. Но если вы её не выбрали в кубе, там добавляется строка __hal_afio_remap_swj_disable().
Пользуясь кубом надо понимать, что инструмент не думает за вас и вообще не совершенен.

Как обнаружить причину:
  • Подумать;
  • Собрать минимальный проект и поизучать код;
  • Спросить в гугле, ведь наверняка эту проблему уже обнаружили и решили;
  • Спросить сразу на форуме.

Как выйти из такого состояния : оставить пины в состоянии по умолчанию. Отсюда следует, что надо не дать коду выполниться.
Способы :
  • См выше;
  • Подвесить МК при включении, создавая проблемы цепи генерации тактовой частоты;
  • Успеть подключиться до того, как отключение отладки выполнится.
1
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
18.11.2019, 11:06
просто не ты первый попадаешь в эту ситуацию, посмотри тема периодически возникает, и я пару раз нарывался
это как с фъюзами AVR, хоть раз да ошибешься
Цитата Сообщение от saratan Посмотреть сообщение
а если не спрашивая на форумах, то где бы я мог найти эту информацию?
так, спрашивай на то и форумы чтобы знаниями делится
Цитата Сообщение от saratan Посмотреть сообщение
Или всё есть в даташитах?
В даташитах конечно есть, но не в таком виде
здесь в одном вопросе лежат
что такое boot0 boot1? как они влияют на загрузку
как устроен отладчик stm?
какие режимы выводов у микросхемы?
ну и, как формирует код CubeMX

Добавлено через 21 минуту
Цитата Сообщение от Rius Посмотреть сообщение
Подвесить МК при включении, создавая проблемы цепи генерации тактовой частоты;
так STMки включаются от внутреннего генератора
0
Эксперт .NET
 Аватар для Rius
13205 / 7733 / 1681
Регистрация: 25.05.2015
Сообщений: 23,576
Записей в блоге: 14
18.11.2019, 11:22
ValeryS, а я это явление впервые встретил на ARM от другого производителя. Там ещё bootloader'а не было.

Добавлено через 9 минут
Ну и программа, отключающая отладчик, может это делать уже после настройки генератора от внешнего кварца. Как программист напишет.
0
Почетный модератор
 Аватар для Humanoid
11560 / 4354 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
19.11.2019, 00:23
Я в таких случаях под ресетом подключаюсь через обычный ST-Link по SWD. В st-flash есть аргумент --reset для этого.
1. Зажимаем кнопку ресет (если она есть) или находим конденсатор, который подключен к ресету и замыкаем его пинцетом (разумеется, предварительно нужно убедиться, что на ресет не подключено питание напрямую).
2. Запускаем перепрошивку st-flash --reset write ..... (в официальной виндовой утилите тоже есть галка для подключения под ресетом)
3. Отпускаем ресет.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
19.11.2019, 06:06
Humanoid, способ такой имеет право на жизнь
я при определенной сноровке даже под Keil-ом прошивался
но имеет два недостатка, по моему,
первый нужна сноровка,в отпускании нажимании
второй нужна кнопка, или конденсатор,иначе к ножкам не подлезешь
0
 Аватар для COKPOWEHEU
4085 / 2683 / 432
Регистрация: 09.09.2017
Сообщений: 11,936
19.11.2019, 10:03
Цитата Сообщение от saratan Посмотреть сообщение
Но теперь более сложный вопрос, а если не спрашивая на форумах, то где бы я мог найти эту информацию? Или всё есть в даташитах?
Ну, я на подобное натыкался и решил без форумов.
Экспериментировал с режимами сна и ради эксперимента отключал все выводы, так вот после отключения JTAG/SWD прошиваться тоже перестало. Но поскольку я не пользовался HAL'овой "магией", место ошибки было видно сразу. Как и решение: залить "безопасную" прошивку по UART через bootloader.
0
Почетный модератор
 Аватар для Humanoid
11560 / 4354 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
19.11.2019, 10:22
Цитата Сообщение от ValeryS Посмотреть сообщение
второй нужна кнопка, или конденсатор,иначе к ножкам не подлезешь
Производитель рекомендует ставить конденсатор на ресет. Экономия на нём может дорого стоить, поэтому на всех платах, которые я встречал, этот конденсатор присутствует. Думаю, более вероятно, что кто-то может подключить ресет напрямую к питанию. Тогда такой способ не прокатит.
Подключение под ресетом удобно в том плане, что не нужно ничего переключать. К тому же, пины BOOT не всегда выведены на джамперы и может не быть возможности их переключить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.11.2019, 10:22
Помогаю со студенческими работами здесь

Телефон LenovoA1000 - после первой прошивки 2sim карты работали в режиме Edge +2G а не 3G , после 2 прош. невидит sim ку
Описание проблемы: Здравствуйте проблемы с телефоном Lenovo A1000 Применена прошивка:...

сниффер показывает странную информацию? или я странный ?
перехожу по ссылке http://империягрез.рф/raspisanie/oktyabr.html с включенным сниффером. Он подгружает на страничку расписание сеансов...

гаджет All CPU Meter не показывает информацию о процессоре
доброго времени суток, форумчане, не могу решить проблему с гаджетом All CPU Meter на винде 7, не отображает информацию, только активность...

DVD дисковод показывает информацию с предыдущего диска
Такая проблема: Вставляю в ДВД дисковод СD диск он показывает его все без проблем, после этого вынимаю и вставляю уже другой CD диск,а...

ListBox показывает информацию только со второго запуска
Добрый день всем! Написал скрипт для получения информации о потоке ТВ по ссылке: Add-Type -AssemblyName System.Windows.Forms Add-Type...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru