Как определить начало сессии ICSP? - PullRequest
0 голосов
/ 06 февраля 2019

Моя доска может быть запущена с пустого рисунка и без проблем запрограммирована через ICSP, но во время работы начало сеанса программирования может привести к опасному поведению.

Как определить начало цикла программирования?и выполнить некоторый код для обеспечения безопасности оборудования?

1 Ответ

0 голосов
/ 06 февраля 2019

Ваш вопрос открыт для интерпретации.Под этим я подразумеваю, что при наблюдении во время работы появляются инструменты программирования устройства Microchip, позволяющие пользователю выполнять код во время операции программирования.Для семейства деталей PIC18 это не так.

Приложение программирования устройства Microchip заставляет PIC18 выполнить сброс через несколько раз, прежде чем начнется обновление прошивки.Код пользователя будет запускаться после каждой перезагрузки, но как долго будет зависеть от приложения для программирования устройства Microchip.

Самое эффективное решение, которое я нашел, состоит из двух частей:

  1. Дизайнаппаратное обеспечение для включения в безопасном состоянии, когда устройство PIC18 пустое или отсутствует.
  2. Подождите от 0,5 секунды до 3,5 секунд после сброса при включении питания, прежде чем устанавливать какие-либо выводы GPIO в качестве выходов.

Вторая часть возможна не во всех приложениях, но она делает использование отладчика MPLAB более надежным.

...