generated from Embedded_Projects/Landzo_K60Z_LwIP
103 lines
2.3 KiB
C
103 lines
2.3 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"
|
|
|
|
FATFS g_fs; /* File system object */
|
|
|
|
static void vTaskHello(void *pvParameters);
|
|
static void mtls_selftests(int verbose);
|
|
|
|
int main(void) {
|
|
BOARD_InitBootPins();
|
|
BOARD_BootClockRUN();
|
|
BOARD_InitBootPeripherals();
|
|
|
|
BOARD_DisableSYSMPU();
|
|
BOARD_EnableRTC();
|
|
|
|
BOARD_InitDebugConsole();
|
|
|
|
print_hardware();
|
|
sram_test();
|
|
|
|
// mtls_selftests(1);
|
|
|
|
xTaskCreate(vTaskHello, "HELLO", 256, NULL, 32, NULL);
|
|
|
|
vTaskStartScheduler();
|
|
|
|
for (;;) {
|
|
__WFI();
|
|
}
|
|
}
|
|
|
|
static void vTaskHello(void *pvParameters) {
|
|
if (f_mount(&g_fs, "0:/", 1U)) {
|
|
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);
|
|
} |