引言
之前我也写了一个相关的blog,今天看到这篇,感觉也挺好的,故转载如下:
本实验所有的RTL以及软件代码下载地址:
http://download.csdn.net/detail/rill_zhen/6647119
去年7月份毕业从桂林来到广州这边工作后,唏嘘万分,由于小弟我在学校是专业打酱油的料,所以来到公司后一直没有机会做些酱油级别以上的事情,所以平时除后勤阿姨聊聊天,在公司“搬搬砖”,等等之外,为了消磨上班时候无聊的时间,逼迫自己找点事情做做咯,至少在公司可以先混吃混学。
怪自己还在学校的时候不用功啊,到自己净身出户的之后才知道错字怎么写,会点电路设计,会点C......就是什么都会点又不多的那种,本科那会做的通信的东西后来去了家做嵌入式的企业,没得办法,who叫TC做通信大佬们的都不招小白和屌丝咧。所以真心纠结啊,无奈出来之后继续搬起在学校花大价钱买的砖头,硬着头皮去啃咯,谁叫我这人目前就适合“搬砖”这份工作咧。
刚来公司那会手头上的资产只剩当年还没阵亡的FPGA板子了,而且象我这种一穷二百只剩奋斗精神的人是不会拿着手上的资源不去学习的,至少要在我一个人身上体现一下传统美德,本着在学习中摸索的原则,还是先学了先做了再去总结,总结完再去实践,曲线救我......吧。
既然进了一个做嵌入式电子产品的公司,那就想着往公司技术方面靠咯,而且手头上又所谓的经济基础,仅存在学校对我不离不弃的FPGA开发板了,所以坚决不买新的板子,因为我也买不起了。目前公司大部分是用TI的davinci系列再上的linux系统,这对我这种连门都没进过的菜鸟不要说做开发了,想想买前辈们做的产品都很蛋疼,而且领导现在也没说让我做开发,对吧?那在领导们需要到我之前自己尽量入个门咯。
所以就想,如果只是单纯地去学习,怎么好利用手头上的板子,软核+linux,这都是大牛+大牛做的东西,我们放着不去学,怎么好意思呢,思考了一段时间,确定这个方向了。学,但是相关的资料的,怎么找,貌似软核选nios的话有特权同学的深入浅出系列教程,linux就不用说了,一抓一大把,但是nios+linux,倒是发觉蛮难入手的,继续找吧。软核选opencores社区的openrisc?再看看相关资料,唉哟,不错喔,openrisc的工程开发了10来年,相关编译环境都移植好了,而且惊奇的发现kernel.org从linux3.1版本开始支持openrisc,这不给我机会犯罪嘛,不假思索,就这个搭配了,FPGA+openrisc+linux。
好,试试看找openrisc+linux的书籍,累死累活才找到了两本《开源软核处理器OPENRISC的SOPC设计》、《CPU源代码分析与芯片设计及Linux移植》,粗略浏览一下,貌似对于熟悉openrisc架构和入门足够了,反正我只是学习学习嘛,想想openrisc的代码目前我不做修改,linux也已经移植完成,光学习我觉得很有参考价值了。
差不多就可以开始了,但凡市面上介绍嵌入式的书籍,一片都是关于ARM架构的,大部分又是S3C24XX的,没关系,老师们告诉过我们,基础都是通用的,那我们就可以借鉴几本关于嵌入式的书籍来学习openrisc+linux
好,别的嵌入式书籍首先上来就是搭环境,好,来吧。先来软件环境吧,硬件环境留着我们稍后再搞。
先下载我们需要的所有软件包:
1.进入opencores.org,找到or1200这个工程,然后找到关于VirtualBox的镜像文件,download吧,压缩包1.1G。
在这个镜像里面已经包含编译好的cross toolchain和基本的开发环境,opencores官网上也有手动编译cross toolchain的详细流程,无聊的时候可以去尝试一下,像我这种懒人就算了,果断download解压吧。
2.opencores.org找到adv_debug_sys工程,然后将adv_debug_sys_latest.tar.gz下载下来,耐心点找找哈~~~
3.VirtualBox-4.1.6-74713-Win.exe,比这个版本高的网上报告貌似有bug。
4.进入openrisc.net,找到linux子项和u-boot子项把
搞到手。
分别去kernel.org和u-boot官网把这两份源码搞到手也行,我懒~所以直接下了。
5.lrzsz-0.12.20.tar.gz,没调通网卡之前可以用串口和开发板互传文件,google一下lrzsz就有了。
6.libusb-1.0.9.tar.bz2和libusb-compat-0.1.4.tar.bz2,使用advanced JTAG时需要用到的下载器驱动,其实就是让openrisc支持如altera,xilinx等厂商的下载器。还是google一下libusb就有了,后者是前者的兼容包,adv_debug_sys_latest.tar.gz我用的时候还是用libusb0.1的版本写的,所以还需要兼容包,不知道现在Nathan Yawn大虾是否重写了驱动源码
7.至于串口工具选个自己熟悉的吧,我用的是SecureCRT。
差不多了......
1.VirtualBox-4.1.6-74713-Win.exe装上把OpenRISC_Ubuntu_2011-12-15.vdi导入
至于如何在VirtualBox中设置与Windows共享文件夹,google下吧,然后把我们下载好的源码包丢到共享文件夹,然后mount进linux,如果在编译源码时提示权限不足时,尝试在命令前加上sudo,密码是:openrisc
2.然后先安装libusb-1.0.9.tar.bz2,解压,进入目录
./configure
make
make install
再安装libusb-compat-0.1.4.tar.bz2,解压,进入目录
./configure
make
make install
3.安装adv_debug_sys_latest.tar.gz,解压,进入目录
./autogen.sh
./configure
./make
./make install
4.安装lrzsz-0.12.20.tar.gz,解压,进入/src目录,打开lrz.c文件,修改如下
然后,打开terminal,进入lrzsz-0.12.20.tar.gz解压目录
CC=or32-linux-gcc ./configure--cache=./or32-linux.cache
./configure --cache=./or32-linux.cache
make
在/src目录下生成
和,暂时先不做处理。
至此,linux主机软件环境基本搭建完毕,接下来搭建我们的硬件环境。
附件中的软件包都在OpenRISC_Ubuntu_2011-12-15.vdi镜像的环境下预先编译过了,libusb-1.0.9.rar、libusb-compat-0.1.4.rar、adv_jtag_bridge.rar直接解压后make install即可,至于lrzsz-0.12.20.tar.gz暂时先不处理,在我们制作编译linux源码时用到lrz和lsz文件。
原文链接: