46 lines
1.1 KiB
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();
|
|
}
|