petalinux添加AD9361驱动

时间:2021-06-29 23:37:20

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

petalinux添加AD9361驱动

步骤

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

petalinux添加AD9361驱动