Перейти к содержанию
    

Вход -RST/NMI как NMI - проблема с BSL

Сконфигурировал вход -RST/NMI как NMI и лишился возможности шить через BSL. А надо, м/к впаян, JTAGа нет. Есть возможность исправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть возможность исправить?
Рассуждения чисто умозрительные, так что не пинайте, если неверные: Конфигурирует ваша программа. Значит, если не дать ей стартануть, загрузчик должен заработать. Не дать стартануть можно в момент подачи питания, подтянув вход сброса к земле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Без коммутации питания никак не исправить ИМХО. Нужно сделать так, чтобы питанием кристалла при загрузке управлял интерфейс BSL. Причем в программе нужно сделать таймаут (задержку) на изменение функции входа с RST на NMI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Без коммутации питания никак не исправить ИМХО. Нужно сделать так, чтобы питанием кристалла при загрузке управлял интерфейс BSL.
Да. Или чтобы он хотя бы держал низкий уровень на Reset до входа в загрузчик. И пока он держит - подать питание на контроллер вручную.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да. Или чтобы он хотя бы держал низкий уровень на Reset до входа в загрузчик. И пока он держит - подать питание на контроллер вручную.
Не, Сергей, такой вариант не покатит. Посмотри внимательно последовательность сигналов для запуска BSL. Там два импульса TST/TCK должно пройти до того как RST отпустит. А без наличия питания подавать эти импульсы смысла нету. Самое простое это сделать задержку в программе на изменение функции RST/NMI. Или использовать один пин кристалла для идентификации подключения BSL. Если конечно имеются свободные пины.

post-3882-1223847489_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это-то понятно... Но из первого поста я понял, что кристалл один и он уже прошит :crying:
Ну при большой необходимости я распаивал проводочками JTAG прямо к выводам к TQFP-64 (шаг 0,5мм) :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем ответившим, но проблема осталась. Из ответов я понял, что вопрос надо уточнить. Итак. Кристалл 1, он впаян. JTAGа не будет точно. Вывод в NMI конфигурирует конечно моя программа и есть обработчик прерывания. Сброс питания приводит к нормальному выполнению программы, а при попытке прошить через BSL происходит потеря синхронизации. Ну вот и вопрос - как можно исправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот и вопрос - как можно исправить?
А все что выше для кого, спрашивается, писали-то? :cranky: ну ладно, еще раз попробую.

Берете схему BSL из slaa096 и дорабатываете примерно так, как у меня указано. Подключаете его к кристаллу, причем подаете питание на MSP430 (и только на него) с 6 пина разъема по схеме. Далее запускаете программу Курта и пробуете для начала стереть кристалл. Если получится стереть, то дальше уже проще будет. Не забудьте только рекомендации по изменению вашей программы: введите тайм-аут после старта на перепрограммирование функции RST, чтобы еще раз в такой же просак не попасть.

 

Update. Не, фигню какую-то нарисовал. :( Получается, что после сброса питание пропадет. Удалил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что именно вы делали/предпринимали?

Делал вот что:

1 выключил питание устройства, разрядил емкости;

2 отсоединил вывод ресет от программатора;

3 закоротил ресет на землю;

4 подключил программатор;

5 отпустил ресет - заработала программа ранее зашитая в MSP, восстановил соединение вывода ресета к программатору;

6 в исходнике из slaa096 в функции bslReset закомментировал начальные строки дерганья ресета (те что для To charge capacitor on boot loader hardware), откомпилил, запустил с ключом +e;

7 получил ошибку синхро + реакцию на устройстве на NMI;

8 все.

Поскольку у меня в программе WDTNMIES=0, а активация BSL происходит по переходу с 0 в 1 на ресет, когда TEST=1 по-моему ничего вылечить не получится :crying:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Видимо нужно аппаратно формировать времянку запуска BSL, а потом уже подключенным впараллель программатором стирать кристалл. Либо пересилить лень и припаять-таки четыре провода к пинам JTAG ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...