MyFPGA Forum

 找回密码
 注册
搜索
查看: 15053|回复: 18
打印 上一主题 下一主题

DE2_115 uclinux 移植

[复制链接]
跳转到指定楼层
1#
发表于 2010-9-30 11:30:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 liyongjie 于 2010-9-30 11:55 编辑

移植过程:
1.建立交叉编译开发环境(包括安装linux操作系统,安装uclinux编译器)
2.SOPC系统配置(生成基于nios II 处理器的sopc系统)
3.配置uclinux内核(根据SOPC系统配置内uxlinux核)
4.编译生产image文件,并下载测试

下面是对上述步骤的分部详细阐述:
1.建立交叉编译开发环境
        #首先需要一个linux操作系统环境的机器,我们一般有XP,vista,win7等windows开发环境的情况下,可以选择安装虚拟机,在虚拟机上面订制linux操作系统我选择的是在XP开发环境下,安装VMware workstation虚拟机,然后订制cent OS 5.5 linux开发环境,订制虚拟后注意安装vmware tools(安装不成功是因为需要安装gcc编译器),这个主要是在linux虚拟机下完成的,然后再在建立的虚拟机下建立一个共享文件夹,这样可以很方便的在XP和linux环境间传递文件,另外还可以不用对linux虚拟机关机 只需挂起,下次直接打开虚拟机很方便!
18#
发表于 2011-12-4 12:07:10 | 只看该作者
遇到了和15楼同样的问题,而且生成的zImage文件也比lz小了很多
17#
发表于 2011-11-30 11:49:11 | 只看该作者
赞 下次试一试
16#
 楼主| 发表于 2011-10-28 17:36:20 | 只看该作者
回复 15# littlehit
看起来是的VFS 没过去,你检查下SOPC 里面NIOS 指定的存储器,看是不是验证可以run的
15#
发表于 2011-10-9 21:23:46 | 只看该作者
回复 1# liyongjie

你好,我按你的步骤坐下来后,我的DE2_115板子显示如下信息,没能启动成功,好像是文件系统没有挂载成功,请问我应该怎么做呢?非常感谢你的回复。littlehit@126.com

Uncompressing Linux... Ok, booting the kernel.
Linux version 2.6.19-uc1 (root@localhost.localdomain) (gcc version 3.4.6) #15 PREEMPT Fri Oct 7 19:50:00 CST 2011

uClinux/Nios II
Altera Nios II support (C) 2004 Microtronix Datacom Ltd.
Built 1 zonelists.  Total pages: 8128
Kernel command line:
PID hash table entries: 128 (order: 7, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory available: 30832k/32768k RAM, 0k/0k ROM (1461k kernel code, 177k data)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
io scheduler noop registered
io scheduler deadline registered (default)
NIOS serial driver version 0.0
ttyS0 (irq = 4) is a builtin NIOS UART
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
VFS: Cannot open root device "<NULL>" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
14#
发表于 2011-9-30 16:59:35 | 只看该作者
赞一个
13#
 楼主| 发表于 2011-8-11 20:45:55 | 只看该作者
回复 11# kay54068
Ncurses libraries没有安装
12#
 楼主| 发表于 2010-10-26 16:32:55 | 只看该作者
请确认下你是否装了gcc
11#
发表于 2010-10-10 01:15:03 | 只看该作者
請問我在make menuconfig 時出現
make -C /usr/local/src/uClinux-dist/config/scripts/lxdialog all
make[1]: Entering directory `/usr/local/src/uClinux-dist/config/scripts/lxdialog'
/bin/sh: cc: command not found

>> Unable to find the Ncurses libraries.
>>
>> You must have Ncurses installed in order
>> to use 'make menuconfig'

make[1]: *** [ncurses] Error 1
make[1]: Leaving directory `/usr/local/src/uClinux-dist/config/scripts/lxdialog'
make: *** [menuconfig] Error 2

請問要如何解決?
10#
 楼主| 发表于 2010-9-30 17:00:28 | 只看该作者
:$等于:   $
注意中间没空格,被页面转化成表情了。
9#
 楼主| 发表于 2010-9-30 15:35:56 | 只看该作者
补上uCLinux-dist-20070130的下载地址:
http://www.terasic.com.cn/~xyli/uClinux-dist-20070130.tar.gz
8#
发表于 2010-9-30 14:28:57 | 只看该作者
楼主辛苦啦
7#
 楼主| 发表于 2010-9-30 14:19:04 | 只看该作者
最后再上传一个测试文档,在DE2-115开发板接通电源,接上usbblaster以后,就可以测试了

DE2-115.rar

1.76 MB, 下载次数: 75

6#
 楼主| 发表于 2010-9-30 14:13:30 | 只看该作者
下载测试时需要提前下载好ptf所对应的sof文件,然后下载zimage文件即可,把这两个文件保存到同一个路径下,然后打开NIOS II Command Shell,切换到文件保存的路径下,然后输入如下指令下载sof文件:
$ nios2-configure-sof DE2_115_WEB_SERVER.sof
配置成功后烧写image文件,输入以下命令:
$ nios2-download –g zImage
最后,输入
$ nios2-terminal
启动调试,就可以看到uClinux启动的画面了

linux.png (17.14 KB, 下载次数: 880)

linux.png
5#
 楼主| 发表于 2010-9-30 14:03:00 | 只看该作者
4.编译生产image文件,并下载测试
        输入以下命令:
        # make romfs
        # make
如果出现错误,再次make
       # make
然后生成image
       # make linux image
然后到/uClinux-dist/images 复制出生成的image文件zimage即可进行下载测试
4#
 楼主| 发表于 2010-9-30 13:50:11 | 只看该作者
本帖最后由 liyongjie 于 2010-9-30 13:51 编辑

3. 配置uclinux内核(根据SOPC系统配置内uxlinux核)
     #用户需要下载内核源码:
      uClinux-dist-20070130.tar.gz 文件大小 282 MB
      另外需下载uCLinux-dist-20070130补丁文件:
      uClinux-dist-20070130-nios2-02.diff.gz
      http://www.terasic.com.cn/~xyli/ ... 30-nios2-02.diff.gz
连续输入以下命令进行解压安装
      # cd /usr/src
      # tar -zxvf uClinux-dist-20070130.tar.gz
打补丁:
       # cd uClinux-dist
      # gunzip -c uClinux-dist-20070130-nios2-02.diff.gz | patch -p0
进行完以上操作后,就可以订制内核了:
       首先输入内核配置命令:
       这里选用菜单化配置:
       # make menuconfig
进入配置页面后,进行如下选择:
Vendor/Product Selection —>
    — Select the Vendor you wish to target
    Vendor (Altera)  —>

    — Select the Product you wish to target
    Altera Products (nios2)   —>

    Kernel/Library/Defaults Selection —>
    — Kernel is linux-2.6.x

    Libc Version (None)  —>
   
  • Default all settings (lose changes)
        [ ] Customize Kernel Settings
        [ ] Customize Vendor/User Settings
        [ ] Update Default Vendor Settings

    按Y为选中项目,N为取消,M是动态加载,按2次ESC为退出到上一级菜单,最后退出的时候会提示保存设置,根据上面设置并保存退出。
    然后进行硬件配置:
    输入命令:
    # make vendor_hwselect SYSPTF=DE2_115_SOPC.ptf   
    注意:需要把DE2_115_SOPC.ptf  文件放入/uClinux-dist/linux-2.6.x/文件夹下。
    这样会出现ptf文件里面所描述的最小系统,包括CPU,存储器,选择对应的cpu以及供内核运行的存储器,cpu只有altera_nios2一个,但是板上的存储器类型很多,这里选择使用SDRAM来运行内核。
    配置完毕,接下来就可以编译生成image文件了
  • 3#
     楼主| 发表于 2010-9-30 13:28:15 | 只看该作者
    本帖最后由 liyongjie 于 2010-9-30 14:17 编辑

    2.SOPC系统配置(生成基于nios II 处理器的sopc系统)
       #建议直接引用DE2-115 CD里面demo中的生成好的ptf文件,我这里是引用                                          DE2_115_demonstrations\DE2_115_Web_Server\DE2_115_WEB_SERVER_MII_ENET0中的ptf文档 DE2_115_SOPC.ptf
    经过测试可以直接使用。

    DE2_115_SOPC.rar

    14.38 KB, 下载次数: 46

    2#
     楼主| 发表于 2010-9-30 13:21:15 | 只看该作者
    本帖最后由 liyongjie 于 2010-9-30 13:31 编辑

    #linux开发环境建立后,需要安装支持niosII 处理器的uclinux编译器,这里我们选择安装已经预编译好的。下面用到的所有软件包,建议放到linux环境下的/usr/src路径下,以下操作都是基于这个路径进行,而且建议在root用户下操作。
           只需下载:nios2gcc.tar.bz2
    http://www.terasic.com.cn/~xyli/nios2gcc.tar.bz2
           打开terminal,输入命令行进行解压安装:
           # cd /usr/src
           # tar -jxvf nios2gcc.tar.bz2 -C /
           然后编辑bash_profile,添加编译器路径,相当于注册。
           # gedit ~/.bash_profile
           打开后出现为:
           # .bash_profile
           # Get the aliases and functions
           if [ -f ~/.bashrc ]; then
                . ~/.bashrc
           fi
           # User specific environment and startup programs
           PATH=$PATH:$HOME/bin
          
           PATH=$PATH:/opt/nios2/bin:$HOME/bin

           export PATH
           unset USERNAME
           修改添加 PATH=$PATH:/opt/nios2/bin:$HOME/bin,然后再输入命令行保存即可
           # source ~/.bash_profile
           输入命令
           # echo $PATH  
           即可显示刚编辑后的路径信息
           这样编译器就安装完毕了。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    小黑屋|手机版|Archiver|MyFPGA

    GMT+8, 2024-5-16 06:53 , Processed in 0.062717 second(s), 19 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

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