generated from Embedded_Projects/FRDM_MCXA153_Template
57 lines
1.1 KiB
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();
|
|
}
|
|
}
|