zedboard adau1761之petalinux环境下新工程的建立和详细配置(一)

(1)在已经安装好的petalinux环境在新建一个工程,cd到希望建立工程的目录下。

petalinux-create -t project --template zynq --name test_project

• 这样就创建了一个基于zynq芯片模板,名为test_project的工程了。
• template属性可以选择zynq,zynqMP,microblaze
(2)准备好硬件描述文件hdf文件,导入硬件描述文件(备注:hdf是在vivado软件下配置生成的)。

petalinux-config --get-hw-description=(hdf文件的目录)

在该步注意,如果导入一直提示路径错误,但实际路径是没问题的,可以尝试把hdf文件cp到工程在,在工程的hdf文件同一目录直接运行

petalinux-config --get-hw-description

如果还是不行,看看hdf文件和目录的权限,或者尝试切换至root身份后,重新source一下settings.sh文件
(3)导入成功后,会弹出配置的meau,进行你的linux内核(前提是已经下载好petalinux-v2015.4-final内核的压缩包,解压缩放在/petalinux-v2015.4-final/components/linux-kernel/目录下,与xlnx-4.0同目录),默认的内核是xlnx-4.0,mean修改成自己的内核。本例命名为linux_new,选择linux_new保存后,会有自动生成设备树的动作:
这里写图片描述
这里写图片描述
(4)在上面标出的设备树目录下修改生成的设备树文件。
这里写图片描述
具体设备树的修改见另一篇文章:zedboard adau1761 音频驱动设备树之修改
(5)在工程目录下配置kernel
运行petalinux-config -c kernel,配置kernel的选项。
选择Device Drivers
这里写图片描述
选择i2c support
这里写图片描述
接着选i2c hardware bus support
这里写图片描述
勾选Xilinx i2c controller(后续测试该项必须勾选,否则无法进入adau1761_i2c_probe和adau1761_probe函数)
这里写图片描述
返回上一级,继续配置sound card support
这里写图片描述
按空格键选择AXI-I2S support和zed board sound support,前面的 * 符号对应的是obj-y,编译在内核中;按空格也可以切换成M,对应的是obj-m,单独编译成模块,需要insmod加载模块,本例子中直接配置成 * 即可。
这里写图片描述
(6) 将modules/mymodule/目录下的文件拷贝至自己工程的components/目录下modules文件中有adau1761.bin、Makefile文件等。在adau1761.c的adau1761_probe函数中的firmware_name = ADAU1761_FIRMWARE;会加载这个adau1761.bin固件,若缺失这个固件,会出现固件加载异常的错误。modules文件已传至csdn:zedboard开发板的adau1761.bin文件的模块包
这里写图片描述
这里写图片描述
没有modules下的文件,下面的一步配置rootfs将无法配置mymodule选项。
(7)接下来配置rootfs选项:petalinu-config –c rootfs
勾选modeles下面的mymodule
这里写图片描述
8)运行petalinux-build进行编译,用网口进行下载,内核加载情况如下:
这里写图片描述
至此,adau1761的内核加载完成。

猜你喜欢

转载自blog.csdn.net/u014470361/article/details/80807602
今日推荐