Пример #1
0
void init() {
   // In case disabled by boot-loader
   __enable_irq();

   initPorts();
   initTimers();
   bdm_interfaceOff();
   initUSB();

#ifdef VDD_ON_INITIALLY
   // For compatibility with original board s/w
   // The board is powered when initially plugged in
   #if (VDD_ON_INITIALLY == 3)
      bdm_option.targetVdd = BDM_TARGET_VDD_3V3;
   #elif (VDD_ON_INITIALLY == 5)
      bdm_option.targetVdd = BDM_TARGET_VDD_5;
   #else
      bdm_option.targetVdd = BDM_TARGET_VDD_OFF;
   #endif
   bdm_setTargetVdd();
   RESET_LOW();
   WAIT_MS(100);
   RESET_3STATE();
#endif
}
Пример #2
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();
}
Пример #3
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_3STATE  // Todo - remove
   RESET_3STATE();
#endif
#ifdef RESET_DISABLE
   RESET_DISABLE();
#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_DISABLE
   SWD_DISABLE();
#endif
#ifdef SWCLK_DISABLE
   SWCLK_DISABLE();
#endif
   SPIxC1 = SPIxC1_OFF; // Disable SPI (MOSI/MISO pins now GPIO)
}