搜索
bottom↓
回复: 8

今天尝试了一下NIOSII,处女作就折戟沉江,求各位帮助

[复制链接]

出0入0汤圆

发表于 2009-10-25 14:28:37 | 显示全部楼层 |阅读模式
准备进军SOPC,今天按书上介绍的流程根据自己的原理图用NIOSII写了一个小程序,结果无法MAKE,太打击了……

编译报告如下:
make -s all includes
Compiling hello_world.c...
Linking hello_world_0.elf...
/cygdrive/e/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: region onchip_memory2_0 is full (hello_world_0.elf section .rwdata). Region needs to be 996 bytes larger.
/cygdrive/e/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: section .bss [00002020 -> 00002233] overlaps section .exceptions [00002020 -> 000021c7]
/cygdrive/e/FPGA/hello_world_0_syslib/Debug/libhello_world_0_syslib.a(alt_close.o)(.text+0x128): In function `alt_get_errno':
/cygdrive/e/altera/90/nios2eds/components/altera_hal/HAL/inc/sys/alt_errno.h:81: Unable to reach errno (at 0x00002024) from the global pointer (at 0x0000c38c) because the offset (-41832) is out of the allowed range, -32678 to 32767.

collect2: ld returned 1 exit status
make: *** [hello_world_0.elf] Error 1
Build completed in 5.859 seconds

似乎我的源程序没什么错误吧,根据提示好像是说我的片上内存区域设置过小?但我在SOPC BUILDER里设置的是8192Bytes啊,为什么还会这样报错呢?FPGA是EP2C8Q208C8N,谢谢各位指点


内存分配设置 (原文件名:memory.JPG)

出0入71汤圆

发表于 2009-10-25 15:44:18 | 显示全部楼层
估计你想用printf打印东西,用了这个函数在这个存储大小下小了

出0入0汤圆

 楼主| 发表于 2009-10-25 16:12:13 | 显示全部楼层
源程序如下,没有使用printf函数

#include "system.h"
#include "alt_types.h"

#include "altera_avalon_pio_regs.h"

int main()
{
  alt_u8 led = 0x2;
  volatile int i;
  while(1)
  {
    for(i=0;i<200000;i++);
    led=0x1;
    IOWR_ALTERA_AVALON_PIO_DATA(PIO_1_BASE,led);
    for(i=0;i<200000;i++);
    led=0x2;
    IOWR_ALTERA_AVALON_PIO_DATA(PIO_1_BASE,led);
  }
  return 0;
}

出0入0汤圆

发表于 2009-10-25 21:32:24 | 显示全部楼层
Nios II  嵌入处理器,,太复杂了。。太深奥了。。太繁琐了。。不到万不得已,俺是不打算使用的。也没学过。

Nios II 有标准的CPU嵌入库吗???——例如:PIC 单片机的库??ATMAIL 单片机的库???51 单片机的库??

ALTERA 的 Nios II 最小,需要多大“门数”的FPGA 或者 CPLD 芯片呢???(8万等效门,够吗??)

出0入0汤圆

发表于 2009-10-25 21:57:54 | 显示全部楼层
LS 的应该接受XILINX Microblaze及其开发环境的洗礼。

出0入0汤圆

发表于 2009-10-26 12:00:00 | 显示全部楼层
你为什么用HELLO_WORD模板 不用HELLO_LED模板?
我用的是NIOS II 9.0SP2,找不到HELLO_LED模板 你是不是也是这样?
看提示貌似是说RAM不够 会不会是 自动分配变量地址出现问题?
我也是新手 用的是EP2C5Q208C8N 大家共同学习下

出0入0汤圆

发表于 2009-10-27 15:08:48 | 显示全部楼层
呵呵
这样做吧


出0入0汤圆

发表于 2009-10-27 15:12:45 | 显示全部楼层
注意一下,main要用alt_main替代
那个例子里面有。
但printf很占地方,片上的空间不够~

出0入0汤圆

发表于 2009-10-28 14:00:47 | 显示全部楼层
我也出过这样的错误,是内部ROM不够! 你可以将将代码优化一下!选-os
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 12:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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