Мелкие ПИКи не имеют встроенной поддержки для отладки через ICD2, поэтому отладка выполняется на специальных кристаллах, содержащих соответствующее ядро и дополнительную логику, реализующую отладочные функции.
Для отладки программ на 629/675/630/676 ПИКах мы используем AC162052 и условную компиляцию вроде:
Код
x3.h
//------------------------------
// target PIC12F629
// debug PIC16F630-ICD
#define DBG 0
#if defined(_16F630) // debug 16F630 in ICD only
#define ICD 1
// force DBG=1
#undef DBG
#define DBG 1
#else
#define ICD 0
#endif
...
//------------------------------
x3.c
//------------------------------
#if DBG==1
#if defined(_16F630)
#if ICD==1
__CONFIG(INTOSCIO & WDTDIS & PWRTDIS & MCLRDIS & BORDIS & UNPROTECT); // 16F630-ICD
#else
__CONFIG(INTOSCIO & WDTEN & PWRTEN & MCLRDIS & BOREN & UNPROTECT); // 16F630 debug
#endif
#elif defined(_12F629)
__CONFIG(INTIO & WDTEN & PWRTEN & MCLRDIS & BOREN & UNPROTECT); // 12F629 debug
#else
__CONFIG(ERR);
#endif
#else // DBG=0
#if defined(_16F630)
__CONFIG(INTOSCIO & WDTEN & PWRTEN & MCLRDIS & BOREN & CPROTECT); // 16F630 release
#elif defined(_12F629)
__CONFIG(INTIO & WDTEN & PWRTEN & MCLRDIS & BOREN & PROTECT); // 12F629 release
#else
__CONFIG(ERR);
#endif
#endif
...
//------------------------------
Не забудьте, что отладчик отъедает 256 слов в памяти программы.
Можно также использовать для отладки более старшие кристаллы со встроенной поддержкой отладки, но при этом приходится помнить о гораздо большем количестве разтличий между кристаллами, а репа и так пухнет

.
Если придумаете, как в домашних условиях сделать аналог PIC16F676-ICD, используемый в AC162052, обязательно расскажите. (шутка юмора)