реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> STM32 перестал определяться. Максимальный размер кода?
dzusan
сообщение Dec 24 2014, 00:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-05-13
Пользователь №: 76 790



Пишу проект для STM32F030F4P6. У него как известно 16 Кб флеша. По ходу дела писал, отлаживал, все работало. После последних изменений в коде компилятор выдал

CODE
Program Size:
text data bss dec hex filename
12972 2212 148 15332 3be4 TinyModule.elf

Прошил, работает. Но теперь программатор его не видит. Взял другой такой же, прошил в него - то же самое. Сомневаюсь, конечно, в том, что проблема в размере кода. Как вообще возможно обычной прошивкой сломать МК?
Go to the top of the page
 
+Quote Post
vovanse
сообщение Dec 24 2014, 01:33
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 14-02-06
Из: Кемерово
Пользователь №: 14 293



Цитата(dzusan @ Dec 24 2014, 07:47) *
Но теперь программатор его не видит. Взял другой такой же, прошил в него - то же самое. Сомневаюсь, конечно, в том, что проблема в размере кода. Как вообще возможно обычной прошивкой сломать МК?


Можно, например, задать неверную частоту ядра. Или отправить в sleep режим. Или изменить режим выводов, которые используются программатором. Он не сломается, но программатор не будет подключаться. Попробуйте стереть прошивку в контроллере с помощью ST-Link utility, подключившись в режиме "Connect under reset".

P.S. Если прошивка работает, а программатор не может подключиться - быстрее всего изменили настройки PA13,PA14 (если ST-Link используете)
Go to the top of the page
 
+Quote Post
VAI
сообщение Dec 24 2014, 05:50
Сообщение #3


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



А с защитой от копирования Вы случайно там не баловались?
Если не ставили уровень защиты "Level_2" или вообще не баловались с защитой от копирования, тогда можно использовать "STM32 and STM8 Flash loader demonstrator" и стереть Вашу прошивку через RS-232.


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 24 2014, 07:21
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(vovanse @ Dec 24 2014, 04:33) *
Попробуйте стереть прошивку в контроллере с помощью ST-Link utility, подключившись в режиме "Connect under reset".

Ещё можно подтянуть ножку BOOT к нужному уровню, чтобы не запускалась прошивка, и подключиться программатором.
Go to the top of the page
 
+Quote Post
dzusan
сообщение Dec 24 2014, 09:14
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-05-13
Пользователь №: 76 790



vovanse
"Connect under reset" уже пробовал. А разве можно перенастроить PA13,14 без специальных опций (аля отключить SWD)? Т.е. предположим если я напишу в коде GPIO13,14 - настроить на выход, то программатор уже не приконнектится? Просто гипотетичестки такая вероятность есть.
VAI, scifi
Защиту не трогал. Попробую.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 24 2014, 22:42
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(dzusan @ Dec 24 2014, 11:14) *
А разве можно перенастроить PA13,14 без специальных опций (аля отключить SWD)?
Да, можно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
vovanse
сообщение Dec 25 2014, 03:21
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 14-02-06
Из: Кемерово
Пользователь №: 14 293



Цитата(dzusan @ Dec 24 2014, 16:14) *
если я напишу в коде GPIO13,14 - настроить на выход, то программатор уже не приконнектится


Именно так и будет. "Connect under reset" как пробовали? Нужно
1. Установить у удерживать ножку NRST = 0
2. В ST-Link utity Нажать "Connect" (режим "Connect under reset")
3. Сразу же отпустить NRST

После этого должен подключиться.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 17:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01397 секунд с 7
ELECTRONIX ©2004-2016