首页 新闻 会员 周边

IDE运行C代码总是报错,那位高手帮忙解决一下,谢谢!

0
悬赏园豆:5 [已关闭问题]

我是用ISS跑的工程,没有连硬件设备。总是报以下错误,请问可能是什么原因,谢谢!

Error! : Failed memory access in component cpu_0 - Unable to write data 0x1000 t
o invalid memory address 0x201018
Error! : Simulation failed in component cpu_0 at instruction 72532 (PC=0x109c90
instr=0x19000035).

问题补充: 我实在NIOS IDE下运行的,是一个进行DMA传输的工程,memory到uart,代码为: #include <stdio.h> #include <string.h> #include "system.h" #include "sys/alt_dma.h" int main(void) { alt_dma_rxchan rx; // 创建DMA接收信道 rx = alt_dma_rxchan_open("/dev/dma_0"); // 当信道创建成功 if(rx != NULL) {*/ printf("Dma transition start."); /* while(1) { //设置DMA传输的数据位宽 本例中为8位 alt_dma_rxchan_ioctl(rx,ALT_DMA_SET_MODE_8,NULL); //指定从uart接收数据 alt_dma_rxchan_ioctl(rx,ALT_DMA_RX_ONLY_ON,(void*)MEMORY_BASE); //提交DMA接收请求 指定接收数据的位置(sdram)以及传输数据量 if(alt_dma_rxchan_prepare(rx, UART_0_BASE, 1024, NULL, NULL) < 0) { printf ("Error: failed to post receive request\n"); } //关闭DMA接收信道 alt_dma_rxchan_close(rx); usleep(1000000); } } return 0; } 用iss进行仿真的
雨香的主页 雨香 | 初学一级 | 园豆:170
提问于:2009-09-04 18:25
< >
分享
其他回答(1)
0

最好详细点说明你的工作环境和出现问题的过程,

GoogLuck!

xufun | 园豆:210 (菜鸟二级) | 2009-09-06 20:40
0

没有连硬件设备,但你的代码要求写硬件的某个地址,在你的仿真环境下无法模拟,造成内存访问保护错误。

eaglet | 园豆:17139 (专家六级) | 2009-09-07 08:04
我把代码改成 #include <stdio.h> #include <string.h> #include "system.h" #include "sys/alt_dma.h" int main(void) { printf("Dma transition start."); return 0; } 仍然报这个错。 难道在连硬件设备之前没有办法调试程序么
支持(0) 反对(0) 雨香 | 园豆:170 (初学一级) | 2009-09-07 10:45
把一些设置IO的函数自己写个空函数,然后用宏替换掉,就可以调试了。
支持(0) 反对(0) eaglet | 园豆:17139 (专家六级) | 2009-09-07 18:19
能不能再具体一点,嘿嘿,比较笨!
支持(0) 反对(0) 雨香 | 园豆:170 (初学一级) | 2009-09-07 21:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册