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

 
 
> Вход -RST/NMI как NMI - проблема с BSL
newbart
сообщение Oct 12 2008, 12:05
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 3-02-07
Пользователь №: 25 003



Сконфигурировал вход -RST/NMI как NMI и лишился возможности шить через BSL. А надо, м/к впаян, JTAGа нет. Есть возможность исправить?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Oct 12 2008, 20:37
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Без коммутации питания никак не исправить ИМХО. Нужно сделать так, чтобы питанием кристалла при загрузке управлял интерфейс BSL. Причем в программе нужно сделать таймаут (задержку) на изменение функции входа с RST на NMI.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 12 2008, 21:19
Сообщение #3


Гуру
******

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



Цитата(rezident @ Oct 12 2008, 23:37) *
Без коммутации питания никак не исправить ИМХО. Нужно сделать так, чтобы питанием кристалла при загрузке управлял интерфейс BSL.
Да. Или чтобы он хотя бы держал низкий уровень на Reset до входа в загрузчик. И пока он держит - подать питание на контроллер вручную.


--------------------
На любой вопрос даю любой ответ
"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
rezident
сообщение Oct 12 2008, 21:37
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Сергей Борщ @ Oct 13 2008, 03:19) *
Да. Или чтобы он хотя бы держал низкий уровень на Reset до входа в загрузчик. И пока он держит - подать питание на контроллер вручную.
Не, Сергей, такой вариант не покатит. Посмотри внимательно последовательность сигналов для запуска BSL. Там два импульса TST/TCK должно пройти до того как RST отпустит. А без наличия питания подавать эти импульсы смысла нету. Самое простое это сделать задержку в программе на изменение функции RST/NMI. Или использовать один пин кристалла для идентификации подключения BSL. Если конечно имеются свободные пины.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 12 2008, 23:35
Сообщение #5


Гуру
******

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



Цитата(rezident @ Oct 13 2008, 00:37) *
Не, Сергей, такой вариант не покатит. Посмотри внимательно последовательность сигналов для запуска BSL. Там два импульса TST/TCK должно пройти до того как RST отпустит. А без наличия питания подавать эти импульсы смысла нету.
Естественно. Я имею ввиду, чтобы программа после завершения оставляла RST низким и в процессе инициализации случайно не дергала его вверх. Тогда запускаем программу один раз без кристалла вообще. Она ругается и ничего не шьет, но ставит RST в ноль. Подключаем кристалл, RST держится низким, запускаем программу - вот теперь должно получиться.
Цитата(rezident @ Oct 13 2008, 00:37) *
Самое простое это сделать задержку в программе на изменение функции RST/NMI.
А задержка как поможет? Успеть стартануть прошивальщик во время этой задержки? А если "после вчерашнего" и реакция никакая? wink.gif
Цитата(rezident @ Oct 13 2008, 00:37) *
Или использовать один пин кристалла для идентификации подключения BSL. Если конечно имеются свободные пины.
Это-то понятно... Но из первого поста я понял, что кристалл один и он уже прошит crying.gif


--------------------
На любой вопрос даю любой ответ
"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
rezident
сообщение Oct 12 2008, 23:41
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Сергей Борщ @ Oct 13 2008, 05:35) *
Это-то понятно... Но из первого поста я понял, что кристалл один и он уже прошит crying.gif
Ну при большой необходимости я распаивал проводочками JTAG прямо к выводам к TQFP-64 (шаг 0,5мм) smile.gif
Go to the top of the page
 
+Quote Post
newbart
сообщение Oct 14 2008, 14:48
Сообщение #7





Группа: Новичок
Сообщений: 4
Регистрация: 3-02-07
Пользователь №: 25 003



Спасибо всем ответившим, но проблема осталась. Из ответов я понял, что вопрос надо уточнить. Итак. Кристалл 1, он впаян. JTAGа не будет точно. Вывод в NMI конфигурирует конечно моя программа и есть обработчик прерывания. Сброс питания приводит к нормальному выполнению программы, а при попытке прошить через BSL происходит потеря синхронизации. Ну вот и вопрос - как можно исправить?
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 14 2008, 16:15
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(newbart @ Oct 14 2008, 20:48) *
Ну вот и вопрос - как можно исправить?
А все что выше для кого, спрашивается, писали-то? cranky.gif ну ладно, еще раз попробую.
Берете схему BSL из slaa096 и дорабатываете примерно так, как у меня указано. Подключаете его к кристаллу, причем подаете питание на MSP430 (и только на него) с 6 пина разъема по схеме. Далее запускаете программу Курта и пробуете для начала стереть кристалл. Если получится стереть, то дальше уже проще будет. Не забудьте только рекомендации по изменению вашей программы: введите тайм-аут после старта на перепрограммирование функции RST, чтобы еще раз в такой же просак не попасть.

Update. Не, фигню какую-то нарисовал. sad.gif Получается, что после сброса питание пропадет. Удалил.
Go to the top of the page
 
+Quote Post
newbart
сообщение Oct 15 2008, 15:40
Сообщение #9





Группа: Новичок
Сообщений: 4
Регистрация: 3-02-07
Пользователь №: 25 003



Цитата(rezident @ Oct 14 2008, 20:15) *
А все что выше для кого, спрашивается, писали-то?

Так ведь не помогло!
Go to the top of the page
 
+Quote Post



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

 


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


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