使用petalinux做嵌入式设计开发(1)

1.创建vivado工程,建立硬件环境,最终导出hdf文件

    既可以在windows系统下的vivado上编写硬件工程并导出hdf文件,也可以在linux系统下的vivado中编写硬件工程并导出hdf文件。(对于windows系统下导出的hdf文件还需要传递到linux系统下的文件夹中。)

2.以hdf硬件文件为基础创建,配置,编译,打包petalinux工程,导出linux系统所需镜像文件。

具体步骤:

(0)设置环境变量

          设置环境变量使得我们可以直接使用petalinux的这些指令

(1)创建

//-t 创建工程类型,这里选择peoject
//—-template 创建模版选择,这里选择zynq
//-n创建工程名

(2)配置

需要先进行总配置,再分别进行u-boot,内核,以及根文件系统的配置,由于选择了zynq模板,参数基本不用变,所以直接保存退出即可。(注意接下来的所有指令都要在第一步创立的工程文件中执行)

a.配置总工程

 b.配置u-boot

编译过程, 这里有一个报错:

 解决办法:

①根据报错提示,进入错误报告的文本中查看错误原因:

 根据提示,找到编译记录:

② 找到其中的错误提示,根据提示我们知道,是这个pl.dtsi的脚本文件中的第57行的32-33列在编       译的时候出现了错误,我们进入该脚本文件。

 ③修改错误脚本

打开文件后,点击右下角的图标,显示行标

 定位到第57行的代码:

 分析可知,可能实hdf文件中的频率出现了小数点部分,在自动生成的脚本当中该处也写成了小数形式,但是该处的值应该是一个整数类型,因此要删掉小数部分。

④删除完毕后保存退出,重新配置,发现不再报错,并且可以进入配置界面,表明错误被消除了。

 c.配置kernel内核

 d.配置rootfs根文件系统

(3)编译

        理论上可以分别对这些文件进行编译,但是最快的方法还是直接编译整个工程即可

       

注意:这里依旧出现了在配置工程中出现的错误,按照刚才的解决方法修改对应的脚本文件后再重新编译即可。 

报错显示:

修改后显示:

(4)打包

我们需要将编译生成的boot文件,fsbl文件,bitsream文件,以及u-boot文件做一个封装,变成BOOT.BIN文件,从而将其刷入sd卡当中。

①这些文件所在位置:

②文件封装:

3.将生成的文件刷入SD卡,启动开发板

对SD卡的操作为三步,首先要建立一个fat32分区(方便zynq读取),其次,对该分区做格式化,最后将BOOT.BIN与image.ub两个文件拷贝到SD的该分区当中(sd卡理论上要8g以上)。

①建立fat32分区

   首先插入sd卡,并在linux系统下进行识别,在右下角可以进行sd卡的linux系统识别:

  

a.查看sd卡路径:

 b.先解除挂载​​​

​​​​

 c.利用fdisk命令对sd卡进行分区设置

(注意这里操作的是sd卡,而不知针对sd卡的一个分区,故不加分区名)

 d.设置步骤如下(具体原理不再赘述,可以查看帮助了解各指令含义)

d.删除所有分区

e.建立分区,并设置为fat32形式

 f.保存退出

 ②格式化sd卡分区

 (注意:格式化的是sd的该分区,所以应该加上后面的分区名p1)

③拷贝linux文件系统到sd卡创建的分区

同步,解除挂载,然后就可以拔出sd卡,插入zynq中开机

4.调试:

利用串口做调试,来验证是否linux系统是否正常使用

因为在配置的时候都是默认配置,所以这里的用户名和密码都是root,输入用户名和密码之后能够正常进入系统,表明zynq的linux系统开启成功。

 

补充说明: 

想要更好了解petalinux相关指令,可以输入指令:petalinux --help,其中常见的petalinux指令有:

    petalinux-boot //启用开发板     

    petalinux-create //创建

    petalinux-config //配置

    petaliux-build //编译

    petalinux-package //打包

    petalinux-util 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PetaLinux是一个基于嵌入式Linux开发工具链,用于构建嵌入式系统。它提供了许多可定制的组件和功能,其中包括对JFFS2文件系统的支持。 JFFS2(Journaling Flash File System 2)是一种针对闪存存储设备设计文件系统。它具有很好的压缩率和高度可靠性,适用于嵌入式系统。在嵌入式系统中,闪存是一种常见的存储设备,它通常具有较小的存储容量和有限的周期寿命。因此,选择合适的文件系统对于确保系统的可靠性和性能至关重要。 使用PetaLinux时选择使用JFFS2文件系统有几个优点。首先,JFFS2具有较好的压缩率,可以节省存储空间。这在嵌入式系统中特别重要,因为闪存的容量通常有限。其次,JFFS2采用了日志技术,可以确保数据的完整性和一致性。它可以通过将修改的数据写入日志中,然后再写入闪存中来提供数据持久性。这有助于防止数据损坏和错误。 另外,PetaLinux提供了对JFFS2文件系统的内建支持和集成工具。这些工具使得在构建嵌入式系统时轻松地添加和配置JFFS2文件系统成为可能。开发人员可以使用PetaLinux提供的命令和选项设置文件系统的参数和属性,以满足特定的需求。 综上所述,使用PetaLinux来构建嵌入式系统并选择JFFS2文件系统能够提供较好的存储空间利用率和数据的可靠性。这使得嵌入式系统在具有有限存储容量和闪存设备的情况下,能够更好地运行和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值