ZYNQ跑系统 系列(二) petalinux方式移植linux_petalinux移植(1)

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

  • 2.修改/bin/sh
    shell中输入:dpkg-reconfigure dash,在出现的界面中选择‘否’

  • 3.下载petalinux
    去官网下载petalinux-v2017.1-final-installer.run(文件8个G,上传不了)

  • 4.安装petalinux

    • 在一个用户目录下(我的是:home/hlf/mnt),用鼠标右键,新建一个文件夹petalinux
    • 在普通用户下(非root模式下,即命令行是:hlf@hlf-virtual-machine:~/mnt$这样的),shell中输入命令:./petalinux-v2017.1-final-installer.run ./petalinux
    • 经过漫长的等待,安装到一半的时候,提醒查看许可,按回车查看,按q退出,退出后输入y,回车,如此重复三次,才开始正式安装(这个步骤要很小心,如果没有输入y,就回车,就要重新了)
    • 安装的时候提示,提示有几个库没装,不过没关系,等petalinux安装完之后,再补也不迟,静候一直到安装完毕
      这里写图片描述
  • 5.补一些库的安装

    • 懒人直接只看这一点即可(可以跳过下面两点),把下面命令粘贴到shell中回车即可:

    apt-get install texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev zlib1g:i386 libncurses5 libncurses5-dev libc6:i386 libstdc++6:i386 zlib1g:i386 libssl-dev tftpd tftp openbsd-inetd

    • 先安装刚刚安装时,提示缺少的库:

    apt-get install texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev zlib1g:i386

    • 安装一些之后需要的库,全都安装了避免麻烦:

      • 在运行petalinux-config -c kernel会出现错误,需安装:
        apt-get install libncurses5 libncurses5-dev
      • 编译时可能会出现错误arm-xilinx-linux-gnueabi-gcc: Command not found,需安装:
        apt-get install libc6:i386 libstdc++6:i386 zlib1g:i386
      • 提示缺少zlib和openssl,需安装:
        apt-get install libssl-dev
      • 出现警告(警告而已,强迫症可以处理一下),提示No tftp server found - please refer to “PetaLinux SDK Installation Guide” for its impact and solution,需安装:
        apt-get install tftpd tftp openbsd-inetd,安装完成后,编辑一下**/etc/inetd.conf**里的东西:
        直接shell中输入gedit /etc/inetd.conf,打开了文件,并在文件最后一行增加:
        tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftproot 然后保存并退出 ,之后再进行一些简单操作:
        mkdir /tftproot
        chmod 777 /tftproot
        /etc/init.d/openbsd-inetd restart
        输入netstat -an | more | grep udp命令,以确定成功(打印出udp 0 0 0.0.0.0:69 0.0.0.0:*
  • 6.验证是否安装成功
    source /home/hlf/mnt/petalinux/settings.sh
    成功定位不报错的话,基本是成功了的
    echo $PETALINUX
    命令行会打印出安装路径/home/hlf/mnt/petalinux

二、搭建硬件环境

  • 1.新建工程,选择对应的芯片型号,并新建一个 BD 原理图文件(命名为system),然后添加一个ZYNQ Processing system的IP核,并设置好与硬件相符合的PS和PL时钟以及DDR型号
    这个步骤同传统方式移植那篇文章
  • 2.为了使PetaLinux正常的运行,需要分配一些硬件外设资源

1.TTC模块**(必须)** ,如果有多个,Linux内核将会使用第一个。
2.外部32MB存储空间**(必须)**
3.UART模块**(必须),控制台打印信息用,若用IP核的话,需中断信号连到PS
4.非易失存储器
(可选),如:QSPI Flash,SD/MMC
5.以太网接口
(可选)**,若用IP核或外部PHY的话,需中断信号连到PS

本文硬件上,将在ZYNQ Processing system里启用TTC、UART、SD以及之后可能用到的USB、Ethernet(网口0在bank1,bank1电压要选1.8V,否则报错)
这里写图片描述
这里写图片描述

预留好上述模块就可以了,
这里写图片描述
然后右键单击 Block 文件,文件选择 Generate the Output Products,然后右键单击 Block 文件,选择 Create a HDL wrapper,根据 Block 文件内容产生一个 HDL 的顶层文件,并选择让 vivado 自动完成

经Vivado综合,实现后,在Vivado中导出硬件,输出PetaLinux所需要的硬件描述文件
输出的文件就在**“/(工程文件夹)/(工程名).sdk”这个文件夹下,这个文件夹下的system_wrapper.hdf**待用

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

如果你需要这些资料,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值