集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: lcytms

ucLinux在SOPC上的移植(DE2开发板)

[复制链接]
 楼主| lcytms 发表于 2017-3-19 23:39:39 | 显示全部楼层
Step4:
下载硬件电路,使用nios2-configure-sof程序,如图46所示。
[NiosII  EDS]$  nios2-configure-sof DE2_NET.sof

(图46)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-19 23:40:29 | 显示全部楼层
Step5:
下载uClinux内核镜像zImage_1,选项-g表示go,下载后立即运行。如图47所示。
[NiosII  EDS]$  nios2-download -g zIamge_1

(图47)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-19 23:41:11 | 显示全部楼层
Step6:
打开终端,和DE2进行通信。看到如图48所示的welcome to uclinux字样,表明移植成功。接下来可以运行一些简单的linux指令,如ls,cat,ifconfig等等,大家可以自己试一下。  
[NiosII  EDS]$  nios2-terminal

(图48)

至此,一个最简单的uClinux的移植就完成了。这样移植到SOPC上的uClinux只能运行一些简单的uClinux命令。接下来我们做一个内容稍微加深的例子,在uClinux中加入我们自己编写的命令,比如运行hello,打印“hello,I am now studying uClinux”字符串。  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-19 23:42:27 | 显示全部楼层
5, 在uClinux中加入hello命令
Step1:
首先进入ubuntu环境,在 ~/(在这里即是/home/ubuntu/)目录下建立c_test目录,使用gedit或vim编辑hello.c,如图49所示。
ubuntu@ubuntu-desktop:~$ cd c_test/
ubuntu@ubuntu-desktop:~/c_test$ gedit hello.c

hello.c的内容:
#include
int main()
{
     printf("Hello,I am now studying uClinux!\n");
    return 0;
}

(图49)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-19 23:43:28 | 显示全部楼层
Step2:
通过交叉编译工具 nios2-linux-uclibc-gcc 把 hello.c编译成能在nios2 上运行的程序。
ubuntu@ubuntu-desktop:~/c_test$ nios2-linux-uclibc-gcc hello.c –o hello -elf2flt 交叉编译后,c_test 目录下就会生成hello,这就是能在 nios2运行的可执行文件。把它 拷贝到~/ucLinux/uClinux-dist/romfs/bin目录下。如图 50 所示。

(图 50)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-19 23:44:30 | 显示全部楼层
Step3:
进入~/ucLinux/uClinux-dist目录,执行make 命令,重新编译 uClinux内核。这样重新编译的内核就会把 hello 命令包含进去。
ubuntu@ubuntu-desktop:~/ucLinux/uClinux-dist$ make

Step4: 重新生成可供下载的镜像文件 zImage。
ubuntu@ubuntu-desktop:~/ucLinux/uClinux-dist$ make linux image

Step5:
将生成的 zImage 文件取别名 zImage_2,通过 U 盘或 FTP方式传送到 Windows 下的 E:\uclinux_down 文件夹。

Step6:
从开始菜单进入NiosII Command Shell命令行模式,进入uclinux_down文件件,下载硬件电路,下载镜像文件,打开终端,运行hello命令。结果如图51所示,hello运行成功。
[NiosII  EDS]$  cd  /cygdrive/e/uclinux_down/
[NiosII  EDS]$  nios2-configure-sof DE2_NET.sof
[NiosII  EDS]$  nios2-download -g zImage_2
[NiosII  EDS]$  nios2-terminal

(图51)

至此,自己加入命令的uClinux移植也成功了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-19 23:45:43 | 显示全部楼层
6, 在uClinux中加入网络协议
使用操作系统的一大优势是能轻松地实现对网络的支持,免去自己编写复杂的网络协议,uClinux同样方便地支持网络协议,能轻松地实现网络应用。在前面的步骤中,当进行到“make menuconfig”配置内核时(如图31所示),在“kernel/library/defaults Selections”选项中,我们选择的是“Defaults all settings”,这个选项并没有包含网络协议及网络驱动。如果要包含对网络的支持,应该选择第二项“Customize Kernel Settings”,自定义设置内核。以下是详细步骤。
Step1:
重新配置内核,首先要进入uClinux-dist目录,再make menuconfig
ubuntu@ubuntu-desktop:~$ cd ucLinux/uClinux-dist/
ubuntu@ubuntu-desktop:~/ucLinux/uClinux-dist$ make menuconfig
弹出如图52所示的配置窗口。

(图 52)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-19 23:46:33 | 显示全部楼层
Step2:
上下键选中 中第二行,  “Kernel/Library/Defaults Selection” 回车进入,用空格选中第四行选项“Customize Kernel Settings” ,如图 53 所示。

(图 53)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-19 23:48:09 | 显示全部楼层
按 TAB 键切换光标到“Exit” ,回车退出,回到图 52 所示的界面,再次按TAB 键,选择 “Exit” ,回车,退出,提示是否保存设置,按“Y”保存。如图 54 所示。

(图 54)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-19 23:49:05 | 显示全部楼层
弹出 “Linux Kernel Configuration” 配置窗口。如图 55 所示。 “Networking” 和 “Device Driver”两项。

(图 55)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-1-29 10:47 , Processed in 0.061682 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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