Landzo_K60Z_WebServer/src/main.c

103 lines
2.2 KiB
C

#include <stdio.h>
#include <time.h>
/* SDK drivers */
#include "fsl_sdhc.h"
/* HW Related */
#include "board.h"
#include "clock_config.h"
#include "peripherals.h"
#include "pin_mux.h"
/* Console */
#include "fsl_debug_console.h"
/* MISC */
#include "ip_stack_helpers.h"
#include "system_utilities.h"
/*FreeRTOS*/
#include "FreeRTOS.h"
#include "task.h"
/* FatFS */
#include "ff.h"
/* MbedTLS */
#include "mbedtls/aes.h"
#include "mbedtls/gcm.h"
#include "mbedtls/sha1.h"
#include "mbedtls/sha256.h"
#include "mbedtls/sha512.h"
static void vTaskHello(void *pvParameters);
static void mtls_selftests(int verbose);
int main(void) {
BOARD_InitBootPins();
BOARD_BootClockRUN();
BOARD_InitBootPeripherals();
BOARD_InitDebugConsole();
BOARD_EnableRTC();
print_hardware();
sram_test();
// mtls_selftests(1);
xTaskCreate(vTaskHello, "HELLO", 256, NULL, 32, NULL);
vTaskStartScheduler();
for (;;) {
__WFI();
}
}
static void vTaskHello(void *pvParameters) {
FATFS fs; /* File system object */
if (f_mount(&fs, "0:/", 0U)) {
PRINTF("Mount volume failed.\r\n");
vTaskDelete(NULL);
}
FRESULT error = f_mkdir(_T("0:/dir_1"));
if (error) {
if (error == FR_EXIST) {
PRINTF("Directory exists.\r\n");
} else {
PRINTF("Make directory failed.\r\n");
vTaskDelete(NULL);
}
}
ip_stack_setup();
time_t t;
struct tm *cur_tm;
for (;;) {
vTaskDelay(pdMS_TO_TICKS(1000));
t = time(NULL);
cur_tm = localtime(&t);
printf("Current time: %04d-%02d-%02d %02d:%02d:%02d\r\n", cur_tm->tm_year + 1900, cur_tm->tm_mon + 1,
cur_tm->tm_mday, cur_tm->tm_hour, cur_tm->tm_min, cur_tm->tm_sec);
}
}
static void mtls_selftests(int verbose) {
uint8_t failed_cases = 0;
if (mbedtls_aes_self_test(verbose) != 0) failed_cases++;
if (mbedtls_gcm_self_test(verbose) != 0) failed_cases++;
if (mbedtls_sha1_self_test(verbose) != 0) failed_cases++;
if (mbedtls_sha256_self_test(verbose) != 0) failed_cases++;
if (mbedtls_sha512_self_test(verbose) != 0) failed_cases++;
printf("MbedTLS selftests completed, %d case(s) failed.\r\n", failed_cases);
}