OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7080|回复: 1

[ALTERA] nios ii程序配置问题,读取文件错误

[复制链接]

21

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2019-1-18
在线时间
101 小时
发表于 2020-8-12 15:31:27 | 显示全部楼层 |阅读模式
60金钱
跑通nios iisdram例程后,尝试读取文件中的数据存储到SDRAM。用fopen打开一个txt或者是dat、xls文件,总是错误。用peeror方法返回错误类型,提示“No such device”,如下图。只是很简单的调用了函数,txt文件也已经复制到c文件所在目录,如图,网上常见的改绝对地址等等常见办法都试过了,这是哪里还有问题呢?全部代码附上
  1. /*
  2. * Try to use SDRAM
  3. */


  4. #include <stdio.h>     //标准输入输出头文件
  5. #include <stdlib.h>
  6. #include "system.h"    //系统头文件
  7. #include "alt_types.h" //数据类型头文件
  8. #include "string.h"



  9. int main(void){
  10.         //SDRAM地址
  11.         alt_u8  *ram = (alt_u8 *)(SDRAM_BASE+0x500000);

  12.     FILE *in = NULL;
  13.     char context[1024];
  14.     char data[1024];
  15.     int i= 0;

  16.     //向ram中写数据,当ram写完以后,ram的地址已经变为(SDRAM_BASE+0x10000+200)
  17.     memset(ram,0,100);

  18. //    in = fopen("C://Users/98467/Desktop/1.txt","r");
  19.     in = fopen("1.txt","r");

  20.     if (in == NULL)
  21.     {
  22.         perror("open file error");
  23.     }
  24.     while(!feof(in))
  25.     {
  26.         fscanf(in,"%h",&data[i]);
  27.         printf("%h  ",data[i]);
  28.         i++;
  29.     }

  30.     fclose(in);

  31.         int ii;

  32.     for(ii=0;ii<100;ii++){
  33.         *(ram++) = ii;
  34.     }
  35.     //逆向读取ram中的数据
  36.     for(ii=0;ii<100;ii++){
  37.         printf("%d ",*(--ram));
  38.     }
  39.     return 0;
  40. }
复制代码
另,我在文件无法读取后将例程程序附在了后面,观察是否能打印出99-0这100个数,发现不行。这部分我有些生疏,是因为打开文件失败程序自动抛出了吗?后面的程序就不再执行了?

错误提示

错误提示
文件目录.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2019-1-18
在线时间
101 小时
 楼主| 发表于 2020-8-14 08:28:24 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 19:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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