STATIC BYTE_T *test_read_file_form_sd(CHAR_T *mount_point, CHAR_T *file_name)
{
    OPERATE_RET op_ret = OPRT_COM_ERROR;
    TUYA_FILE fd = NULL;
    UINT_T file_len = 0;
    CHAR_T file_path[32] = {0};
    BYTE_T *file_data = NULL;

    op_ret = tkl_fs_mount(mount_point, DEV_SDCARD);
    if (op_ret == OPRT_OK) {
        snprintf(file_path, sizeof(file_path), "%s%s", mount_point, file_name);
        fd = tkl_fopen(file_path, "r");
        if(fd == NULL) {
            TAL_PR_ERR("[%s][%d] open file %s fail ?\r\n", __FUNCTION__, __LINE__, file_name);
        }
        else {
            tkl_fseek(fd, 0, 0x02);         //SEEK_END
            file_len = tkl_ftell(fd);
            tkl_fseek(fd, 0, 0x00);         //SEEK_SET
            if(file_len <= 0){
                TAL_PR_ERR("[%s][%d] %s don't exit in sd\r\n", __FUNCTION__, __LINE__, file_name);
            }
            else {
                file_data = tal_malloc(file_len);
                if (NULL == file_data) {
                    TAL_PR_ERR("tal_malloc fail");
                    op_ret = OPRT_MALLOC_FAILED;
                }
                else {
                    if(tkl_fread(file_data, file_len, fd) > 0)
                        op_ret = OPRT_OK;
                    else {
                        tal_free(file_data);
                    }
                }
            }
            tkl_fclose(fd);
        }
    }

    return file_data;
}