首页 » FPGA » 正文

petalinux 初上手

环境

vivado与petalinux的环境都要source下
source /opt/pkg/petalinux/settings.sh
source /opt/Xilinx/Vivado/2017.4/settings64.sh

创建工程

获取硬件信息

  • petalinux-create --type project --template zynq --name helloworld
  • 进入helloworld目录,新建hardwareInfo目录并把vivado生成的硬件相关文件拷贝到这个目录中(目录名可以随便取)
  • petalinux-config --get-hw-description ./hardwareInfo 获取硬件信息, 实际是解析了那个目录中的hdf文件,会弹出配置信息

配置

使用petalinux-config 来进行项目配置,在运行完get-hw-description也会自动进入配置

主要配置以下内容
– linux components selection 内核/uboot 来源,默认从git中取,网络不好的环境可指定路径
Subsystem AUTO Hardware Settings->Serial Settings 中设置默认打印串口
Subsystem AUTO Hardware Settings->Ethernet Settings IP MAC配置
– 如果要从SPI FLASH启动,配置Subsystem AUTO Hardware Settings->flsah settings->advanced flash auto configuration
– 如果从SD卡启动,检查SD/SDIO Settings中有没有SD选项,没有的话检查vivado的工程中是否配了SD卡
Advanced bootable images storage Settings中配置uboot kernel等文件存放的位置

其他

  • u-boot Configuration 里的选项可以看到当前uboot的一些参数,也看得到当前用的是哪个uboot配置文件,如果不使用petalinux,可以使用那个文件来配置uboot
  • petalinux-config -c kernel 进行内核配置,去打开关闭内核的一些功能与驱动,当前使用的Micrel的PHY,默认没有,需要勾一下
  • petalinux-config -c rootfs 配置文件系统.
  • petalinux-build 编译内核

通常配置

在kernel中需要打开对应PHY驱动, ALINX板子用的Mircrel的PHY,默认内核没打开
默认Rootfs中,没有libstdc++,qt会报libstdc++.so.6找不到.要么在运行时去找到编译器路径拷贝到Lib目录,也可以在编译rootfs时集成进去.选项路径如下

打包镜像

编译完成后,会在images目录生成一堆文件.其中image.ub是针对sd卡的一个文件,其中包含了dtb uiamge rootfs
不过fsbl需要自已打包一下
petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga ./images/linux/system.bit --u-boot --force

可以看到生成了boot.bin 然后将image.ub boot.bin拷贝到SD卡,启动,默认用户名及密码均为root. 收工

发表评论