petalinux环境安装和基本编译

 

过去的两个月,由于工作原因使用到了zynq,花了一些功夫学习了petalinux的使用,以下做一些记录

1、petalinux环境的安装

  根据官网的介绍,petalinux所需的操作系统有特殊要求,其他版本的操作系统尽量不要使用,会出现莫名其妙的错误,不是我这种小白能解决的了的,然后在系统上面安装petalinux所需要的环境,具体的一览表可以在官网上面的文档可以看到,截图如下

我安装的环境是ubuntu16.04,这里的Ubuntu一定要使用64位的,刚开始我安装了一个ubuntu16.4 32位的,安装的时候最后总是啥也不提示,然后就安装失败了,前前后后花了一个月的时间没有搞明白为啥别人一下就安装成功了,我的确失败了,直到有一次我要安装eclipse,下载了一个64位的提示我安装失败,我才发现自己的ubuntu竟然是32位的,欲哭无泪呀。

Note:ubuntu安装的磁盘空间最少需要50G,后面的patalinux文件有点大,安装完之后也很大,生成的工程文件也很大,所以确保足够的空间

然后安装petalinux在ubuntu下的使用环境,使用命令

#sudo apt-get install xxxx,将ubuntu那一列的软件全部在线安装,网上也有一些可以教你怎么一次全部安装上去的命令

安装好之后,需要将指令变成dash指令,执行命令#sudo dpkg-reconfigure bash ,在弹出窗口之后选则NO就行了

就可以安装petalinux了,petalinux的安装包是一个.run,比如我安装的是petalinux-v2017.4-final-installer.run,在ubuntu的路径 /home/username/ 下新建文件夹petalinux,这样所有和petalinux的相关文件全部都在这个文件夹下面。

将文件petalinux-v2017.4-final-installer.run放在petalinux下面,直接在本路径下执行命令

#./petalinux-v2017.4-final-installer.run ./     将patalinux安装在这个文件夹下面,这里需要时间久一点,要检查这个安装包是否完整,系统是否可用,检查完之后就会让你同意一些乱七八糟的协议,依次按下q y enter q y enter q y enter q y enter就可以跳过了,跟据提示来,先是给你显示一堆协议,然后按q退出,然后y同意,enter输入,差不多是这个流程。

下面开始检查你的环境是否安装完整,如果有些和他要求的不一样,他就会安装失败,然后给你生成一个log文件,那你可以直接在终端中看或者看log文件,看完之后按照他的要求接着安装就可以了。这一步应该就能保证你安装完成了。

2、petalinux使用

  在文件夹下面创建一个文件夹project,专门用来放置你的工程文件,现在上一级文件夹,按照我的操作绝对路径应该是/home/username/petalinux/ 下面有一个文件setting.sh,这个文件应该是初始化petalinux和进入petalinux的环境,在终端中运行命令

#source setting.sh

稍等一会会打印一些列信息,说明就进入了petalinux的环境中了

保持这个终端不要关闭,下面的一系列都要在这个终端中执行,如果退出,需要重新source这个.sh文件

执行命令#cd project ,创建一个工程,命令为#petalinux-create --type project --template zynq --name projectname

这个命令中zynq需要根据自己的需求选择,zynq或者zynqMP ,projectname自己命名工程名,这样在你的project文件夹下面就产生一个projectname的文件夹,这就是你的工程文件

获取一个描述硬件的文件XXX.hdf,放在你的工程文件夹下面,执行命令

petalinux-config --get-hw-description=./  ,peatlinux就会根据这个硬件描述文件生成一堆内核和设备文件了,接下来会弹出来一个窗口供你定制化你自己需要的linux系统, 

直接save,exit,稍等一会就成成了linux内核源文件。在路径

/home/username/petalinux/project/test/components/plnx_workspace/device-tree/device-tree下你可以看到设备树信息,根据自己需要修改

然后执行命令

#petalinux-build,根据自己计算机的性能等上半个小时到一个小时不等的时间,patlinux就编译好了,在路径/../image/linux下面就能看到自己编译生成的文件

然后使用打包命令patalinux-package  后面加上打包参数,就可以将自己需要的东西打包进去了

通常打包命令是petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot,偶尔也需要将system.bit打包进去

petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot --fpga system.bit

 

posted @ 2019-07-07 09:47  骨灰级帅锅  阅读(2932)  评论(0编辑  收藏  举报