一、设计流程步骤如下:
先去官网下载一个对应的bsp包,如果没有,可以自定义工程,自己建自己的项目,在开始阶段,先用bsp熟悉一下开发流程:
我这里下的是zc702 的bsp板级支持包。bsp下载地址
首先安装bsp包到自己想建立工程的目录下:后面的bsp包根据自己需要填写bsp路径,我已进入到bsp的同级目录下了。
petalinux-create -t project -s xilinx-zc702-v2018.2-final.bsp
之后会创建一个文件夹在与bsp同级的目录下:目录名为xilinx-zc702-2018.2/
cd到该目录下,执行编译:(如果你想配置内核以及文件系统可以根据上面图中的命令自行尝试,这里为了便于演示流程略了)
petalinux-build
之后等待较长的一段时间,就会生成对应于你板子的响应镜像了,之后步骤见第三步
二、建立自己的工程,不用bsp,这时候需要对应你板子的hdf文件
2.1.先创建属于自己的petalinux工程,项目名自定义,命令为有效命令那一行,里面的参数自己设置
模板:petalinux-create --type project --template --name
有效命令:petalinux-create --type project --template zynq --name test_pro
参数说明:
--template - 支持的CPU types值如下,我用的是zynq的板子:
1 zynqMP (for UltraScale+ MPSoC)
2 zynq (for Zynq)
3 microblaze (for MicroBlaze).
Note: The MicroBlaze option cannot be used along with Zynq or Zynq UltraScale+ designs in
the Programmable Logic (PL).
--name - 你想建立的项目名字
2.2 从vivado导出自己硬件平台,之后导入petalinux工程,便于ptlnx知道你用的是什么板子
2.3 导入hdf文件
petalinux-config --get-hw-description=注意右边的hdf文件是填写hdf文件所在路径中的目录即可,不必包含hdf文件。
2.4 编译
petalinux-build
三、编译之后会在"
3.1 生成uImage-如果你需要的话
petalinux-package --image -c kernel --format uImage
之后会在同目录下生成uImage。
3.2 对zynq7000系列生成引导镜像(对其他产品暂不说明,详情看UG1144吧,有需要的下方留言评论,我再翻译一下)
petalinux-package --boot --fsbl --fpga --u-boot
说明:
petalinux-package --boot:是一条命令,生成BOOT.bin的引导文件,详情见UG1157
--fsbl:磁盘/SD卡上到达FSBL elf二进制文件的路径,默认:/images/linux.
• zynqmp_fsbl.elf for Zynq UltraScale+MPSoC
• zynq_fsbl.elf for Zynq-7000
• fs-boot.elf for MicroBlaze.
--fpga:磁盘上bit二进制流文件的路径,也就是vivado生成的bit文件路径,无默认,由用户指定
--u-boot:可选的,磁盘上U-Boot二进制文件的路径, 默认:/images/linux
• u-boot.elf for Zynq family device
• u-boot-s.bin for MicroBlaze.
实用例子:
petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot
说明:--fpga无默认路径,必须由用户指定其路径:例如:~/XXX.bit
之后会在linux目录下生成BOOT.bin文件。
3.3 打包预编译镜像-如何将新建的镜像打包到预编译目录
petalinux-package --prebuilt --fpga
3.4 使用预编译镜像来使用petalinux-boot命令
petalinux-boot --qemu --prebuilt 3
--qemu:代表在仿真下启动petalinux镜像
--jtag:代表在硬件下启动petalinux镜像,根据自己需要选择,这里我们为了便于演示用qemu仿真
3:代表启动等级,无特殊需求就填3,详情见UG114第34页
3.5 在qemu中启动petalinux镜像(也就是之前编译的文件,上面第三步)
petalinux-boot --qemu --prebuilt 3
之后启动完毕后,登录名和密码都是root
之后可以输入 cat /proc/version查看当前内核版本。
退出QEMU: Ctrl+A ,松开,再按 x(小写的x)-若不成功,部分用户请先退出有道词典
四、修改内核源码-创建属于自己的内核-这里以添加实时补丁为例
4.1 给petalinux添加内核补丁的前提是找到内核源码位置
路径:位于 基于bsp创建出来的一个工程里
xilinx-zc702-2018.2/build/tmp/work-shared/zc702-zynq7/kernel-source
4.2
待续…………