Fire_RT1021_Watch/src/main.c

68 lines
1.2 KiB
C

/*
* Copyright 2024 NXP
* Copyright 2024 Yilin Sun <imi415@imi.moe>
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <stdio.h>
/* Board */
#include "board.h"
#include "clock_config.h"
#include "pin_mux.h"
/* FreeRTOS */
#include "FreeRTOS.h"
#include "task.h"
/* App */
#include "app_lvgl.h"
static void app_task_initialization(void *arguments);
int main(void) {
/* Init board hardware. */
BOARD_ConfigMPU();
BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitDebugConsole();
if (xTaskCreate(app_task_initialization, "Init", 2048, NULL, 2, NULL) != pdPASS) {
goto dead_loop;
}
vTaskStartScheduler();
dead_loop:
for (;;) {
__WFI();
}
}
void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName) {
printf("Task stack overflow in %s.\r\n", pcTaskName);
for (;;) {
__WFI();
}
}
void vApplicationMallocFailedHook(void) {
printf("Malloc failed.\r\n");
for (;;) {
__WFI();
}
}
static void app_task_initialization(void *arguments) {
app_lvgl_init();
for (;;) {
GPIO_PortToggle(BOARD_INITLEDPINS_LEDA_GPIO, BOARD_INITLEDPINS_LEDA_PIN_MASK);
vTaskDelay(pdMS_TO_TICKS(100));
}
}