/* * Copyright 2024 NXP * Copyright 2024 Yilin Sun * All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ #include /* 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)); } }