/* * Storage_Test.c * * Created on: 2020¦~4¤ë21¤é * Author: Wendell */ #include "Storage_Test.h" #include #include #include //write, close, usleep, read #include //uart #include void Mount_SD_Card_to_MMT(void) { system("mount /dev/mmcblk0p1 /mnt"); } void Write_To_SD_Card(void) { system("echo sd card write test > /mnt/sd_test.txt"); } void Unmount_SD_Card_From_MMT(void) { system("umount /mnt"); } void Mount_SD_Card_to_UsbFlash(void) { system("mount /dev/mmcblk0p1 /UsbFlash"); } int Is_SD_Card_Write_OK(void) { int result = 0; FILE *fp; char buf[512]; fp = fopen("/UsbFlash/sd_test.txt", "r"); if(fp == NULL) { return result; } else { while(fgets(buf, sizeof(buf), fp) != NULL) { if(strncmp(buf, "sd card write test", 18) == 0) { result = 1; } } } fclose(fp); return result; } void Remove_SD_Card_File_From_UsbFlash(void) { system("rm /UsbFlash/sd_test.txt -f"); } void Unmount_SD_Card_From_UsbFlash(void) { system("umount /UsbFlash"); } void Mount_USB_to_MMT(void) { system("mount /dev/sda1 /mnt"); } void Write_To_USB(void) { system("echo usb write test > /mnt/usb_test.txt"); } void Unmount_USB_From_MMT(void) { system("umount /mnt"); } void Mount_USB_to_UsbFlash(void) { system("mount /dev/sda1 /UsbFlash"); } int Is_USB_Write_OK(void) { int result = 0; FILE *fp; char buf[512]; fp = fopen("/UsbFlash/usb_test.txt", "r"); if(fp == NULL) { return result; } else { while(fgets(buf, sizeof(buf), fp) != NULL) { if(strncmp(buf, "usb write test", 14) == 0) { result = 1; } } } fclose(fp); return result; } void Remove_USB_File_From_UsbFlash(void) { system("rm /UsbFlash/usb_test.txt -f"); } void Unmount_USB_From_UsbFlash(void) { system("umount /UsbFlash"); } void DoStorageTest(void) { Mount_SD_Card_to_MMT(); Write_To_SD_Card(); Unmount_SD_Card_From_MMT(); Mount_SD_Card_to_UsbFlash(); if(Is_SD_Card_Write_OK() == 0) { printf("\r\nSD Card Write Test Fail"); Remove_SD_Card_File_From_UsbFlash(); Unmount_SD_Card_From_UsbFlash(); return; } printf("\r\nSD Card Write Test OK"); Remove_SD_Card_File_From_UsbFlash(); Unmount_SD_Card_From_UsbFlash(); Mount_USB_to_MMT(); Write_To_USB(); Unmount_USB_From_MMT(); Mount_USB_to_UsbFlash(); if(Is_USB_Write_OK() == 0) { printf("\r\nUSB Write Test Fail"); Remove_USB_File_From_UsbFlash(); Unmount_USB_From_UsbFlash(); return; } printf("\r\nUSB Write Test OK"); Remove_USB_File_From_UsbFlash(); Unmount_USB_From_UsbFlash(); printf("\r\nStorage Test Done!"); printf("\r\nSuccess!\r\n"); }