我目前用正点原子的课程在学习,用的板子是自己的ZYNQ-7035,板子上有一块AD9361芯片,现在要求:在zynq平台上跑linux操作系统,通过spi接口实现对AD9361芯片的控制。我有两年的FPGA工作经验,之前没有接触过ARM相关的知识,前一段时间也是通过学习正点原子的ZYNQ相关课程,裸机实现了对AD9361芯片的控制。现在要求上操作系统,遇到了很多问题,在这里记录一下我的学习历程以及待解决的问题,希望能得到大佬的指正!
l 2020年10月19日 – 2020年10月25日 搭建ZYNQ开发环境(安装虚拟机/ubuntu/petalinux/xsdk),熟悉ZYNQ开发流程。自己在vivado上搭建自己的工程得到hdf文件,并利用Petalinux开发软件,成功在板子上运行自己搭建的系统(默认配置、自动生成)。
l 2020年10月26日 – 2020年11月1日 熟悉Linux开发流程,主要是字符设备驱动开发,初步接触设备树驱动开发。 补充:这个周想“另一种方式编译ZYNQ镜像”。按着教程来的,结果放在SD卡中在板子上启动不了。自己目前也查不出什么原因,初步估计是板子的差异性问题,所以现在还是用自动生成的系统。 l 2020年11月2日 – 2020年11月8日 Ø 星期一 进展:了解pinctrl子系统和gpio子系统 计划:先通过SPI实现对AD9361的控制,即先实现SPI接口驱动。 (1) 在linux系统上实现对虚拟字符设备驱动的编译、应用程序的编译;在开发板上实现对虚拟字符设备驱动和应用程序的测试。【已完成】 (2) 在linux系统上实现对EMIO接口驱动的编译、应用程序的编译;在开发板上实现对EMIO接口驱动和应用程序的测试。 (3) 在linux系统上实现对SPI接口驱动的编译、应用程序的编译;在开发板上实现对SPI接口驱动和应用程序的测试。 Ø 星期二: 进展:EMIO接口驱动的实现:用vivado搭建一个工程,将gpio接到PL端的EMIO引脚上(我的板子上没有LED灯),
|