CentOS-7内的SDx、PetaLinux环境安装,2017.4

来源:互联网 发布:比淘宝好的购物网站 编辑:程序博客网 时间:2024/05/29 03:04

1.前言

Xilinx的环境真是“日新月异”,3个月一升级的速度还真是让人有点受不住。一般情况下大家也不会在一个稳定版本使用后去更换新的版本,所以大家普遍用的Vivado环境都是2015.4,这个版本确实也是非常稳定的一个版本。但是最近出了最新的2017.4,好快啊,前面的版本都还没用熟呢。。

2.版本编年史

但是,我就是喜欢用新版本的!从2013年第一次开始用Xilinx的FPGA,跳过了ISE时代,直接进入了Vivado时代。基本上Xilinx每一次出新的版本我就会拿来使用。下面介绍一下各个版本的情况。

2013.3

这是我最早使用的版本,当时自己的笔记本是Win8操作系统,这个版本不能在Win8上运行,好尴尬。不得已从学校机房里借了一台台式机用来学习Vivado,被Xilinx复杂的开发流程震惊了。。。(以前用的是Altera的Quartus),一键编译的感觉还是不错,而且重要的是它有进度条,而Vivado没有。。

2013.4

用着用着Xilinx又继续出了新的2013.4版本,但依然还是那样,继续在破台式机的Win7上使用。学校的台式机真心是没有我的万元笔记本性能好。而且那时候天天就是用Vivado HLS跑仿真,那叫一个慢啊!受不了了,搜了搜,在国外论坛上找到了一个解决办法,可以让Vivado在Win8上运行了。于是连夜搞了一下,最终在半夜一点左右搞定,能够正常启动了!!oh yes!!

2014.1

继续刚才的说,那天凌晨1点钟,为了和大家分享我的经验,让大家也能够在Win8上用到Vivado,准备在OpenHW论坛上发个帖子告诉大家。结果呢?!我先去官网看了一下软件下载页面,惊了!!Xilinx出了2014.1,而且翻看了一下Release Note,赫然包括了对Microsoft Windows 8.1 64位的支持。。哎,怎么这么背。。。。没得办法,我只能讲这个新版本的消息发到了论坛上,而2013版本如何在Win8上运行也只是提了一嘴子。那天也是安装完成2014.1后都四五点了,才睡的觉。。天呐

2014.2 2014.3 2014.4 2015.1 2015.2 2015.3

这些版本都平稳过渡,没有什么特别的。

2015.4

因为项目需要使用Linux,所以开始研究官方的PetaLinux,而运气比较好,2015.4是一个十分稳定的版本,就一直用下去了。没有遇到什么大的问题。不错不错。

2016.1

因为2015.4足够稳定,没有使用这一版本。

2016.2 2016.3

2016.3是一个新的比较稳定的版本,我就从2015.4迁移过来了。但因为Digilent的一些例程用到了2016.2,不得不下载这个版本去重新创建出工程进行使用。

2016.4

Vivado还是之前的Vivado,但是PetaLinux整个大变样,感觉肯定很多Bug,所以直接没有试。据说这个版本的PetaLinux就是很坑。

2017.1

从什么时候开始不叫Vivado了,叫HLx和SDx。HLx就是之前的Vivado软件包,但是界面变得好看多了,SDx包含了SDSoC工具,就是集成了HLS并调用Vivado,而且能自行生成软硬件交互驱动的东东,很厉害。这个版本我主要学习了官方的reVISION堆栈,东西太复杂啊,不好用啊。而且里面有一些bug。

2017.2

在我使用2017.1的SDx学习reVISION不久之后,官方就更新了2017.2。我也随之更新了上来,确实一些bug得到了改善。具体有哪些bug我也忘记了。不过一个bug需要提一下。2017.1的PetaLinux可以将很多开源库直接加进内核,这样我们就不用自己进行交叉编译了,其中就有OpenCV3,但是这个OpenCV在2017.1中只能在MPSoC中编译成功,而在普通的Zynq SoC中编译会出错。果然在2017.2中这个bug修复了,可以成功编译了。我直接在ZedBoard上进行的测试,可以运行OpenCV处理代码,爽歪歪。而且我也成功的将官方发布的光流测试代码移植进了ZedBoard中,使用的是自己的外界摄像头,VGA输出,驱动也是自己写的,啊,好累。这个版本还是有些bug,但还好。比如Mixer IP的Logo的数据寄存器在1pixel/clock的模式下有一个像素的偏移~不知道后面会改掉这个bug不。

2017.3

最近有个新的项目要用到Zynq,想着就直接用最新的版本,结果被坑了。编写verilog文件的时候,发现奇卡无比!不知道什么原因,我的电脑可是i9加PCIe SSD的,不科学。所以又换回了2017.2进行工程创建,坑啊。

2017.4
过了没多久,也就是前两天,官方终于放出了2017.4的HLx,并且同时放出了2017.4的SDx。SDx直接没有2017.3的版本,估计是真的有问题吧,哈哈。因为我经常关注Xilinx的Wiki,有看到过2017.3的reVISION页面,竟然最后也变成了2017.4。而且,好像从来没有说同版本的SDx和HLx同时发布,一般都是HLx要早于SDx发布。那么我感觉2017.4的版本应该是比较稳定的吧,就压定他了。直接官网下载SDx 2017.4和PetaLinux 2017.4,不用下载HLx,因为HLx的功能在SDx中都是包含着的。

3.虚拟机安装

这个安装过程是我之前在2017.2时候做的一个纯净版Linux(安装了SDx需要的依赖库,修改了一些环境变量什么的,并没有安装任何软件),所以就拿过来直接用了。把当时的记录直接贴在这里(所以有的地方显示的是2017.2,我已经用克隆把这些名称改为了2017.4)。

SDx在Windows中使用时会受到文件路径长度的影响,所以不建议在Windows中使用。又因为有时候我还需用Cadence画电路板,所以我的电脑肯定是Windows10了,而且我不喜欢双系统切换来切换去,看来只能使用虚拟机了。SDx官方建议的Linux操作系统是Ubuntu,CentOS等,怎么说呢,Ubuntu有时候很坑,遇到过一些问题,所以在2016.3时候我就换成了CentOS,所以我将继续使用CentOS。

CentOS 7.3的安装步骤如下:
打开VMware,点击新建->新建虚拟机
选择自定义
png1
png2
选择光盘映像文件
png3
设置安装路径
png4
选择核心数量8
png5
设置内存16GB
png6
NAT
png7
png8
png9
创建新的磁盘
png10
硬盘设置为200GB,立即分配磁盘空间,存储为单个文件。
png11
png12
点击自定义硬件
png13
USB控制器,USB兼容性选择USB 3.0
png14
显示器选择加速3D图形,图形内存2GB
png15
关闭后,点击完成。
系统会在硬盘上创建一个200GB的文件,时间比较长。
png16

之前使用时候发现200GB还是有点小,最好买500GB的固态硬盘。

选择中文
png21
点击安装位置
png22
勾选我要配置分区,点击完成
png23
点击:点这里自动创建他们
png24
按下图进行配置,将root分区的50GB改为了100GB,因为软件需要安装在这个分区下面,所以50GB不够。
png25
点击完成,接受更改
png26
点击:软件选择
png27
选择GNOME桌面,并添加附加选项,点击完成
png28
点击开始安装
安装过程中可以创建用户和修改
png29
修改ROOT密码,设置为root,点击两次完成
png30
创建用户,勾选将此用户作为管理员,密码也设置为root
png31
下面等待安装完成就可以了。
完成后点击重启
png32
启动后点击许可证,接受并同意
png33
点击网络和主机名,开启网络
png34
点击完成配置,启动后登陆账户
png35
根据需要进行配置
点击安装Tools
参考https://docs.vmware.com/en/VMware-Workstation-Pro/12.0/com.vmware.ws.using.doc/GUID-08BB9465-D40A-4E16-9E15-8C016CC8166F.html
png36

技巧

1. 调整root分区大小

当硬盘空间不够用时,可以通过在VMware中添加硬盘来实现扩容。
df -h
fdisk -l

Vmware中从200G增加硬盘到400G
启动centos,以root登录

对新增加的硬盘进行分区、格式化
  增加了空间的硬盘是 /dev/sda。  分区:
fdisk /dev/sda    操作 /dev/sda 的分区表
p       查看已分区数量(我看到有两个 /dev/sda1 /dev/sda2)
n       新增加一个分区
p       分区类型我们选择为主分区
      分区号选3(因为1,2已经用过了,见上)
回车      默认(起始扇区)
回车      默认(结束扇区)
t       修改分区类型
      选分区3
8e      修改为LVM(8e就是LVM)
w      写分区表
q      完成,退出fdisk命令
  系统提示重启。
mkfs.ext3 /dev/sda3

lvm
lvm> pvcreate /dev/sda3 
lvm> vgextend cl /dev/sda3
lvm> lvextend -L 250G /dev/mapper/cl-root
lvm> pvdisplay
lvm> quit
xfs_growfs /dev/cl/root
fdisk -l
df -h
reboot

2. 共享文件夹

点击菜单: 虚拟机->设置->选项->共享文件夹。
点击总是启用和添加,选择要共享的文件夹目录。
png41
开启虚拟机后,执行指令:

$ sudo su# vmware-hgfsclient# /usr/bin/vmhgfs-fuse .host:/ /mnt/win -o subtype=vmhgfs-fuse,allow_other

这样就能够在/mnt/win文件夹下找到我们共享的文件夹“sw”
png42

3. 更换下载源

$ sudo su# cd /etc/yum.repos.d# mv CentOS-Base.repo CentOS-Base.repo.bk# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo# yum clean all# yum makecache# yum update

4. 空间不够,清除tmp文件夹

因为root目录下tmp内容过大,可能导致不能安装软件,把tmp的东西清理一下

# yum install tmpwatch# /usr/sbin/tmpwatch -afv 3 /tmp

这样就清理了3个小时内没有用到的临时文件。

4.SDx和PetaLinux安装

  1. 依赖库安装

Python 3.4安装

# wget https://www.python.org/ftp/python/3.4.0/Python-3.4.0.tgz# tar -zxf Python-3.4.0.tgz# cd Python-3.4.0# ./configure# make# sudo make install

依赖库

$ sudo su# yum install dos2unix iproute gawk xorg-x11-server-Xvfb gcc git make net-tools ncurses-devel tftp-server zlib-devel openssl-devel flex bison libselinux gnupg wget diffstat# yum install chrpath socat xterm autoconf libtool tar unzip texinfo SDL-devel glibc-devel glibc.i686 glib2-devel automake screen pax gzip# yum install ocl-icd ocl-icd-devel opencl-headers kernel-headers kernel-devel gcc-c++ gcc gdb make opencv libjpeg-turbo-devel libpng12-devel python git unzip dmidecode redhat-lsb compat-libtiff3# yum install libstdc++-static# yum install libtiff-devel# yum install boost-devel# yum install gnuplot# yum install cmake# yum install lm_sensors

TFTP

# gedit /etc/xinetd.d/tftp

修改文本为:

# default: off# description: The tftp server serves files using the trivial file transfer \#   protocol.  The tftp protocol is often used to boot diskless \#   workstations, download configuration files to network-aware printers, \#   and to start the installation process for some operating systems.service tftp{    socket_type     = dgram    protocol        = udp    wait            = yes    user            = root    server      = /usr/sbin/in.tftpd    server_args = -s /var/lib/tftpboot    disable     = no    per_source  = 11    cps         = 100 2    flags           = IPv4}

保存退出。
开启TFTP

# systemctl start tftp.socket# systemctl start tftp.service

修改ens33为eth0,否则会有hostid为000000000000的问题。

$ sudo su # gedit /etc/default/grub

修改GRUB_CMDLINE_LINUX的内容

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet net.ifnames=0 biosdevname=0"

保存退出。执行指令:

grub2-mkconfig -o /boot/grub2/grub.cfg

重启后网卡就会变成eth0了。

提前设置好lincense的路径

# gedit ~/.bashrc

在文件最后添加内容:

export XILINXD_LICENSE_FILE=/opt/Xilinx/Xilinx.lic

保存退出。执行命令。

source ~/.bashrc
  1. 安装SDx

解压安装包后执行命令:

$ ./xsetup -b ConfigGen$ ./xsetup 

安装内容选择:
png51

  1. 安装PetaLinux

执行命令:

$ sudo chmod 777 /opt$ mkdir -p /opt/pkg/petalinux$ sudo chmod 777 /opt/PetaLinux$ ./petalinux-v2017.4-final-installer.run /opt/PetaLinux

这样,我们的SDx,PetaLinux的CentOS环境就装好了。在实际使用前,可以克隆一下虚拟机,之后做别的项目时就可以有一个较为纯净的版本来使用了,毕竟安装一次环境还是比较麻烦的。

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 如何祛除脸上黑斑 如何去除脸上晒斑 怎么样去掉脸上的斑 怎么去掉脸上的晒斑 如何去除面部色斑 怎样去除面部色斑 怎样去掉脸上的晒斑 晒晒 都来晒晒自己奶 真实真实晒晒老妈内裤 晒晒自己的吊 晋江晒晒的世界 晒晒我的收获 晒晒老妈穿内 宝妈们晒晒老公尺寸 晒晒我们的幸福 晒晒我的什么作文 晒晒自己的大基吧照片 晒晒幸福生活 晒晒自己的大基吧 晒晒自己的罩罩 宝宝树晒晒老婆的下身 晒晒自己老公的照片吧 宝妈们晒晒你的侧切照 立体纸艺 宝妈们吗谁毛多晒晒 晒版机镇流器 碘镓灯晒版机 二手晒版机 海水晒盐 晒萝卜干加盐好还是不加盐 海水晒盐的原理 日晒盐 晒萝卜干先放盐还是先晒 晒秋 模具晒纹 晒纹 晒背的好处 晒背 乌龟晒背灯 乌龟晒背灯有用吗