您的位置:首页 > 运维架构 > Linux

终于将uClinux移植于fpga成功

2014-12-24 13:23 204 查看
刚刚上传图片失败,重来

历时两个星期,终于将uClinux移植于nios ii成功;激动的心情难以掩饰,高兴的同时,我希望记录下我的移植坎坷之旅:

首先我是按照真 OO无双的博客一步一步走下去的:

file:///C:/Users/Frank/Desktop/(%E5%8E%9F%E5%89%B5)%20%E5%A6%82%E4%BD%95%E5%9C%A8DE2%E4%B8%8A%E5%AE%89%E8%A3%9D%CE%BCClinux%E4%BD%9C%E6%A5%AD%E7%B3%BB%E7%B5%B1%20(IC%20Design)%20(DE2)%20(Nios%20II)%20(OS)%20(Linux)%20(CentOS)%20(%CE%BCClinux)%20-%20%E7%9C%9F%20OO%E6%97%A0%E5%8F%8C%20-%20%E5%8D%9A%E5%AE%A2%E5%9B%AD.mht

自己总结一下过程:

(1)编译工具及其环境

Vmware+Ubuntu 11.04+nios2gcc20080230+uClinux-dist20070130+uClinux-dist20070130patch

还有一件重要的事情就是一个正确的完整的quartus工程,最终生成的zImage是否成功跟sopc生成的PTF文件有很大关系,我想我浪费了很多时间就是因为我对sopc不是很熟悉,导致生成的.ptf存在存在细节上的问题,后面会详细介绍。

##在这一步骤遇到的问题是Linux操作系统的选择,本人觉得还是ubuntu比较适合开发人员使用,我安装过ubuntu11.04、12.04、14.1。还使用过archilinux。主要是因为自己之前没有接触过Linux操作系统,然后编译过程中一遇到问题就认为是操作系统的问题;不过还好,最起码我现在对Linux操作系统基本指令已经比较熟悉了,我发现Linux下面的terminal实在是太棒了,特别是重重敲下Enter按键的时候,因为那是见证奇迹的时刻。##

(2)建立交叉编译工具

1. tar -jxvf nios2gcc.tar.bz2

会生成opt文件夹 ;

2.gedit ~/.profile (有的文档会让我们使用~/.bash_profile 这是跟Linux版本有关系);

3.source ~/.profile (编译);

验证 交叉编译工具是否成功 : nios2-linux-uclinux-gcc -v;

成功会显示版本3.4.6;

(3)接下来就是编译内核

1. tar -zxvf uClinux-dist-20070130.tar.gz;

2. 打补丁: gunzip -c uClinux-dist....diff.gz | patch -p0;

3. make menuconfig

用图形界面配置内核,主要是配置vendor ————》Altera , product-----》nios2nommu

Save后开始编译内核;

4. 用制定的内核编译ptf中的硬件配置信息:

make vendor_hwselect SYSPTF=/......../.ptf

选择cpu ram flash;

5. make romfs 第一次会出错 ,此时忽略,但是PATH_MAX错误不能忽略;

6. make 这一步非常重要会出现各种错误,主要是auth.c ,config.c出错,然后应该修改参数方法见图片:



7.make linux image

生成zImage;

(3)下载到开发板

1.进入工程文件,jtagconfig -n测试jtag ;

2. nios2-configure-sof 下载到开发板;

3. nios2-download -g zImage;

这一步阻拦了我很久,总是出现如下错误:



最后才发现,是由于我配置的flash的timing三个参数配置错误:这里要学会看原理图,查看芯片手册。Cyclone IV E系列 ,flash AM29LV320 应该配置为50 40 35;

4. nios2-terminal 会显示uClinux:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: