ОК всё сделано по вашему примеру. кофигурация:
config __FBS, RBS_NO_RAM & BSS_NO_FLASH & BWRP_WRPROTECT_OFF
config __FSS, RSS_NO_RAM & SSS_NO_FLASH & SWRP_WRPROTECT_OFF
config __FGS, GSS_OFF & GWRP_OFF
config __FOSCSEL,FNOSC_FRC & IESO_OFF
config __FOSC,FCKSM_CSECMD & OSCIOFNC_ON & POSCMD_NONE & IOL1WAY_OFF
config __FWDT, FWDTEN_OFF & WDTPOST_PS32768 & WDTPRE_PR128 & WINDIS_OFF
config __FPOR, FPWRT_PWR1 & ALTI2C_OFF
config __FICD, JTAGEN_OFF & ICS_PGD2
код. правда каменты старые остались, но запуск FRC один в один с вашим кодом
;--------------------------- Oscilator -----------------------
; Configure PLL prescaler, PLL postscaler, PLL divisor
mov #1,w0
mov w0, CLKDIV
mov #63,w0 ; M
mov w0,PLLFBD
;------------------------------------------------------------------------------
;Place the New Oscillator Selection (NOSC = 0b011) pri XTPLL
mov #0x01,w0
;OSCCONH (high byte) Unlock Sequence
mov #OSCCONH, w1
mov #0x78, w3
mov #0x9A, w4
mov.b w3, [w1] ; Write 0x0078
mov.b w4, [w1] ; Write 0x009A
mov.b w0, [w1] ; pri XTPLL
;Place 0x01 in W0 for setting clock switch enabled bit OSWEN
mov OSCCON, w0
bset w0, #OSWEN
;OSCCONL (low byte) Unlock Sequence
mov #OSCCONL, w2
mov #0x46, w3
mov #0x57, w4
mov.b w3, [w2] ; Write 0x0046
mov.b w4, [w2] ; Write 0x0057;
mov.b w0, [w2] ; Request Clock Switching by Setting OSWEN bit
;...............................
;Wait for Clock switch to occur
mov #0x10, w0 ; expected COSC value
mov #0x70, w4 ; mask COSC
wait_COSC: mov.b [w1], w3 ; w3=OSCCONH
and.b w3, w4 ,w3
cp.b w3, w0
bra nz, wait_COSC
;...............................
;Wait for PLL to lock
wait_LOCK: mov.b [w2], w0 ; w0=OSCCONL
btss w0, #LOCK
bra wait_LOCK
;------------------------------------------------------------------------------
проц работает на 39,9мгц. с отладкой - таже байда.
Судя по вашему сообщению выше, вы пытались отлаживаться на 58МГц. Не удивительно, что происходил сбой.
; Configure PLL prescaler, PLL postscaler, PLL divisor
mov #78,w0 ; M-2
mov w0,PLLFBD
clr CLKDIV
M=80, N1=2, N2=2 Fosc= 4*(80/(N1+N2))= 80мгц Fcy= 40мгц . Почему 58мгц?