lcytms
发表于 2017-3-19 23:15:49
五、 实验步骤
1, 搭建一个可以跑uclinux的SOPC系统。
移植uclinux,需要大约8M内存,内核需要2M的Flash空间,DE2开发板载有8MB的SDRAM和4MB的Flash,符合我们的要求。我们在设计硬件时,需要加入SDRAM和Flash模块。为了节省时间和提高可靠性,硬件电路我们使用DE2光盘里提供的范例工程DE2_NET。编译后生成DE2_NET.sof,SOPC配置文件件为system_0.ptf,如图20所示。
在E盘下建立目录E:\uclinux_down,将DE2_NET.sof拷贝至至此目录。如图21所示。
(图20)
(图21)
lcytms
发表于 2017-3-19 23:16:34
2, 将system_0.ptf 通过U盘拷贝到 ubuntu 中,比如存放在~/ucLinux目录。 如图 22 所示。
(图 22)
lcytms
发表于 2017-3-19 23:17:30
本帖最后由 lcytms 于 2017-3-19 23:18 编辑
3, 进入 ubuntu 环境,进入 uClinux-dist 目录,开始做编译 uClinux 的工作。
Step1: 建立 makefile。
ubuntu@ubuntu-desktop:~$ cd ucLinnux/uClinux-dist/
ubuntu@ubuntu-desktop:~/ucLinux/uClinux-dist$ make menuconfig
在RedHat9.0中是会很顺利,但在ubuntu中弹出错误。如图23所示。提示缺少ncurses库文件。ncurses是字符终端下屏幕控制的基本库。可能很多新开发的程序都不使用了,不过如果要编译一些老程序,还经常遇得到。
(图23)
lcytms
发表于 2017-3-19 23:19:36
解决办法,安装libncurses5-dev库,如图24所示。
ubuntu@ubuntu-desktop:~/ucLinux/uClinux-dist$ sudo apt-get install libncurses5 -dev
(图24)
lcytms
发表于 2017-3-19 23:20:34
再次make menuconfig就没有问题了。(问题已解决,大家操作时不会再出现上面的错误提示,make menuconfig前先要把虚拟机切换到全屏模式时,否则会提示窗口太小显示不了太多的内容。 )弹出了如图 25 所示的配置窗口。 )
(图 25)
lcytms
发表于 2017-3-19 23:21:24
用上下键选择第一项“Vendor/ProductSelection‐‐‐>” ,表示选择厂商及产品。回车进入选择,进入后默认的厂商是 SnapGear,如图 26 所示。
(图 26)
lcytms
发表于 2017-3-19 23:22:29
选中“(SnapGear)Vendor”,回车,找到 Altera,用空格键选中,如图 27所示。
(图 27)
lcytms
发表于 2017-3-19 23:23:25
选中后自动返回上一页 页面,可支持的 Altera 产品只有 nios2nommu,所以产品项自动变成了“nios2nommu” 。如图 28 所示。
(图 28)
lcytms
发表于 2017-3-19 23:25:38
按 ESC 键回到图 25 处,选择第 2 项 “Kernel/ Library/defaults Selection‐‐‐>” ,即“核/库/默认 选择” 回车进入,如图 29 所示 。第一行表示选择的 kernel,默认是最新的 2.6.x,不用改。第二行表示选择的库,默认是“uClibc” 这个需要修改 ,回车进入,空格选择第一项“ “None” 。如图 30 所示。并用空格选 选中第三行“Default all settings” ,最终的选择如图 31所示。
(图 29)
(图 30)
(图 31)
lcytms
发表于 2017-3-19 23:26:34
至此,配置完成,连续按两次退出的快捷键“E” ,提示是否保存配置,按快捷键“ “Y” 选择“Yes”后会回到终端界面。如图 32 所示。
(图 32)