示例#1
0
//!  Turns off the BDM interface
//!
void bdm_interfaceOff( void ) {
#if (HW_CAPABILITY&CAP_CFVx)
#ifndef SPI1C1
#define SPI1C1 SPIC1
#endif
   SPI1C1 = 0; // Disable SPI1
#endif
#if (HW_CAPABILITY&CAP_FLASH)
   (void)bdmSetVpp(BDM_TARGET_VPP_OFF);
#endif
#ifdef TA_3STATE
   TA_3STATE();
#endif
#ifdef JTAG_DRV_DISABLE
   JTAG_DRV_DISABLE();
#endif
#ifdef BKPT_DISABLE
   BKPT_DISABLE();
#endif
#ifdef RESET_IN_FINI
   RESET_IN_FINI();
#endif
#ifdef RESET_OUT_FINI
   RESET_OUT_FINI();
#endif
#ifdef CF_DRV_DISABLE
   CF_DRV_DISABLE();
#endif
#ifdef TCLK_DISABLE
   TCLK_DISABLE();
#endif   
#ifdef DSCLK_DRV_DISABLE
   DSCLK_DRV_DISABLE();
#endif
#ifdef TRST_3STATE
   TRST_3STATE();
#endif
#ifdef TDI_DISABLE
   TDI_DISABLE();
#endif
#ifdef BDM_3STATE
   BDM_3STATE();
#endif
#ifdef TCLK_CTL_DISABLE
   TCLK_CTL_DISABLE();
#endif
#ifdef SWD_OUT_FINI
   SWD_OUT_FINI();
#endif
#ifdef SWCLK_OUT_FINI
   SWCLK_OUT_FINI();
#endif
#ifdef SWD_IN_FINI
   SWD_IN_FINI();
#endif
//   SPIxC1 = SPIxC1_OFF; // Disable SPI (MOSI/MISO pins now GPIO)
}
示例#2
0
//! Initialises the CF BDM interface to default state (including speed)
//!
void bdmcf_init(void) {

   DSI_OUT_PER     = 1;
   DSCLK_OUT_PER   = 1;
#ifdef DSCLK_DRV_PER
   DSCLK_DRV_PER   = 1;     // Holds DSCLK driver disabled when unused
#endif   
   BKPT_OUT_PER    = 1;     // Holds BKPT_OUT inactive when unused
#ifdef TA_OUT_PER
   TA_OUT_PER      = 1;     // Holds TA_OUT inactive when unused
#endif
   RESET_IN_PER    = 1;     // Needed for input level translation to 5V
   RESET_OUT_PER   = 1;     // Holds RESET_OUT inactive when unused
#ifdef ALLPST_IN_PER
   ALLPST_IN_PER   = 1;     // Needed for input level translation to 5V
#endif
#ifdef PST_IN_ENABLE
   PST_IN_ENABLE();       // OSBDM boards
#endif
   // Set up inputs
   DSO_IN_DDR      = 0;
   RESET_IN_DDR    = 0;
#ifdef ALLPST_IN_DDR
   ALLPST_IN_DDR   = 0;
#endif
   
   DSCLK_DRV_ENABLE();      // DSCLK is driven
#ifdef SPI2C1
   SPI2C1 = SPIxC1_OFF;     // SPI2 is unused (Port pin is used for BKPT*)
#endif
   (void)spi_setSpeed(0);
   SPIxC2 = SPIxC2_16;    // Initialise SPI1 but leave disabled
   bdmcf_interfaceIdle();
   
#ifdef TCLK_CTL_DISABLE
   TCLK_CTL_DISABLE();
#endif
}