终于将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:
历时两个星期,终于将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:
相关文章推荐
- 【木头Cocos2d-x 002】win32项目移植到Android,终于成功~
- 毕业设计--uclinux系统上程序的成功移植
- Fedora8平台下qtopia4在s3c2410开发板上终于移植成功了!
- 【操作详解】终于成功移植Mplayer到OK6410开发板上了,发帖详述移植全过程!(转载)
- u-boot 移植与测试终于成功了
- uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(75):Milestone:内核成功启动
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(59): Milestone:内核成功启动
- 6410的裸机Boot终于移植成功了
- 根据网友们的总结自己尝试了下STM32移植ucosii 终于成功了
- 庆祝一下:配了2周终于把skyeye+uClinux配置成功!
- (原创)FPGA(DE2)上uClinux的移植
- 【血泪】SDL终于移植成功,并且在模拟器上跑起来了 花了
- 成功移植DHCP客户端到mini2440,终于可以上网了
- 毕业设计----RedHat linux系统安装及uclinux的成功移植
- 看到 这一幕··我终于感动了·····c 连接mysql 成功
- pjsip autoconf交叉编译成功,可以正常在板子上跑了-----移植到arm成功
- 开源物联网通讯框架ServerSuperIO,成功移植到Windows10 IOT,在物联网和集成系统建设中降低成本。附:“物联网”交流大纲
- 移植opencv 到codec engine 成功
- 成功移植UT6410的800*480的LCD驱动
- android4.0.3在pandaboard上的成功移植