Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 16.03.2019, 18:56   #1
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Programming Configuration Bits..Verify failed

Всем привет!

Программатор Microchip MPLAB ICD2

при прошивке PIC18F4520 в корпусе DIP40 все прошивается нормально.

а в корпусе TQFP ошибки (правда, новая плата, но мне кажется, если б ошибки в плате то были бы ошибки не только при программировании конфигурационных битов, а и при памяти программ - а тут успешно):

Код:
MPLAB ICD 2 Ready
Erasing Target Device......
Erase Succeeded
Programming Target......
Validating configuration fields...
Erasing Part
.Programming Program Memory (0x0 - 0x7D3F)
Verifying......
Program Memory...
Verify Succeeded

Programming Configuration Bits.. 
Config MemoryVerifying configuration memory......
Verify Failed (and stopped)
ICD0161: Verify failed (MemType = Config, Address = 0x300006, Expected Val = 0xBB, Val Read = 0x85)
ICD0275:  Programming failed.
MPLAB ICD 2 Ready
В чем причина, может для корпуса надо другие конфигурационные биты указывать или "битый" процессор?
Руслан вне форума   Ответить с цитированием
Старый 16.03.2019, 19:10   #2
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Programming Configuration Bits..Verify failed

Руслан
нашел Ваш регистр.
Код:
REGISTER 23-5: CONFIG4L: CONFIGURATION REGISTER 4 LOW (BYTE ADDRESS 300006h)
R/P-1 R/P-0 U-0 U-0 U-0 R/P-1 U-0 R/P-1
DEBUG XINST — — — LVP — STVREN
Вы туда хотите писать 0xbb
но это невозможно. там нет таких бит, чтобы можно было записать 0xbb.

те биты, которые нельзя записать должны читаться как нули.
значение этого регистра со всеми выставленными единичками 0xc5

0x85 == 0xBB & 0xc5
besogon вне форума   Ответить с цитированием
Старый 16.03.2019, 19:26   #3
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

Цитата:
Сообщение от besogon Посмотреть сообщение
Руслан
нашел Ваш регистр.
Код:
REGISTER 23-5: CONFIG4L: CONFIGURATION REGISTER 4 LOW (BYTE ADDRESS 300006h)
R/P-1 R/P-0 U-0 U-0 U-0 R/P-1 U-0 R/P-1
DEBUG XINST — — — LVP — STVREN
Вы туда хотите писать 0xbb
но это невозможно. там нет таких бит, чтобы можно было записать 0xbb.

те биты, которые нельзя записать должны читаться как нули.
значение этого регистра со всеми выставленными единичками 0xc5

0x85 == 0xBB & 0xc5
Я правильно понимаю, что пишутся биты конфигурации по которым ошибки здесь: (если да - то что я не так указываю, но этот же код УСПЕШНО работает на корпусе DIP40)
//--- Конфигурирование контроллера -------------------------------------------
__CONFIG(1, OSCSDIS & HSPLL);
__CONFIG(1, HSPLL);
__CONFIG(2, PWRTEN & BORV27 & BOREN & WDTPS128 & WDTDIS);
__CONFIG(3, CCP2RC1);
__CONFIG(4, STVREN & DEBUGDIS & LVPDIS & XINSTDIS);
__CONFIG(5, CPALL); //защита
Руслан вне форума   Ответить с цитированием
Старый 16.03.2019, 19:37   #4
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Programming Configuration Bits..Verify failed

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

Расположите по этому адресу 0x85. Расположить по этому адресу 0xBB невозможно.

наверное это будет выглядеть как __CONFIG(4, 0x85);

этот же код УСПЕШНО работает на корпусе DIP40 - я не вижу в этом проблемы.
besogon вне форума   Ответить с цитированием
Старый 16.03.2019, 19:59   #5
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

я не могу понять в какой именно строке я пишу неверно - я пытался удалять последовательно все описанные мной строки конфигурации - все равно та же ошибка. Где я указываю (или не я) этот злосчастный адрес 0xBB
Руслан вне форума   Ответить с цитированием
Старый 16.03.2019, 20:02   #6
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

Цитата:
Сообщение от besogon Посмотреть сообщение
этот же код УСПЕШНО работает на корпусе DIP40 - я не вижу в этом проблемы.
странно - ведь процессоры одинаковые, разные только корпуса, почему на DIP40 все ок, а на TQFP проблемы - в этом я вижу проблему
Руслан вне форума   Ответить с цитированием
Старый 16.03.2019, 20:32   #7
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Programming Configuration Bits..Verify failed

скорее всего ошибка в этом макросе.
Код:
__CONFIG(4, STVREN & DEBUGDIS & LVPDIS & XINSTDIS);
посмотрите, что выполняет этот код.

Вы __CONFIG(4, 0x85) пробовали?
besogon вне форума   Ответить с цитированием
Старый 16.03.2019, 20:57   #8
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

Цитата:
Сообщение от besogon Посмотреть сообщение
скорее всего ошибка в этом макросе.
Код:
__CONFIG(4, STVREN & DEBUGDIS & LVPDIS & XINSTDIS);
посмотрите, что выполняет этот код.

Вы __CONFIG(4, 0x85) пробовали?
Попробовал - успешно, спасибо. Но не понял:
1 - почему это же проходит успешно на DIP40?
2 - STVREN & DEBUGDIS & LVPDIS & XINSTDIS это еквивалентно 0x85
Руслан вне форума   Ответить с цитированием
Старый 16.03.2019, 21:22   #9
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Programming Configuration Bits..Verify failed

Руслан
1 - почему это же проходит успешно на DIP40? - вполне может быть что ошибка в кремнии для той серии в DIP40 корпусе, что Вы использовали.
поведение, которое Вы указали не соответствует документации на контроллер.

я более детально сказал Вам в самом первом посте.

STVREN & DEBUGDIS & LVPDIS & XINSTDIS это еквивалентно 0x85 - это вопрос, утверждение или что? наверное, снова же, это какие-то макросы того средства разработки, что Вы используете.

У Вас всё работает?
besogon вне форума   Ответить с цитированием
Старый 16.03.2019, 21:51   #10
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

Цитата:
Сообщение от besogon Посмотреть сообщение
[b]

STVREN & DEBUGDIS & LVPDIS & XINSTDIS это еквивалентно 0x85 - это вопрос, утверждение или что? наверное, снова же, это какие-то макросы того средства разработки, что Вы используете.

У Вас всё работает?
это скорее мое недопонимание...а не вопрос
эти конфигурационные слова задаются в *.h и в результате STVREN & DEBUGDIS & LVPDIS & XINSTDIS будет ли 0x85 и правильно ли работает процессор - я проверю, пока смотрю в *.h, пытаюсь понять за что отвечают эти конфигурационные слова.
Руслан вне форума   Ответить с цитированием
Старый 16.03.2019, 21:56   #11
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Programming Configuration Bits..Verify failed

Руслан
в mplabx можно мышкой навести и ctrl нажать - среда подчеркнет.
если в момент подчеркивания мышкой нажать - попробует открыть место, где это все находится.
besogon вне форума   Ответить с цитированием
Старый 16.03.2019, 22:08   #12
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

вот нашел в pic18f4520.h
то что в __CONFIG(4, STVREN & DEBUGDIS & LVPDIS & XINSTDIS);
Код:
// Stack Overflow Reset
 #define STVREN		0xFFFF 	// Enabled 

// Background Debug
 #define DEBUGDIS	0xFFFF 	// Disabled

// Low Voltage Program
 #define LVPDIS		0xFFFB 	// Disabled 

// Extended CPU Enable

 #define XINSTDIS	0xFFBF 	// Disabled

что оно и зачем - я не знаю.
Руслан вне форума   Ответить с цитированием
Старый 16.03.2019, 22:16   #13
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Programming Configuration Bits..Verify failed

Руслан
а что делает сам __CONFIG ? Как расшифровывается?
besogon вне форума   Ответить с цитированием
Старый 16.03.2019, 22:24   #14
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

Цитата:
Сообщение от besogon Посмотреть сообщение
Руслан
а что делает сам __CONFIG ? Как расшифровывается?
не могу найти, видимо макрос какой-то, в *.h не нахожу

https://www.microchip.com/forums/m859005.aspx
"__CONFIG" is a keyword that tells MPASM that you are setting the PIC configuration fuses.

Последний раз редактировалось Руслан; 16.03.2019 в 22:36.
Руслан вне форума   Ответить с цитированием
Старый 16.03.2019, 22:46   #15
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Programming Configuration Bits..Verify failed

Руслан
к огромному сожалению на данном этапе не готов углубляться далее в Ваше затруднение.

я предполагаю, что у microchip где-то неправильно указано значение этого регистра, со всеми выставленными единичками, а потом к нему применяются битовые маски, что Вы нашли.

В итоге формируется неправильное значение для записи, которое при попытке его записать, записывает возможное, а при попытке прочесть, чтобы убедиться в правильности выдает ошибку.
besogon вне форума   Ответить с цитированием
Старый 16.03.2019, 22:49   #16
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Programming Configuration Bits..Verify failed

На всякий случай поставьте самые последние средства разработки с сайта microchip.

Если Вы использовали устаревшие, то может быть эта ошибка уже исправлена.
besogon вне форума   Ответить с цитированием
Старый 16.03.2019, 22:52   #17
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

Цитата:
Сообщение от besogon Посмотреть сообщение
Руслан
к огромному сожалению на данном этапе не готов углубляться далее в Ваше затруднение.

я предполагаю, что у microchip где-то неправильно указано значение этого регистра, со всеми выставленными единичками, а потом к нему применяются битовые маски, что Вы нашли.

В итоге формируется неправильное значение для записи, которое при попытке его записать, записывает возможное, а при попытке прочесть, чтобы убедиться в правильности выдает ошибку.
спасибо за помощь, как проверю работоспособность отпишусь
Руслан вне форума   Ответить с цитированием
Старый 17.03.2019, 13:40   #18
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

не работает.

Прописал для DIP40 (на рабочей схеме и рабочем процессоре) вместо
__CONFIG(4, STVREN & DEBUGDIS & LVPDIS & XINSTDIS);
написал
__CONFIG(4, 0x85);

перестало работать.
Руслан вне форума   Ответить с цитированием
Старый 17.03.2019, 14:01   #19
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Programming Configuration Bits..Verify failed

Руслан
попробуйте также __CONFIG(4, 0xff85)

можете в отладке глянуть значение этого регистра конфига?
besogon вне форума   Ответить с цитированием
Старый 17.03.2019, 14:11   #20
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

экспериментально выяснил, что ругается на
LVPDIS

т.е. так не ругается:
__CONFIG(4, STVREN & DEBUGDIS & XINSTDIS);

LVPDIS - Low Voltage Program зачем оно нужно, за что отвечает?
Проверил работоспособность без него НЕ работает.
Руслан вне форума   Ответить с цитированием
Старый 17.03.2019, 14:20   #21
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

Цитата:
Сообщение от besogon Посмотреть сообщение
Руслан
попробуйте также __CONFIG(4, 0xff85)

можете в отладке глянуть значение этого регистра конфига?
попробовал
__CONFIG(4, 0xff85);
не работает прога

// Low Voltage Program
#define LVPDIS 0xFFFB // Disabled
это не то значение, что Вы в отладчике ожидаете увидеть?
Руслан вне форума   Ответить с цитированием
Старый 17.03.2019, 14:20   #22
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Programming Configuration Bits..Verify failed

Руслан
LVPDIS - скорее всего отключение низковольтного программирования, что большинстве случаев является обязательным.
когда я Вам писал 0xff85 я ошибся в расчетах. посмотрите структуру поля из документации еще раз.

сейчас глянул получше - попробуйте
__CONFIG(4, STVREN & DEBUGDIS & LVPDIS & XINSTDIS & 0xffc5);
besogon вне форума   Ответить с цитированием
Старый 17.03.2019, 14:34   #23
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

Цитата:
Сообщение от besogon Посмотреть сообщение
Руслан
LVPDIS - скорее всего отключение низковольтного программирования, что большинстве случаев является обязательным.
когда я Вам писал 0xff85 я ошибся в расчетах. посмотрите структуру поля из документации еще раз.

сейчас глянул получше - попробуйте
__CONFIG(4, STVREN & DEBUGDIS & LVPDIS & XINSTDIS & 0xffc5);
попробовал - в DIP40 прога работает, а при прошивке в корпус smd опять ошибка:
Код:
Programming Configuration Bits.. 
Config MemoryVerifying configuration memory......
Verify Failed (and stopped)
ICD0161: Verify failed 
(MemType = Config, Address = 0x300006, Expected Val = 0x81, Val Read = 0x85)
ICD0275:  Programming failed.
MPLAB ICD 2 Ready
раньше писало Expected Val = 0xBB, сейчас Expected Val = 0x81
Руслан вне форума   Ответить с цитированием
Старый 17.03.2019, 14:43   #24
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Programming Configuration Bits..Verify failed

Руслан
У Вас выставилось LVP.

у Вас в настройках ICD2 случайно не стоит где-нибудь чего-нибудь связанного с LVP? Если найдете - отключите.

Есть ли у Вас другие программаторы под рукой?
besogon вне форума   Ответить с цитированием
Старый 17.03.2019, 14:56   #25
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: Programming Configuration Bits..Verify failed

Цитата:
Сообщение от besogon Посмотреть сообщение
Руслан
У Вас выставилось LVP.

у Вас в настройках ICD2 случайно не стоит где-нибудь чего-нибудь связанного с LVP? Если найдете - отключите.

Есть ли у Вас другие программаторы под рукой?
пересмотрел все окна в MPLAB - не нашел настроек.
Разве что окно конфигурационных битов, но оно повторяет настройки из моих __CONFIG

Другого программатора нет.
Руслан вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отладка ассемблера с симулятором Бобочек Вопросы начинающих 120 10.06.2018 13:26
bootloader pic24 open your soul Продукция MICROCHIP 61 17.10.2012 16:19
MPLAB не находит c018i.o qwerty1 Продукция MICROCHIP 45 22.04.2011 12:14
ICD2 VladG Продукция MICROCHIP 25 05.05.2009 11:26
Помогите плизз с PIC16LF628A dbosh Продукция MICROCHIP 49 11.10.2008 01:03


Часовой пояс GMT +3, время: 21:40.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot