繁体   English   中英

将数据从SD卡复制到ARM上的RAM

[英]Copy data from SD card to RAM on ARM

我需要你的帮助! 我想将一个文件从SD卡复制到我的ARM Cortex A9的内存中(以便更快地将其传输到FPGA)。 但我不知道文件的起始地址和大小。 有没有可能找到这些信息? 我有一些带有FPGA的exp,但没有mC和ARM =(

提前谢谢了! Djrem

您将需要一些文件系统层,可以正确解释SD卡的内容。 这种卡通常不会用作原始闪存,而是在顶部使用文件系统层,为您提供目录和文件。 当在设备之间移动卡时,这当然是必要的,以使其可互操作。

一旦你有了一个文件系统驱动程序,你就可以基本上打开SD卡上的文件进行读取,然后坐在循环中读取一些合适大小的块。 对于读入的每个块,只需将其复制到RAM中所需的地址即可。 当然,您也可以直接将其读取到正确的地址,跳过副本。

在伪C中,它基本上只是:

FILE *in;

if((in = fopen("sd0:\\file.dat", "rb")) != NULL)
{
  unsigned char *target = (unsigned char *) 0xec008000; /* totally random */
  size_t got;
  while((got = fread(target, 1024, 1, in)) > 0)
  {
    target += got;
  }
  fclose(in);
}

当然,您可能不会使用stdio ,因此fopen()fread()fclose()函数将根据您的文件系统驱动程序而有所不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM