首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

nios2问题,高手帮帮我吧!

nios2问题,高手帮帮我吧!

小弟在quartusII中建立了工程,然后在nios中写了一个很基本的程序,程序如下:

      #include <stdio.h>
    #include <altera_avalon_pio_regs.h>
   int main()
     {
     IOWR(0x00003800, 0, 1);
     IOWR(0x00003810, 0, 1);
    IOWR(0x00003820, 0, 1);
    IOWR(0x00003830, 0, 0);
    IOWR(0x00003840, 0, 0);
    IOWR(0x00003850, 0, 0);
    /*printf("Hello from Nios II!\n");*/

    return 0;
  }

可是在编译的时候总是出现"onchip memory is full"

不知道问题出在哪儿,大侠们不要笑话啊,指点下小弟,谢了!

顾名思义,nochip memory满了啊

最终的代码比你实际想象的还要大很多,估计你的程序至少几十K

如果你的系统有SDRAM的话,就将代码映射到SDRAM

博客: http://NiosII.cublog.cn

我用的板子只有一块cycloneII芯片EP2C20F484C8 ,板上其他的芯片另有用途,此芯片没有外连其他存储器了.这款芯片有52*4K的存储空间,我在定义onchip memory的大小时,即使选满了这么多的存储空间也会在编译的时候出现同样的错误.

那会是什么问题呢,空间应该够了啊,会不会是我的程序有问题呢?

“这款芯片有52*4K的”中的是4Kbit,26KB

如果实在不行,你可以用hello world small来写,会小得多,或者在存在片外。

这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm
都是高手啊。。。

我用hello world small来写了,还是不行!!!片外又没有存储器,怎么办啊,还是出现同样的错误?!

片内总共有52块ram,其中每块ram的空间是4KByte,跑这么一个简单的程序应该够了啊,是怎么回事呢,欲哭无泪啊??!!!

怎么没有人回答啊???

52快M4k的ram值得是4k bit,所以只有26kB的ram空间,你做做代码优化,编译优化,差不多够吧。
在交流中前进,共同实现nios的应用。
"52快M4k的ram值得是4k bit,所以只有26kB的ram空间",这是为什么?
每块ram的值是4Kbyte啊???!!!

是4Kbit

你的问题在于不了解NiosII软件架构,所以你还没能力优化代码

Ø        NiosII IDE为用户提供了很多的支持和服务,比如系统初始化、外设初始化等等操作都是由IDE自动完成的,用户可以把全部精力放在应用程序即main函数的开发上;上述自动化操作是由NiosII的软件架构决定的,它将自动加载crt0.Salt_main.calt_sys_init.c、相关外设驱动以及中断处理函数等代码到最终的可执行文件,从而使得最终的代码量大大超出了用户的想象;

更详细的介绍请再过几天参考:【置顶】NiosII之常见问题解答静态加密版本-2007.08.31更新

过几天我将把这个问题添加进去!

博客: http://NiosII.cublog.cn

如果只是楼主那个简单IO口控制程序的话,在Hello LED模板基础上改,保证不会超出大小,直接用main函数就行,注意包含io.h
********求知欲和创造欲是原动力********
你在编译的时候选一个选项:Small C library.那样编译出来的容量就很小了!

恩,用hello world small 代码会很小.

[此贴子已经被作者于2007-9-15 21:08:19编辑过]

返回列表