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

Контроллер перестает читаться после записи конкретной прошивки


tcoder

Рекомендуемые сообщения

Добрый день.

Столкнулся с новой проблемой, которую непонятно как решать.

При заливке определённой прошивки контроллер PIC16F628A он перестаёт читаться и определяться. После полного стирания начинает и читаться и определяться.

Биты защиты выключены, установлены, как нужно мне. Шился без проблем, но потом ни с того ни с сего перестал проходить верификацию.

Если например подправить первое машинное слово с 2803 на 2801 (новое значение взято с потолка), всё нормально начинает прошиваться. Т.е. каким-то образом содержимое этого слова (а может и других тоже) влияет на то, перестает читаться контроллер или нет.

Если просто "от балды" накидать данных - также всё нормально записывается и считывается.

Есть подозрение, что в этом первом слове сохраняется конфигурация, но тогда по какой причине предыдущие прошивки этой же программы с легкой правкой проходили без проблем...

В программе первое машинное слово (адрес 0) определено как вектор по сбросу. Там располагается переход на начало основной программы.

 

Среда разработки MPLAB IDE

Программатор PIC-PG4D (JDM) + WinPic800

Если кто сталкивался с чем то подобным, отпишите плиз. Может я настройки какие-то зацепил-не-заметил, а может проблема существует...

Заранее спасибо.

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Биты конфигурации покажите.

Ну а вообще, как это - не определяется, но стирается ? Зачем вообще нужно это определение ? В любом случае, перед залитием прошивки, необходимо стереть чип.

 

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Под рукой нет пока, как доберусь до того места, где все это установлено, вышлю. Биты конфигурации установлены: INTRC, PWRTE, BOREN, CP OFF.

Про определение - если сделать после записи этой прошивки Detect Device -> UNKNOWN, Read All = 3FFF везде в памяти программ). При этом стирание и запись по мнению WinPic800 проходит нормально, Контроллер вероятно прошит, чем нужно. Непонятно, почему он не дает считывать себя. По поведению похоже на биты защиты, только вот они сброшены.

Если его просто стереть (Erase All), а потом считывать - то всё начинает нормально считываться и определяться.

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

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

4 минуты назад, tcoder сказал:

Биты конфигурации установлены: INTRC, PWRTE, BOREN, CP OFF

По всей видимости, ещё и MCLR выключен ? :)

Изъезженная тема... Можете сказать программатору спасибо, что он ещё стирает чип :)

Если сказать 2 слова о Вашей проблеме - забейте, так и должно быть :)

 

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

Только что, Alex сказал:

По всей видимости, ещё и MCLR выключен ?

Выключен. Но за последние несколько лет ни мне, ни моему программатору это не мешало записывать и считывать. Однако вчера вот такое произошло "чудо". И насколько я помню, цепь определения режима программирования на RA5 подключена независимо от конфигурации... (полез в датащит смотреть)

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

При выключенном MCLR и внутреннем такте, не каждый программатор может что-либо сделать. Т.к., как только на МК подаётся питание, он начинает работать. И ему по-барабану всякие сигналы на сбросе. Естественно, он не входит в режим программирования.
 

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

И он действительно работает, но в режим программирования входит, как только я начинаю запись. И проблема в считывании. И только при конкретной прошивке.

По MCLR - действительно - цепь прямая.

pdetect.jpg

 

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

4 часа назад, Alex сказал:

Если сказать 2 слова о Вашей проблеме - забейте, так и должно быть :)

Либо купите PicKit2 или 3-й и забудете все проблемы связанные с программированием

На форумах принято общаться на "ты", что не является оскорбительным и подразумевает равноправие

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

4 часа назад, Alex сказал:

Если сказать 2 слова о Вашей проблеме - забейте, так и должно быть :)

 

Не должно :) Не было же.

30 минут назад, Vovka сказал:

Либо купите PicKit2 или 3-й и забудете все проблемы связанные с программированием

Отличное решение. А любопытства совсем не возникает, почему так получается, что содержимое прошивки влияет на "читабельность" контроллера? Вот мне например любопытно, буду разбираться.

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

Содержимое прошивки никак не может влиять на это. А слова "раньше же работало" - неконструктивные факты :)

Приведите код, после которого перестал читаться МК. Вот тогда уже и будем разбираться :)

Сейчас, по симптомам - нормальная ситуация с такой конфигурацией. Так что, пока не вижу повода для паники :)




 

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

У меня складывается впечатление, что Вы не читаете, что тут написано мной) Ситуация не нормальная, т.к. не пишется только этот код. Даже достаточно одну цифру вручную поменять, чтобы всё записалось и считывалось нормально, о чем написано ещё в первом посте.

Какие ваши доказательства? :)  Наштампую скриншотов. Мало будет скриншотов, запишу видео. Точно будем разбираться? :) Я только за

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

Я это всё читал. То, что Вы меняете нулевую ячейку на любое значение, означает лишь то, что даёте неправильный ход программе. Но, в какой то момент, с каким то изменением программы, МК перестал же читаться ? Есть у Вас эти изменения ? Можете их показать ?
Может до этого, в программе, МК вначале у Вас в какую-нибудь спячку впадал, давая спокойно перейти в режим. А может и что-нибудь ещё... Нужны конкретные факты, из-за которых появляется проблема. Изменение нулевого адреса, сразу скажу - не факт :)

 

PS: У меня на работе вроде бы валяются 628-ые, если хотите, могу завтра на нормальных программаторах проверить Вашу прошивку.

 

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

Я думаю, что связано с изменениями в коде или из-за изменений в коде что-то начало мешать входу в режим программирования. Самое интересное, что прошивка проходит нормально, но чтение становится недоступным. 

Читаться перестал он как раз после внесения большого количества изменений, в процессе которых я работу не проверял. Займусь локализацией проблемы, если опыт покажет, что влияние идёт от кода.

Возможно конфликт имеет место быть на других выводах МК, используемых для программирования - RB4,RB5, т.к. они настроены на выход. В крупном блоке изменений я точно менял конфигурацию PORTB... начинаю подозревать, что проблема именно в них.

Как до дома доберусь, в первую очередь поиграю с настройкой PORTB.... oO

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

Удалось локализовать однако. Эффект возникает, если в прошивке включен таймер TMR1. Но по какой-то причине чуть раньше это не мешало. В любом случае хотя бы понятна общая причина - работающий контроллер конфликтует с программатором.

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

Да, есть такой эффект, что-то припоминаю... Причём он возникает, когда таймер настроен на внешнее тактирование. И, толи включен T1OSCEN, толи выключен должен быть. Не помню..
 

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

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

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...