/****************************************************************************** * @fn HalUARTOpen * * @brief Open a port according tp the configuration specified by parameter. * * @param port - UART port * config - contains configuration information * * @return Status of the function call *****************************************************************************/ uint8 HalUARTOpen(uint8 port, halUARTCfg_t *config) { #if (HAL_UART_DMA == 1) if (port == HAL_UART_PORT_0) HalUARTOpenDMA(config); #endif #if (HAL_UART_DMA == 2) if (port == HAL_UART_PORT_1) HalUARTOpenDMA(config); #endif #if (HAL_UART_ISR == 1) if (port == HAL_UART_PORT_0) HalUARTOpenISR(config); #endif #if (HAL_UART_ISR == 2) if (port == HAL_UART_PORT_1) HalUARTOpenISR(config); #endif #if (HAL_UART_SPI == 1) if (port == HAL_UART_PORT_0) HalUARTOpenSPI(config); #endif #if (HAL_UART_SPI == 2) if (port == HAL_UART_PORT_1) HalUARTOpenSPI(config); #endif #if (HAL_UART_USB) HalUARTOpenUSB(config); #endif #if (HAL_UART_DMA == 0) && (HAL_UART_ISR == 0) && (HAL_UART_SPI == 0) // UART is not enabled. Do nothing. (void) port; // unused argument (void) config; // unused argument #endif return HAL_UART_SUCCESS; }
/************************************************************************************************** * @fn sblInit * * @brief Initialization for SBL. * * input parameters * * None. * * output parameters * * None. * * @return None. ************************************************************************************************** */ static void sblInit(void) { HAL_BOARD_INIT(); vddWait(VDD_MIN_RUN); magicByte = SB_MAGIC_VALUE; /* This is in place of calling HalDmaInit() which would require init of the other 4 DMA * descriptors in addition to just Channel 0. */ HAL_DMA_SET_ADDR_DESC0(&dmaCh0); #if defined CC2530_MK znpCfg1 = ZNP_CFG1_SPI; #else znpCfg1 = P2_0; #endif if (znpCfg1 == ZNP_CFG1_SPI) { SRDY_CLR(); // Select general purpose on I/O pins. P0SEL &= ~(NP_RDYIn_BIT); // P0.3 MRDY - GPIO P0SEL &= ~(NP_RDYOut_BIT); // P0.4 SRDY - GPIO // Select GPIO direction. P0DIR &= ~NP_RDYIn_BIT; // P0.3 MRDY - IN P0DIR |= NP_RDYOut_BIT; // P0.4 SRDY - OUT P0INP &= ~NP_RDYIn_BIT; // Pullup/down enable of MRDY input. P2INP &= ~BV(5); // Pullup all P0 inputs. HalUARTInitSPI(); } else { halUARTCfg_t uartConfig; HalUARTInitISR(); uartConfig.configured = TRUE; uartConfig.baudRate = HAL_UART_BR_115200; uartConfig.flowControl = FALSE; uartConfig.flowControlThreshold = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.rx.maxBufSize = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.tx.maxBufSize = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.idleTimeout = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.intEnable = TRUE; uartConfig.callBackFunc = NULL; HalUARTOpenISR(&uartConfig); } }
/****************************************************************************** * @fn HalUARTOpen * * @brief Open a port according tp the configuration specified by parameter. * * @param port - UART port * config - contains configuration information * * @return Status of the function call *****************************************************************************/ uint8 HalUARTOpen(uint8 port, halUARTCfg_t *config) { (void)port; (void)config; #if (HAL_UART_DMA == 1) if (port == HAL_UART_PORT_0) HalUARTOpenDMA(config); #endif #if (HAL_UART_DMA == 2) if (port == HAL_UART_PORT_1) HalUARTOpenDMA(config); #endif #if (HAL_UART_ISR == 1) if (port == HAL_UART_PORT_0) HalUARTOpenISR(config); #endif #if (HAL_UART_ISR == 2) if (port == HAL_UART_PORT_1) HalUARTOpenISR(config); #endif #if (HAL_UART_USB) HalUARTOpenUSB(config); #endif return HAL_UART_SUCCESS; }
/************************************************************************************************** * @fn sblHalInit * * @brief Serial Boot low-level initialization according to the RPC transport. * * input parameters * * None. * * output parameters * * None. * * @return None. */ static void sblHalInit(void) { halUARTCfg_t uartConfig; HalUARTInitISR(); uartConfig.configured = TRUE; uartConfig.baudRate = HAL_UART_BR_115200; uartConfig.flowControl = FALSE; uartConfig.flowControlThreshold = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.rx.maxBufSize = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.tx.maxBufSize = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.idleTimeout = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.intEnable = TRUE; uartConfig.callBackFunc = NULL; HalUARTOpenISR(&uartConfig); }
/************************************************************************************************** * @fn sblInit * * @brief SBL initialization. * * input parameters * * None. * * output parameters * * None. * * @return None. */ static void sblInit(void) { halUARTCfg_t uartConfig; /* This is in place of calling HalDmaInit() which would require init of the other 4 DMA * descriptors in addition to just Channel 0. */ HAL_DMA_SET_ADDR_DESC0(&dmaCh0); HalUARTInitISR(); uartConfig.configured = TRUE; uartConfig.baudRate = HAL_UART_BR_115200; uartConfig.flowControl = FALSE; uartConfig.flowControlThreshold = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.rx.maxBufSize = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.tx.maxBufSize = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.idleTimeout = 0; // CC2530 by #define - see hal_board_cfg.h uartConfig.intEnable = TRUE; uartConfig.callBackFunc = NULL; HalUARTOpenISR(&uartConfig); SB_INIT_LEDS(); }