VxWorks里怎样load一个文件到内存?

电子说

1.2w人已加入

描述

VxWorks里怎样load一个文件到内存? 这个文件可以是在SD、USB、ATA这类的存储设备,也可以通过ftp网络下载;

下面是相关的实现代码,分享给大家:

STATUS ldToMem
    (
    char * fileName
    )
{
        UINT8 * pData;
        FILE *  fp;
        UINT32  FileSize;


        if (NULL == (fp = fopen(fileName,"rb")))
        {
            printf("open file failure\\n");
            return ERROR;
        }


#if FALSE
        pfile = fopen("/sd0:0/fileName","rb");
#endif


        fseek (fp, 0, SEEK_END);
        FileSize = (UINT32) ftell (fp);
        fseek (fp, 0, SEEK_SET);


        if ((pData = malloc(FileSize)) == NULL)
        {
            printf("malloc failure\\n");
            return ERROR;
        }


        if (fread (pData, 1, FileSize, fp) != FileSize)
        {
            printf("malloc failure\\n");
            free(pData);
            return ERROR;
        }


        printf("ldToMem OK pointer @ 0xx FileSize %d\\n",pData, FileSize);
}
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分