X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=tcl%2Ftarget%2Fpic32mx.cfg;h=df68e807aeb504ab8b23b547803405df586b3928;hb=5ffc745ea39393d2fc2772bf11e996e237463004;hp=5e64cb84dd654fbd0b73ab0be265bd7b8b4f0672;hpb=ca45e700b1c57caca2ef08e665e3c7e3e02ac8d3;p=fw%2Fopenocd diff --git a/tcl/target/pic32mx.cfg b/tcl/target/pic32mx.cfg index 5e64cb84d..df68e807a 100644 --- a/tcl/target/pic32mx.cfg +++ b/tcl/target/pic32mx.cfg @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME } else { @@ -23,7 +25,7 @@ if { [info exists WORKAREASIZE] } { set _WORKAREASIZE 0x4000 } -adapter_nsrst_delay 100 +adapter srst delay 100 jtag_ntrst_delay 100 #jtag scan chain @@ -40,9 +42,9 @@ target create $_TARGETNAME mips_m4k -endian $_ENDIAN -chain-position $_TARGETNAM # global _PIC32MX_DATASIZE -global _PIC32MX_PROGSIZE +global _WORKAREASIZE set _PIC32MX_DATASIZE 0x800 -set _PIC32MX_PROGSIZE [expr ($_WORKAREASIZE - $_PIC32MX_DATASIZE)] +set _PIC32MX_PROGSIZE [expr {$_WORKAREASIZE - $_PIC32MX_DATASIZE}] $_TARGETNAME configure -work-area-phys 0xa0000800 -work-area-size $_PIC32MX_PROGSIZE -work-area-backup 0 $_TARGETNAME configure -event reset-init { @@ -50,18 +52,31 @@ $_TARGETNAME configure -event reset-init { # from reset the pic32 cannot execute code in ram - enable ram execution # minimum offset from start of ram is 2k # - global _PIC32MX_DATASIZE - global _PIC32MX_PROGSIZE + global _WORKAREASIZE - # BMXCON - mww 0xbf882000 0x001f0040 - # BMXDKPBA: 2k kernel data @ 0xa0000800 + # BMXCON set 0 wait state option by clearing BMXWSDRM bit, bit 6 + mww 0xbf882000 0x001f0000 + # BMXDKPBA: 2k kernel data @ 0xa0000000 mww 0xbf882010 $_PIC32MX_DATASIZE - # BMXDUDBA: 16k kernel program @ 0xa0000800 - mww 0xbf882020 $_PIC32MX_PROGSIZE - # BMXDUPBA: 0k user program - mww 0xbf882030 $_PIC32MX_PROGSIZE + # BMXDUDBA: 14k kernel program @ 0xa0000800 - (BMXDUDBA - BMXDKPBA) + mww 0xbf882020 $_WORKAREASIZE + # BMXDUPBA: 0k user program - (BMXDUPBA - BMXDUDBA) + mww 0xbf882030 $_WORKAREASIZE + + # + # Set system clock to 8Mhz if the default clock configuration is set + # + + # SYSKEY register, make sure OSCCON is locked + mww 0xbf80f230 0x0 + # SYSKEY register, write unlock sequence + mww 0xbf80f230 0xaa996655 + mww 0xbf80f230 0x556699aa + # OSCCON register + 4, clear OSCCON FRCDIV bits: 24, 25 and 26, divided by 1 + mww 0xbf80f004 0x07000000 + # SYSKEY register, relock OSCCON + mww 0xbf80f230 0x0 } set _FLASHNAME $_CHIPNAME.flash0