用过xilinx zynq petalinux的人都知道petalinux编译一次非常慢,即使下载了sstate和download包之后编译还是很慢很慢,真是让人难以接受了。。。。
so....经过我一番艰苦研究之后终于弄明白了如何使用petalinux生成的sdk来编译自己的驱动程序,步骤如下:
第一步:vivado搭建硬件环境,编译出xsa,在petalinux下创建工程,按照官方指导步骤最后 petalinux-build 编译一次生成整个linux工程
第二步:使用petalinux-build --sdk,petalinux-package --sysroot命令编译出交叉编译工具链,这样只会在 images/linux/sdk文件夹下就生成了编译工具和sysroot,到此步骤之后,如果你只想编译linux 应用程序的话
就打开终端,输入source xxxx/images/linux/sdk/environment-setup-cortexa9t2hf-neon-xilinx-linux-gnueabi 导入sdk到环境变量,然后 输入 arm-xilinx-linux- 按tab键就可以看到petalinux的gcc交叉编译环境已经有了,
之后按照常规方法编译你自己的应用程序就可以了,但是这样只能编译linux 应用程序,要开发petalinux 驱动程序的话是无法编译的,编译提示错误,找不到一堆头文件,要使用petalinux 2020.2的交叉编译器还要下面几个步骤
第三步:如果你想用petalinux 2020.2自带的sdk交叉编译环境编译自己的驱动程序的话,makefile需要指定一个预编译好的内核文件目录 LINUX_KERNEL_PATH := xxx,由于petalinux build出来的文件分散放在不同目录,因此直接使用petalinux工程目录 xxxx/components/yocto/workspace

本文介绍了如何通过Petalinux SDK优化驱动程序的编译过程,避免长时间的完整编译。首先,使用Petalinux创建工程并生成SDK,然后通过环境设置和交叉编译工具链编译应用程序。对于驱动程序的编译,需要指定内核源码路径,并正确链接Petalinux编译的内核目标文件,以确保与板载内核匹配。通过这种方法,可以显著减少编译时间,提高开发效率。
最低0.47元/天 解锁文章
1137

被折叠的 条评论
为什么被折叠?



