/*..........................................................................*/ uint8_t QS_onStartup(void const *arg) { static uint8_t qsBuf[2*1024]; /* buffer for Quantum Spy */ QS_initBuf(qsBuf, sizeof(qsBuf)); // setup the P0_2 UART0 TX pin LPC_PINCON->PINSEL0 &= ~(3U << 4); /* clear P0_2 function */ LPC_PINCON->PINSEL0 |= (1U << 4); /* P0_2 to UART function (TX) */ LPC_PINCON->PINMODE0 &= ~(3U << 4); /* P0_2 pull-up register */ // setup the P0_3 UART0 RX pin LPC_PINCON->PINSEL0 &= ~(3U << 6); /* clear P0_3 function */ LPC_PINCON->PINSEL0 |= (1U << 6); /* P0_3 to UART function (RX) */ LPC_PINCON->PINMODE0 &= ~(3U << 6); /* P0_3 pull-up register */ /* enable power to UART0 */ LPC_SC->PCONP |= (1U << 3); /* enable FIFOs and default RX trigger level */ LPC_UART0->FCR = (1U << 0) /* FIFO Enable - 0 = Disables, 1 = Enabled */ | (0U << 1) /* Rx Fifo Reset */ | (0U << 2) /* Tx Fifo Reset */ | (0U << 6); /* Rx irq trig: 0=1char, 1=4chars, 2=8chars, 3=14chars */ /* disable IRQs */ LPC_UART0->IER = (0U << 0) /* Rx Data available IRQ disable */ | (0U << 1) /* Tx Fifo empty IRQ disable */ | (0U << 2); /* Rx Line Status IRQ disable */ // set default baud rate UART0_setBaudrate(115200U); // format 8-data-bits, 1-stop-bit, parity-none LPC_UART0->LCR = (3U << 0) /* 8-data-bits */ | (0U << 2) /* 1 stop-bit */ | (0U << 3) /* parity disable */ | (0U << 4); /* parity none */ QS_tickPeriod_ = SystemCoreClock / BSP_TICKS_PER_SEC; QS_tickTime_ = QS_tickPeriod_; /* to start the timestamp at zero */ /* setup the QS filters... */ QS_FILTER_ON(QS_QEP_STATE_ENTRY); QS_FILTER_ON(QS_QEP_STATE_EXIT); QS_FILTER_ON(QS_QEP_STATE_INIT); QS_FILTER_ON(QS_QEP_INIT_TRAN); QS_FILTER_ON(QS_QEP_INTERN_TRAN); QS_FILTER_ON(QS_QEP_TRAN); QS_FILTER_ON(QS_QEP_IGNORED); QS_FILTER_ON(QS_QEP_DISPATCH); QS_FILTER_ON(QS_QEP_UNHANDLED); QS_FILTER_ON(PHILO_STAT); return (uint8_t)1; /* return success */ }
/*..........................................................................*/ uint8_t QS_onStartup(void const *arg) { static uint8_t qsBuf[2*1024]; /* buffer for Quantum Spy */ QS_initBuf(qsBuf, sizeof(qsBuf)); // setup the P0_2 UART0 TX pin LPC_PINCON->PINSEL0 &= ~(3U << 4); /* clear P0_2 function */ LPC_PINCON->PINSEL0 |= (1U << 4); /* P0_2 to UART function (TX) */ LPC_PINCON->PINMODE0 &= ~(3U << 4); /* P0_2 pull-up register */ // setup the P0_3 UART0 RX pin LPC_PINCON->PINSEL0 &= ~(3U << 6); /* clear P0_3 function */ LPC_PINCON->PINSEL0 |= (1U << 6); /* P0_3 to UART function (RX) */ LPC_PINCON->PINMODE0 &= ~(3U << 6); /* P0_3 pull-up register */ /* enable power to UART0 */ LPC_SC->PCONP |= (1U << 3); /* enable FIFOs and default RX trigger level */ LPC_UART0->FCR = (1U << 0) /* FIFO Enable - 0 = Disables, 1 = Enabled */ | (0U << 1) /* Rx Fifo Reset */ | (0U << 2) /* Tx Fifo Reset */ | (0U << 6); /* Rx irq trig: 0=1char, 1=4chars, 2=8chars, 3=14chars */ /* disable IRQs */ LPC_UART0->IER = (0U << 0) /* Rx Data available IRQ disable */ | (0U << 1) /* Tx Fifo empty IRQ disable */ | (0U << 2); /* Rx Line Status IRQ disable */ // set default baud rate UART0_setBaudrate(115200U); // format 8-data-bits, 1-stop-bit, parity-none LPC_UART0->LCR = (3U << 0) /* 8-data-bits */ | (0U << 2) /* 1 stop-bit */ | (0U << 3) /* parity disable */ | (0U << 4); /* parity none */ QS_tickPeriod_ = SystemCoreClock / BSP_TICKS_PER_SEC; QS_tickTime_ = QS_tickPeriod_; /* to start the timestamp at zero */ /* setup the QS filters... */ QS_FILTER_ON(QS_QEP_STATE_ENTRY); QS_FILTER_ON(QS_QEP_STATE_EXIT); QS_FILTER_ON(QS_QEP_STATE_INIT); QS_FILTER_ON(QS_QEP_INIT_TRAN); QS_FILTER_ON(QS_QEP_INTERN_TRAN); QS_FILTER_ON(QS_QEP_TRAN); QS_FILTER_ON(QS_QEP_IGNORED); QS_FILTER_ON(QS_QEP_DISPATCH); QS_FILTER_ON(QS_QEP_UNHANDLED); // QS_FILTER_ON(QS_QF_ACTIVE_ADD); // QS_FILTER_ON(QS_QF_ACTIVE_REMOVE); // QS_FILTER_ON(QS_QF_ACTIVE_SUBSCRIBE); // QS_FILTER_ON(QS_QF_ACTIVE_UNSUBSCRIBE); // QS_FILTER_ON(QS_QF_ACTIVE_POST_FIFO); // QS_FILTER_ON(QS_QF_ACTIVE_POST_LIFO); // QS_FILTER_ON(QS_QF_ACTIVE_GET); // QS_FILTER_ON(QS_QF_ACTIVE_GET_LAST); // QS_FILTER_ON(QS_QF_EQUEUE_INIT); // QS_FILTER_ON(QS_QF_EQUEUE_POST_FIFO); // QS_FILTER_ON(QS_QF_EQUEUE_POST_LIFO); // QS_FILTER_ON(QS_QF_EQUEUE_GET); // QS_FILTER_ON(QS_QF_EQUEUE_GET_LAST); // QS_FILTER_ON(QS_QF_MPOOL_INIT); // QS_FILTER_ON(QS_QF_MPOOL_GET); // QS_FILTER_ON(QS_QF_MPOOL_PUT); // QS_FILTER_ON(QS_QF_PUBLISH); // QS_FILTER_ON(QS_QF_RESERVED8); // QS_FILTER_ON(QS_QF_NEW); // QS_FILTER_ON(QS_QF_GC_ATTEMPT); // QS_FILTER_ON(QS_QF_GC); QS_FILTER_ON(QS_QF_TICK); // QS_FILTER_ON(QS_QF_TIMEEVT_ARM); // QS_FILTER_ON(QS_QF_TIMEEVT_AUTO_DISARM); // QS_FILTER_ON(QS_QF_TIMEEVT_DISARM_ATTEMPT); // QS_FILTER_ON(QS_QF_TIMEEVT_DISARM); // QS_FILTER_ON(QS_QF_TIMEEVT_REARM); // QS_FILTER_ON(QS_QF_TIMEEVT_POST); // QS_FILTER_ON(QS_QF_TIMEEVT_CTR); // QS_FILTER_ON(QS_QF_CRIT_ENTRY); // QS_FILTER_ON(QS_QF_CRIT_EXIT); // QS_FILTER_ON(QS_QF_ISR_ENTRY); // QS_FILTER_ON(QS_QF_ISR_EXIT); // QS_FILTER_ON(QS_QF_INT_DISABLE); // QS_FILTER_ON(QS_QF_INT_ENABLE); // QS_FILTER_ON(QS_QF_ACTIVE_POST_ATTEMPT); // QS_FILTER_ON(QS_QF_EQUEUE_POST_ATTEMPT); // QS_FILTER_ON(QS_QF_MPOOL_GET_ATTEMPT); // QS_FILTER_ON(QS_QF_RESERVED1); // QS_FILTER_ON(QS_QF_RESERVED0); // QS_FILTER_ON(QS_QK_MUTEX_LOCK); // QS_FILTER_ON(QS_QK_MUTEX_UNLOCK); // QS_FILTER_ON(QS_QK_SCHEDULE); // QS_FILTER_ON(QS_QK_RESERVED1); // QS_FILTER_ON(QS_QK_RESERVED0); // QS_FILTER_ON(QS_QEP_TRAN_HIST); // QS_FILTER_ON(QS_QEP_TRAN_EP); // QS_FILTER_ON(QS_QEP_TRAN_XP); // QS_FILTER_ON(QS_QEP_RESERVED1); // QS_FILTER_ON(QS_QEP_RESERVED0); QS_FILTER_ON(QS_SIG_DICT); QS_FILTER_ON(QS_OBJ_DICT); QS_FILTER_ON(QS_FUN_DICT); QS_FILTER_ON(QS_USR_DICT); QS_FILTER_ON(QS_EMPTY); QS_FILTER_ON(QS_RESERVED3); QS_FILTER_ON(QS_RESERVED2); QS_FILTER_ON(QS_TEST_RUN); QS_FILTER_ON(QS_TEST_FAIL); QS_FILTER_ON(QS_ASSERT_FAIL); return (uint8_t)1; /* return success */ }