MyFPGA Forum

 找回密码
 注册
搜索
查看: 5098|回复: 4
打印 上一主题 下一主题

求助:sdcard控制器在nios中编译出现错误

[复制链接]
跳转到指定楼层
1#
发表于 2011-10-12 16:47:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SD_Card_Controlle_SPI.rar (53.58 KB, 下载次数: 7)

出现错误都是在sd_controller.c这个文件,都是说       
undefined reference to `alt_nticks'        sd_controller.c       
请问是怎么回事?
2#
发表于 2011-10-13 11:15:32 | 只看该作者
添加头文件 <sys/alt_alarm.h> 这个是 HAL 的API 函数,可以在 HAL API Reference document 里面查找!
3#
 楼主| 发表于 2011-10-13 15:42:18 | 只看该作者
回复 2# liyongjie


    就如你所说的,我加了这个,编译就通过了。谢谢!
4#
发表于 2011-12-7 21:22:21 | 只看该作者
能不能给个简单的读SD卡的例子程序啊?
5#
 楼主| 发表于 2012-2-16 15:19:51 | 只看该作者
回复 4# cug0825


    int main()
{   
  alt_u8 led=0x2;
  volatile int a;

    printf( "---------FDDFDFDFFDHHH---------!\n");
//while(1)
//{

    for(a=0;a<30000;a++);
    led=0x1;
    *(unsigned int *)LED_PIO_BASE=led;
    for(a=0;a<30000;a++);
    led=0x2;

    *(unsigned int *)LED_PIO_BASE=led;
        
    for(a=0;a<30000;a++);
    led=0x1;
    *(unsigned int *)LED_PIO_BASE=led;
    for(a=0;a<30000;a++);
    led=0x2;
    *(unsigned int *)LED_PIO_BASE=led;
        for(a=0;a<30000;a++);
    led=0x1;
    *(unsigned int *)LED_PIO_BASE=led;
    for(a=0;a<30000;a++);
    led=0x2;
    *(unsigned int *)LED_PIO_BASE=led;
        for(a=0;a<30000;a++);
    led=0x1;
    *(unsigned int *)LED_PIO_BASE=led;
    for(a=0;a<30000;a++);
    led=0x2;
    *(unsigned int *)LED_PIO_BASE=led;
        for(a=0;a<30000;a++);
    led=0x1;
    *(unsigned int *)LED_PIO_BASE=led;
    for(a=0;a<30000;a++);
    led=0x2;
    *(unsigned int *)LED_PIO_BASE=led;
        for(a=0;a<30000;a++);
    led=0x1;
    *(unsigned int *)LED_PIO_BASE=led;
    for(a=0;a<30000;a++);
    led=0x2;
    *(unsigned int *)LED_PIO_BASE=led;
   
    /***************************sd卡的变量*************************/
  int i=0;
  int ret_code = 0;

  int volumes_mounted;

  char cc;
  int sd;

   
    char ditu_w[1000];
    FILE * fp_sd_w;

/***********************************初始化********************************/  
  printf( "FD OK!\n");
  printf( "test.................\n" );
  printf( "sd  loading...........\n" );

    // Initialize and mount the filesystem.
    volumes_mounted = sd_fat_mount_all();
    if( volumes_mounted <= 0 )
    {
        ret_code = -1;
        printf( "can't find Sd\n" );
    }
  else
  {
    // 读文件测试
    fp_sd_w= open("/dev/sd_controller_inst/Input_Files/w.txt","r");
    if(fp_sd_w<0)
    {
        printf( "open file %s error\n" , SD_CONTROLLER_INST_NAME );
        return 0;
    }
    i=0;
     do{
        sd=read(fp_sd_w,&cc,1);
        
        if(sd==1)
        {
         if(cc!='.')
          {
            if(cc!=',')
             {
                ditu_w=cc;
                  
             //   printf("%c",ditu_w);
                i=i+1;
             }
          }  
        }
        else break;
    }while(1);
    close(fp_sd_w);
int FD;
   for(FD=0;FD<i;FD++)
    {
        printf("%c",ditu_w[FD]);
    }

}
printf("\n FD IS OK \n");

  return 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2025-6-8 18:49 , Processed in 0.041794 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表