#include "board.h" #include "clock_config.h" #include "peripherals.h" #include "pin_mux.h" /* Debug console */ #include "fsl_debug_console.h" /* FreeRTOS */ #include "FreeRTOS.h" #include "task.h" /* App */ #include "app_sdio.h" #define INITIALIZE_TASK_STACK_DEPTH (2048) static void initialize_task(void *parameters); int main(void) { BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitBootPeripherals(); BOARD_ConfigMPU(); BOARD_InitDebugConsole(); CLOCK_SetMode(kCLOCK_ModeRun); PRINTF("CPU frequency: %d\r\n", CLOCK_GetCoreSysClkFreq()); if (xTaskCreate(initialize_task, "INIT", INITIALIZE_TASK_STACK_DEPTH, NULL, 2, NULL) != pdPASS) { PRINTF("Failed to create initialization task.\r\n"); } vTaskStartScheduler(); for (;;) { __WFI(); } } static void initialize_task(void *parameters) { PRINTF("Initialization task running...\r\n"); int ret = app_sdio_init(); if (ret != 0) { PRINTF("SDIO card initialization failed...\r\n"); } else { PRINTF("SDIO card initialization succeeded.\r\n"); uint32_t mfid = app_sdio_get_id(); PRINTF("Read card VID/PID: %04x:%04x\r\n", (mfid >> 16U), (mfid & 0xFFFFU)); } PRINTF("Initialization task exit.\r\n"); vTaskDelete(NULL); }