Пример #1
0
//!  Sets the CF BDM interface hardware to an idle condition
//!
//! \verbatim
//!  Port configuration
//!  Name             uC pin                   BDM cable
//! ====================================================
//!  DSO/TDO          input & driven           input
//!  ---------------------------------------------------
//!  DSI/TDI          output       0           0
//!  DSCLK            output       0           0
//!  DSCLK_DRV        output       0           -
//!  BKPT*/TMS        input & pulled high      1
//!  JTAG_DRV         output       0           -
//!  ---------------------------------------------------
//!  RSTO             input & driven           input
//!  RSTI             input & pulled high      3-state
//!  TA               input & pulled high      3-state
//!  ---------------------------------------------------
//!  TCLK             input & pulled high      1
//!  TRST             input & pulled high      [see DSCLK]
//!  ---------------------------------------------------
//! \endverbatim
//!
void bdmcf_interfaceIdle(void) {
   SPIxC1        = SPIxC1_OFF; // Disable SPI1
   DATA_PORT     = BDMCF_IDLE;
   DATA_PORT_DDR = BDMCF_IDLE_DDR; 
   RESET_3STATE();  
   TA_3STATE();  
   BKPT_HIGH();
   CF_DRV_ENABLE();
}
Пример #2
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)
}