Fire_RT1052_Pro_AzRTOS_Hello/src/app_entry.c

46 lines
1.1 KiB
C

/* SDK drivers */
#include "fsl_common.h"
/* ThreadX */
#include "tx_api.h"
/* App */
#include "app_thr.h"
extern void *__HeapLimit;
extern void *_tx_initialize_unused_memory;
void _tx_timer_interrupt(void);
static TX_THREAD hello_task_handle;
void tx_application_define(void *first_unused_memory) {
tx_thread_create(&hello_task_handle, "T_HE", hello_task, 0x00, first_unused_memory, 1024, 3, 3, TX_NO_TIME_SLICE,
TX_AUTO_START);
}
void _tx_initialize_low_level(void) {
DisableGlobalIRQ();
_tx_initialize_unused_memory = (VOID *)&__HeapLimit;
/* enable CPU cycle counter */
DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk;
SysTick_Config(SystemCoreClock / TX_TIMER_TICKS_PER_SECOND);
NVIC_SetPriority(MemoryManagement_IRQn, 0);
NVIC_SetPriority(BusFault_IRQn, 0);
NVIC_SetPriority(UsageFault_IRQn, 0);
NVIC_SetPriority(SVCall_IRQn, 0x0ff);
NVIC_SetPriority(DebugMonitor_IRQn, 0);
NVIC_SetPriority(PendSV_IRQn, 0x0ff);
NVIC_SetPriority(SysTick_IRQn, 0x40);
}
VOID SysTick_Handler(VOID) {
_tx_timer_interrupt();
}