欢迎来到天天文库
浏览记录
ID:6085644
大小:633.00 KB
页数:17页
时间:2018-01-02
《在niosii上跑uclinux》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、标签:无标签在niosii上跑uClinux概述NIOSII是altera公司针对FPGA推出的一个CPU软核,它可以综合到任何一款altera的FPGA中。用户可以基于sopc builder搭建自己的系统。一个基于NIOSII的系统如图:除了sopc builder提供的一些外设以外,用户可以按照avalon总线标准来实现自己的模块,而且可以很容易的集成到系统里面去。 niosii有三个不同的版本:niosii-e、niosii-s、niosii-f。 Niosii-e针对低成本应用,内部没有流水线结构,不带指令/数据CACHE,所以实现所需要的逻辑较小(600-700 LEs)。 Nio
2、sii-s有五级流水结构,带指令cache(size根据用户配置),实现需要1200-1400 LEs。Niosii-f有六级流水结构,带指令和数据cache,实现需要1400-1800 LEs。 建立niosii系统在建立系统之前检查一下软硬件配置:1、使用最新版本的Quartus和Nios软件,低版本软件可能存在bug。我之前用QuartusII 5.1试了好几次都没有完全把uClinux跑起来,在boot开始以后就挂死了,百思不得其解,后来换成QuartusII 6.1以后,重新编译了一下逻辑就把跑起来了。郁闷了我好久……2、uClinux需要在linux环境下编译(基于cygwin也可
3、以编译,不过我说的这个过程是在linux上的),所以你必须有一个linux操作系统。有几种办法:A,装一个linux版本的QuartusII,所有的操作都在linux下完成。B,用两台计算机,一台用windows,跑quartus等软件,另一台装linux。C,在windows下装个虚拟机vmware,在虚拟机上装linux,通过虚拟机来编译uClinux,然后把image文件导入到windows下调试。我就是使用虚拟机的方法,但是要求你的PC内存比较大才行,否则系统会很慢。3、你板子上FPGA的容量要能装的下一个系统,外部的SDRAM容量至少要8M byte。我用的是一个EP1C6的FPGA
4、加8M byte的SDRAM。不需要FLASH。以上条件都满足了,就可以开始了。首先,建立一个工程,然后建立一个小系统,配置如下: 最小系统至少要包括:一个niosii cpu,一个sdram控制器,cfi_flash控制器(在单板上不需要flash),全功能的timer,用于通信的jtag uart或serial uart。可以根据单板的硬件资源来适当配置逻辑,比如加入一些led和key等等。在linux里面中断0是自动识别的,所以在硬件系统里面不要使用0号中断。 生成好系统以后,在Quartus里面把引脚连好,包括设置好用于SDRAM 的PLL: 系统编译好以后,先用NIOSIIIDE写
5、个程序来测试一下SDRAM和系统是不是可以运行。如果程序能正确运行的话,就可以进入下一步了。 建立uClinux的交叉编译环境要把uClinux放到niosii中运行首先必须把uClinux代码编译成niosii的指令。这个编译的过程需要相应的程序来完成。下载nios2gcc.tar.bz2软件包。 进入linux操作系统,打开一个shell界面,执行如下操作:把下载的nios2gcc.tar.bz2软件包放到home下,如/home/duckfly/然后切换到root su#输入root密码tar jxf /home/duckfly/nios2gcc.tar.bz2-C/exitniosii
6、的交叉编译工具链就会安装到/opt/nios目录下,我们需要把这个目录加入到path变量中去,让shell能自动寻找。打开home下载.bash_profile文件,这个文件是隐藏文件,需要用ls –a才能看见。 ls -avi.bash_profile#把PATH变量修改为:PATH=$PATH:/opt/nios2/bin:$HOME/bin source.bash_profile# 让修改的环境变量生效 nios2-linux-gcc–v# 查看是否安装好了,打印出版本信息 编译uClinux交叉编译环境安装好以后,就可以编译uClinux了。首先到http://www.uclinux
7、.org/pub/uClinux/dist/ 下载一个uClinux的代码包。然后下载uClinux-dist-20070130-nios2-02.diff.gz 软件包,这是把uClinux移植到niosii CPU上的补丁。在linux下使用如下命令: # 使用普通用户登陆cd ~# 解压uClinux代码tar jxf ~/download/uClinux-dist-20070130.tar
此文档下载收益归作者所有