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

 
 
> STM32F4: странный эффект после Erase Sector Flash
k000858
сообщение Jun 19 2014, 06:06
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Стираю определенный сектор, проверяю сектор - везде 0xFFFFFFFF (то есть чисто), перезапускаю контроллер (по питанию или дебаггером), проверяю сектор на чистоту - везде 0
Эффект проявляется в 1 из 5-30 случаев интерации цикла: включение, чтение, стирание, чтение, сброс.

Кто нибудь сталкивался с подобным?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scifi
сообщение Jun 19 2014, 06:53
Сообщение #2


Гуру
******

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



Осмелюсь предположить, что ваша программа сама записывает туда 0, вы просто этого не замечаете.
Go to the top of the page
 
+Quote Post
k000858
сообщение Jun 19 2014, 07:12
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(scifi @ Jun 19 2014, 10:53) *
Осмелюсь предположить, что ваша программа сама записывает туда 0, вы просто этого не замечаете.

нет, ну всякое конечно возможно..
именно поэтому после стирания сектора проверяю сектор на чистоту. везде 0xFF
передергиваю питание - 0 0 0 0
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 19 2014, 08:37
Сообщение #4


Гуру
******

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



Цитата(k000858 @ Jun 19 2014, 10:12) *
нет, ну всякое конечно возможно..
Дайте внешний сброс не снимая питания. Если ситуация повторится - сотрите, зажмите сброс, подключитесь отладчиком, поставьте точку останова в начале программы (в Reset_handler()), отпустите сброс и дальше по шагам.


--------------------
На любой вопрос даю любой ответ
"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
scifi
сообщение Jun 19 2014, 08:42
Сообщение #5


Гуру
******

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



Цитата(Сергей Борщ @ Jun 19 2014, 12:37) *
Дайте внешний сброс не снимая питания. Если ситуация повторится - сотрите, зажмите сброс, подключитесь отладчиком, поставьте точку останова в начале программы (в Reset_handler()), отпустите сброс и дальше по шагам.

Я обычно в самом начале программы для отладки пишу что-то такое:
Код
int volatile wait = 1;
while (wait);

Соответственно, программа начудить не может. После подключения отладчика выйти из цикла совсем не трудно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- k000858   STM32F4: странный эффект после Erase Sector Flash   Jun 19 2014, 06:06
|- - k000858   Цитата(Сергей Борщ @ Jun 19 2014, 12:37) ...   Jun 19 2014, 08:49
|- - scifi   Цитата(k000858 @ Jun 19 2014, 12:49) отла...   Jun 19 2014, 08:59
- - k000858   Итак. нашлась причина эффекта. как устранить пока ...   Jun 19 2014, 11:06
|- - Сергей Борщ   Может отладчик при запуске переписывает? Скажем, з...   Jun 19 2014, 11:13
|- - k000858   Цитата(Сергей Борщ @ Jun 19 2014, 15:13) ...   Jun 19 2014, 11:18
||- - Сергей Борщ   Цитата(k000858 @ Jun 19 2014, 14:18) обла...   Jun 20 2014, 07:16
||- - k000858   Цитата(Сергей Борщ @ Jun 20 2014, 11:16) ...   Jun 20 2014, 09:55
||- - Сергей Борщ   Цитата(k000858 @ Jun 20 2014, 12:55) дост...   Jun 20 2014, 10:18
|- - scifi   Цитата(Сергей Борщ @ Jun 19 2014, 15:13) ...   Jun 19 2014, 11:36
- - k000858   Вчера чуть голова не вспухла от таких выкрутасов. ...   Jun 20 2014, 04:20


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 14:46
Рейтинг@Mail.ru


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