MCUXpresso_MCXA153_GPIO/src/main.c

57 lines
1.1 KiB
C

/* Board */
#include "board.h"
#include "clock_config.h"
#include "peripherals.h"
#include "pin_mux.h"
/* ThreadX */
#include "tx_api.h"
/* App */
#include "app_init.h"
extern void *__HeapLimit;
extern void *_tx_initialize_unused_memory;
extern void _tx_timer_interrupt(void);
void tx_application_define(void *first_unused_memory) {
tx_thread_create(&app_init_thread_id, "INIT", app_init_thread, 0, first_unused_memory, 1024, 3, 3, TX_NO_TIME_SLICE,
TX_AUTO_START);
}
void _tx_initialize_low_level(void) {
const uint32_t primask = DisableGlobalIRQ();
_tx_initialize_unused_memory = (void *)&__HeapLimit;
DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk;
SysTick_Config(CLOCK_GetCoreSysClkFreq() / TX_TIMER_TICKS_PER_SECOND);
NVIC_SetPriority(SVCall_IRQn, 7);
NVIC_SetPriority(PendSV_IRQn, 7);
NVIC_SetPriority(SysTick_IRQn, 6);
EnableGlobalIRQ(primask);
}
void SysTick_Handler(void) {
_tx_timer_interrupt();
}
int main(void) {
BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitBootPeripherals();
BOARD_InitDebugConsole();
tx_kernel_enter();
for (;;) {
__WFI();
}
}