说到学习ZYNQ+SOC+Linux开发,我认为主要应该细分为lian两大点:zynq,soc合为一个点,linux为一个点。下面我就给大家介绍学习的流程和路线。
一,学习zynq+soc的FPGA开发部分和片上ARM核的寄存器,裸奔应用开发,我推荐大家收阅读文档《ZYNQ+SOC修炼秘籍-最全面的pdf》,下面我给大家贴上下载地址。
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10545071
百度云下载链接:https://pan.baidu.com/s/1wjUXx5_l6EPE58UZwcnRZw
二,如果各位能按部就班的阅读并自己动手编写测试《ZYNQ+SOC修炼秘籍-最全面的pdf》里面的内容,我相信大家对于zynq的硬件部分已经足够了解,并且能够写出基于FPGA+ARM构架的裸奔程序应用了。
那么接下来,我们就应该学习管如何在zynq平台上搭建Linux操作系统了。
(1)u-boot的编译
我相信大家已经肯定在网上搜索理解了很多关于u-boot编译的资料,所以在此我给大家提供的shi是如何解决编译过程中遇到的一些问题,将自己在项目实践中的记录分享给大家,具体请参考《zynq-u-boot编译说明书》这个资料,下面为下载链接地址。
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10592446
百度云下载链接:https://pan.baidu.com/s/1Gqs3V3U6N6kW2AeJkMn-dA
(2)kernel的编译
![](/qrcode.jpg)
众所周知,kernel为Linux的内核,这个是最最核心的部分,在此不做过多的赘述,给大家分享项目中的记录吧。具体参考《zynq-kernel编译说明书》这个资料。
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10592455
百度云下载链接:https://pan.baidu.com/s/1p1o_3dLZMxWubc-rXGLelw
(3)设备树的编译
不知道大家是否知道,Linux上的驱动是怎么和硬件挂钩的吗?没错,就是使用的设备树,话不多说,请参照《zynq设备树配置说明》这个资料,下面为下载链接地址。
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10592682
百度云下载链接:https://pan.baidu.com/s/102qqfR0OAhJvGW8h2PO1eg
(4)文件系统的搭载
在完成上述三步的操作之后,需要一个完整的Linux系统我们就还需要搭载上文件系统,国外很多人喜欢利用buildroot自己及定制文件系统,但是对于初学者我的建议是先使用已经完善的文件系统,具体的做法请参照《zynq文件系统挂载》这个资料,下面为下载链接地址。
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10592631
百度云下载链接:https://pan.baidu.com/s/1O10BNKid73fguDs4ZZDrXg
三,在完成了u-boot的编译,kernel的编译,设备树的编译,文件系统的编译挂载后,一个完整的Linux系统就搭建成功了。不过我相信在过程中肯定会遇到或多或少的各种各样的问题,在此本人为大家分享一些在过程中遇到的问题以及解决方法,水平有限望大神勿喷。
(1)在运行挂载文件系统的时候本人就曾经遇到,系统默认挂载的是ramdisk,所以无法挂载我搭建在SD卡上的ext4的文件系统,请参考《zynq不加载ramdisk的方法》资料里的解决方法,下面为资料xixi下载链接。
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10592528
百度云下载链接:https://pan.baidu.com/s/1ESMO4FtbykTzN-7nqZqvTg
(2)如何解决板子每次上电都动态分配ip,导致用户无法准确知道板子的ip呢?那就请参考《zynq_linux配置静态和动态ip的方法》这个资料里的内容,下面为下载链接。
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10592481
百度云下载链接:https://pan.baidu.com/s/1s4RduCWI2cVCrZqfxvJ9oA
(3)配置好静态ip后,那么肯定是kai'开始用用SSH连接板子,现在就让我们来解决SSH连接的问题,请参考《zynq上的SSH无法链接问题》这个资料里的内容,下面为下载链接。
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10592643
百度云下载链接:https://pan.baidu.com/s/1bzMbyBzbIG74ot9EymaAHw
(4)以上问题都解决了后,自然是想自己动手编写Linux下的驱动咯。只有有了驱动才能使得FPGA为Linux所用,那么接下来给大家分享几个编写Linux下的axi dma驱动的资料供大家参考。
《zynq字符设备驱动代码》
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10592417
百度云下载链接:https://pan.baidu.com/s/11kTG3LMHKdVyAOY_WzRBhA
《zynq_linux字符驱动之自动创建设备节点》
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10592588
百度云下载链接:https://pan.baidu.com/s/1TVDDxkk1KdDxcunXbfTdmg
《zynq上axi-dma作为字符设备的驱动代码》
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10592469
百度云下载链接:https://pan.baidu.com/s/1ZViLZ1EHWGcshYiaIcHTgw
《zynq_dma_device_tree说明文件》
CSDN下载链接:https://download.csdn.net/download/sinat_31397599/10592552
百度云下载链接:https://pan.baidu.com/s/14ulkwrGJjqk6IrU010qEsw
四,以上介绍大部分均为本人在学习,做项目时的总结,在此分享给大家,希望对广大的学习群体有所帮助,本人水平有限,在此希望各路大神们勿喷。接下来就靠大家自己努力加油了!