搭建Nios ii的Ecos开发环境

 注:文章转载请注明出处,谢谢!

我们这边好像很少有人用Ecos,关于Ecos的相关简介大家可以在网上查阅,在这里我主要介绍一下怎样在altera 的 nios ii IDE 上搭建Ecos,我用的是Nios ii 7.2,而Ecos现在的最高版本是 ecos for nios ii 5.1的。
首先我们要下载nios2ecos51.exe,下载链接是:
http://forum.niosforum.com/downloads/ecos/nios2ecos51.exe
在安装之前我们要修改现在的Nios II Ide的版本,不然装不上,打开<nios2 IDE的安装目录>,例如我的是D:/altera/72/nios2eds,用记事本打开当前目录下的version.ptf文件,修改  
   number = "7.2";
   major = "7";
   minor = "2";
分别为:
   number = "5.1";
   major = "5";
   minor = "1";
现在你可以安装nios2ecos51.exe了,安装完后将version.ptf改回来即可.
我们现在打开 Nios II Command Shell,大家应该知道在哪。
nios2configtool的使用命令如下:
nios2configtool –-ptf=<SOPC builder PTF file> --cpu=<name of CPU>
例如以目标板为1c20为例:
> nios2configtool --ptf=$SOPC_KIT_NIOS2/examples/verilog/niosII_cyclone_1c20/standard/NiosII_cyclone_1c20_standard.ptf --cpu=cpu
这时会自动弹出configtool界面,你可以选择配置模板Build->Templates… ,我们这里选择的是Hardware:Nios II Development Board(Altera),Packages:default,也就是默认的,你也可以选择其他的。
在编译库之前我们修要修改几个地方,应为这个工具默认是为Nios ii 5.1配置的,而7.1有些目录是不一样的,这里主要修改两个地方:
Configuration ->eCos HAL ->HAL SOPC drivers ->Altera Avalon UART comm driver:Additional compiler flags
Configuration ->eCos HAL ->HAL SOPC drivers ->Altera Avalon JTAG UART comm driver:Additional compiler flags 
Configuration ->eCos HAL ->HAL SOPC drivers ->Altera Avalon Timer comm driver:Additional compiler flags
它们默认分别是:
-I'$(QUARTUS_ROOTDIR)'/sopc_builder/components/altera_avalon_uart/inc -I$(PREFIX)/include/cyg/hal
-I'$(QUARTUS_ROOTDIR)'/sopc_builder/components/altera_avalon_jtag_uart/inc -I$(PREFIX)/include/cyg/hal
-I'$(QUARTUS_ROOTDIR)'/sopc_builder/components/altera_avalon_timer/inc -I$(PREFIX)/include/cyg/hal

Configuration ->Serial device drivers ->Hardware serial device device ->***->Additional compiler flags
(在这里可能是灰的,你可以将Hardware serial device device打上勾,改了在换回去)。
我们要该的只是-I'$(QUARTUS_ROOTDIR)'/sopc_builder/components/altera_avalon_uart/inc,例如我们将这个改为:
-I/cygdrive/d/altera/72/ip/sopc_builder_ip/altera_avalon_uart/inc
/cygdrive/d/altera/72/ip是我Ip库安装的路径,如果你的在E盘,那么你都应该是
/cygdrive/e/<ip库的路径>。
保存ecc文件,我保存的是hello.ecc,在目录“D:/altera/72/mywork”下,当然你可以保存在你自己的目录下。
修改完这六个之后,我们就可以Build->Libary了,这个有点慢,注意看下面console的输出,在一切Ok之后我们就可以新建软件工程了,我是用的IDE编译的。
将 “D:/altera/72/nios2eds/components/ecos/ecos-current/examples”中的hello.c 和makefile一起拷到你的新建的软件文件夹,例如我把它放在“D:/altera/72/mywork/software/hello”下(这些都是以我的目录为准的,在你电脑上应该有相应的变动)。
现在打开Nios ii IDE,File->New->porject...
选择C++ ->Standard Make C++ Project,Next,去掉Use default location 前面的勾,Borowse,选中“D:/altera/72/mywork/software/hello”,Next,在Make Builder标签上做如下修改:
去掉Build command 中use default前面的勾,将其改为“make INSTALL_DIR=/cygdrive/d/altera/72/mywork/hello_install”这里的“d/altera/72/mywork/hello”你应该知道就是我们才建的hello.ecc那个目录,hello_install这个文件夹是系统建立的,Finish。
现在Bulid Project,如果不成功的话我们可以对makefile稍作修改,我改过的如下:
INSTALL_DIR=$$(INSTALL_DIR) # override on make command line

include $(INSTALL_DIR)/include/pkgconf/ecos.mak

XCC           = $(ECOS_COMMAND_PREFIX)gcc
XCXX          = $(XCC)
XLD           = $(XCC)

CFLAGS        = -I$(INSTALL_DIR)/include
CXXFLAGS      = $(CFLAGS)
LDFLAGS       = -nostartfiles -L$(INSTALL_DIR)/lib -Ttarget.ld

# RULES

.PHONY: all clean

all: hello

clean:
 -rm -f hello hello.o
 
hello: hello.o
 $(XLD) $(LDFLAGS) $(ECOS_GLOBAL_LDFLAGS) -o $@ $@.o
 
hello.o: hello.c
 $(XCC) -c -o $*.o $(CFLAGS) $(ECOS_GLOBAL_CFLAGS) $<
这样改过应该没有问题了,关于makefile的介绍,网上有很多资料,我在这里就不说了。

现在就是Run了,其中Target Hardware你就应该选择:
D:/altera/72/nios2eds/examples/verilog/niosII_cyclone_1c20/standard/NiosII_cyclone_1c20_standard.ptf
将sof文件现下进去,然后Run,你就可以看到结果了。
Run...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值