petalinux添加AD9361驱动
- 需要
- petalinux2016.2
- 包含AD9361驱动的Linux内核(xcomm_zynq_4_4)
添加内核到petalinux
准备工具
ADI提供的AD9361Linux驱动:
https://wiki.analog.com/resources/tools-software/linux-drivers/iio-transceiver/ad9361
源码链接,注意内核版本,这里我们选择xcomm_zynq_4_4:
https://github.com/analogdevicesinc/linux/tree/xcomm_zynq_4_4
petalinux2016.2官方链接
http://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/2016-2.html
步骤
- 将下载后的含有AD9361驱动的内核(xcomm_zynq_4_4)直接替换掉petalinux中的Linux内核;
注意:- 一定要注意petalinux中Linux的版本内核与ADI提供的Linux版本一致;
- 下载后的ADI内核不需要编译,交给petalinux工具完成,顺序执行下列命令;
- 执行petalinux工具命令(参考UG1144,还是要注意版本):
- petalinux-create –type project –template zynq –name test
- petalinux-config –get-hw-description
- petalinux-config -c kernel
- 在build之前需要插入一个步骤,那就是修改设备树。详见步骤3
- petalinux-build
- petalinux-package –boot –fsbl ./image/linux/xxx.elf –fpga ./image/linux/xxx.bit –uboot
- 步骤2或者步骤3之后都可以执行修改,只要在build之前;
- 将内核目录:linux-xcommm_zynq_4_4 -> arch -> arm -> boot -> dts 的两个文件复制到步骤2中所建的工程目录: test -> subsystems -> linux -> config -> device-tree
- 修改工程目录(test -> subsystems -> linux -> config -> device-tree)中dts文件:将步骤3-1中所添加的两个dtsi文件包含到system-top.dts中;
- 修改步骤3-1中所添加的adi-fmcomms2.dtsi和adi-fmcomms3-up-down-converter.dtsi文件:如图添加语句;包括:#define fmc_spi spi0、#define fmc_i2c i2c0、#define pmod_spi spi1。
- 将内核目录:linux-xcommm_zynq_4_4 -> arch -> arm -> boot -> dts 的两个文件复制到步骤2中所建的工程目录: test -> subsystems -> linux -> config -> device-tree
- 将步骤2-6生成的镜像拷入FAT格式SD卡中,终端打印: