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

 
 
> Mega128 - самопроизвольная установка Lock Bits, Ситуация странная, программатор не дает изменить
Polaris
сообщение Nov 18 2008, 13:18
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964



Доброго всем времени суток!

У меня с одной из плат случилась небольшая заминка, объяснить которую я не могу. Плата некоторое время была у заказчика (соответственно, там никакой информации о неправомерных действиях не вытрясти). Сейчас забрали ее назад, все прекрасно работает, но как только начал пользоваться своим загрузчиком, обнаружил, что он реагирует на команды, демонстрирует процесс прошивки, но ничего во флэш не прошивает. Проверка Lock Bits выяснила, что стоит запрещение использования SPM/LPM как в секции кода, так и в секции бутлоадера. Мемори лок не установлен, поэтому программа шьется через JTAGICE нормально (LockBit=0xC3).
Попытка изменить локи ни к чему не приводит, JTAGICE пробует это сделать, но безуспешно. Как я мог изменить их раньше - тоже не знаю, подозреваю, что это произошло у заказчика.
Плата единственная в своем роде, до сих пор с подобным поведением не сталкивался, загрузчик работал без вопросов.
С чем может быть связано такое поведение? Отчего установились локи? Может быть, кто-то уже встречал подобное???
Спасибо за ответы!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Polaris
сообщение Nov 21 2008, 22:37
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964



Сегодня ситуация повторилась. Произошло это при заливании прошивки из-под IAR при помощи JTAGICE (копия). Плата та же самая, хотя работаю не только с ней. Прошивка удачно залилась, но затем обнаружилось, что установлены те же LockBits. Может ли это быть связано с битым контроллером? Не встречалось ли ни у кого подобного?
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 17 2009, 22:28
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Мало данных.
1. Та же самая плата или в этот раз другая

>> Произошло это при заливании прошивки из-под IAR при помощи JTAGICE (копия).
2. При заливании или после (напр откл/вкл питания)?

Если есть подозрения насчет сбоя, можно- вместо бутлоадера залить в BOOT секцию код ловушки
Напр всю секцию забить парами команд:

LDR R16, i
RJMP print_r16

LDR R16, i + 1
RJMP print_r16
...
LDR R16, n
RJMP print_r16

или если есть возможность зарезервировать один из регистров чтобы компилятор его не пользовал, забить таким кодом:

inc RR
inc RR
...
inc RR
rjmp print_rr - в самой последней ячейке флеш.

(или чем-то подобным)
Погонять плату в работе с этими ловушками. Словите - считайте подтвердили свою догадку... Два раза словите - хорошо, а если еще в r16 будет одинаковое число, то совсем прекрасно, остается только найти какой указатель принимает такое значение в основной программе..
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 07:03
Рейтинг@Mail.ru


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