Проблема MPLAB X IDE с программатором PIC

У меня есть программатор, и он отлично работает с PICKit2v2. Как вы видите на изображениях ниже, я успешно считываю свою память PIC16F877A и записываю в нее:

введите описание изображения здесь

Но проблема возникает, когда я хочу использовать свой программатор в MPLAB-X-IDE:

введите описание изображения здесь

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

Содержимое вкладки предупреждения о загрузке проекта :

Warning: Project "FirstProject-FlashingLight" refers to file "C:\Users\Amir Ebrahim\MPLABXProjects\FirstProject-FlashingLight.X/myMain.c" that contains spaces or odd characters in its name or its path.
Some of the files in this Project "FirstProject-FlashingLight" contain spaces or odd characters in their name or their path. This could potentially cause issues during the build process. This is a limitation of GNU Make tool that we use as part of our build process. Removing spaces from all file and folder names included in this project will eliminate this potential issue.

Содержимое вкладки PIC Kit2 :

Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:40:36
PK2Error103: Unexpected device ID: Aborting as requested
PK2Error103: Unexpected device ID: Aborting as requested
Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:40:57
PIC16F877A found (rev = 0x8)
Erasing Target
Programming Program Memory (0x0 - 0x7)
Programming Program Memory (0x7f8 - 0x7ff)
Verifying Program Memory (0x0 - 0x7)
Verifying Program Memory (0x7f8 - 0x7ff)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:41:19
PIC16F877A found (rev = 0x8)
Erasing Target
Programming Program Memory (0x0 - 0x7)
Programming Program Memory (0x7f8 - 0x7ff)
Verifying Program Memory (0x0 - 0x7)
Verifying Program Memory (0x7f8 - 0x7ff)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:43:35
PIC16F877A found (rev = 0x8)
Erasing Target
Programming Program Memory (0x0 - 0x7)
Programming Program Memory (0x7f8 - 0x7ff)
Verifying Program Memory (0x0 - 0x7)
Verifying Program Memory (0x7f8 - 0x7ff)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:56:45
PIC16F877A found (rev = 0x8)
Erasing Target
Programming Program Memory (0x0 - 0x7)
Programming Program Memory (0x7f8 - 0x7ff)
Verifying Program Memory (0x0 - 0x7)
Verifying Program Memory (0x7f8 - 0x7ff)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
Found PICkit 2 - Operating System Version 2.32.0
Target power detected ( 4.99V)
2015-01-01 20:57:42
PIC16F877A found (rev = 0x8)
Erasing Target
Programming Program Memory (0x0 - 0x7)
Programming Program Memory (0x7f8 - 0x7ff)
Verifying Program Memory (0x0 - 0x7)
Verifying Program Memory (0x7f8 - 0x7ff)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)
PK2Error0027: Failed verify (Address = 0x7f8 - Expected Value 0x3fff - Value Read 0xbf2)

Обратите внимание, что проект, который я пытался запрограммировать на свой MCU, является пустым проектом (я имею в виду, что он имеет только пустой main() и ничего больше — я просто сделал основные шаги для создания проекта, как указано в разделе «Быстрый старт » MPLABXIDE). Я также попробовал другой проект, который отлично работал на другом компьютере с другим ридером, но я получил ту же ошибку (так что с проектом проблем нет.)

Я ценю ваше время и ваше внимание.

Ответы (2)

PICkit2™ имеет только частичную (т.е. бета) поддержку в MPLAB-X. Если ваш PICkit2™ не является оригинальным продуктом Microchip, скорее всего, он не будет работать с драйвером в MPLAB-X.

Я уже много лет использую дешевый клон PICkit2 ™ (один из желтых термоусадочных клонов с eBay). Во всем остальном он прекрасно работает, но MPLAB-X с ним вообще не работает.

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

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

Я всегда использую pk2cmd или pic32prog с моим PICkit2™ из командной строки — оба работают безупречно. Если мне нужно программировать или отлаживать прямо из MPLAB-X, я вместо этого использую PICkit3™.

Я также использовал желтый клон PICkit2, и он также не работает с MPLABX... Наверное, потому, что это клон, да.
Я поддерживаю это. Я использую MPLAB X только тогда, когда мне действительно нужно отлаживать свое приложение или когда я использую PK3. По моему опыту, автономное приложение PK2 работает быстрее, и у вас есть доступ к логическому/последовательному инструменту, который может быть удобен на определенных PIC, где вы можете перенаправить выводы ввода-вывода на те же, что и выводы ICSP.
Уважаемый Majenko, я добавляю строку #define _XTAL_FREQ 12000000во вторую строку после #include <xc.h>! И теперь MPLAB X отлично работает с программатором!! Ты знаешь почему?! Обратите внимание, что если я изменю его на #define _XTAL_FREQ 6000000, я снова получу ту же ошибку!
Упс, опять не работает! Это случайно! :\

У меня были похожие проблемы с использованием PICkit 2 с MPLAB X. Это один из двух кошерных PICkit 2, купленных некоторое время назад и использованных в достаточном количестве. Два разных целевых чипа, разные проекты, всевозможные операции. В конце концов вернулся к MPLAB 8 (лучший пользовательский интерфейс и дизайн, чем X, ясный и лаконичный - И имеет надлежащие элементы управления для PICkit 2, которые легко доступны). Итак, скачал новую ОС PICkit 2. Без улучшения. Поиграл с конфигурацией программатора на PICkit 2... фактических изменений не произошло... но при выходе с OK проблема устранена. Я подозреваю, что драйвер имеет кешированное состояние конфигурации, которое повреждается. Удаление и переустановка драйвера (классический виндозовский идиотизм) скорее всего будет иметь аналогичный эффект. Отсюда вывод: возможно глючный драйвер, неадекватное управление PICkit 2 от MPLAB X.