【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
我们之所以选用zynq开发板,就在于它支持arm软件开发,也支持fpga开发,甚至可以运行linux,这是之前没有过的体验。实际开发中,我们就可以把业务和逻辑放在arm上,加速部分放在fpga上,各自发挥自己的优势,最大限度使用好zynq芯片。和之前zynq只有zedboard开发板相比较,现在zynq出了很多的板子,那么应该怎么选择呢?
1、价格不必太贵
建议一开始学的时候,价格不要太贵。便宜的zynq,例如7010、7020,价格都不是很贵。但是7035以上,那就是另外一个价格体系了。在我们还没有灵活掌握zynq的时候,不需要买更贵的zynq开发板。等真正有需求之后,特别是来自客户的需求,再来买也是可以的。
2、买学习资料多的开发板
很多开发板本身大同小异。但是对应的开发资料却差别很大,原则上我们尽量选用那些开发资料比较多的板子,这样学习起来稍微容易一点。本身zynq功能强大,可以mcu开发、fpga开发、linux驱动开发,还能单核arm开发、多核arm开发、rtos开发,所以学习难度还是比较大的。这个时候学习资料多少的差异,就体现出来了。不管是软件往fpga转,还是fpga往软件转,资料方面肯定是越多越好。
3、外围电路板用的时候再买
一般厂家除了核心板、底板之外,还会提供外围电路板,比如ad、da转板,还有屏幕子板,甚至还有camra子板等等,这些不是不重要,只是说如果最终用到了再买,也是可以的。实在是没有必要一下子凑齐。
4、了解板子中ps和pl的布局
zynq本身作为arm和fpga的集大成者,其灵活性是它的优点,但是也因为它太灵活了,所以我们买板子的时候,一定要看清它的ps和pl布局。**本身ps内部集成了很多的硬核ip,所以外设部分尽可能复用这些ip,实在是资源有限的情况下,再去用pl开发外设ip。**大部分pl,其实应该用来做算法操作的。

5、熟练掌握原理图部分
知道了ps和pl的部署之后,接下来就是要读懂原理图。soc在哪,ddr在哪,以及spi flash、eth phy、hdmi在什么地方,这些都要做到心中有数。另外因为我们需要开发ps和pl,ps中的端口如何映射的,pl有哪些空闲端口可以使用,clock在什么地方,时钟多少,这些都是可以从电路上找到的。
6、软硬结合是我们学习zynq的唯一目的
很多的开发板,都会让你开始学fpga,然后是sdk,接着是hls、linux和pynq。这样学虽然内容比较多,但是脱离了我们学习zynq的根本目的。**真正要学会的,是用zynq去解决mcu、arm soc、纯fpga不好处理的问题,毕竟arm和fpga合二为一,arm直接通过总线就可以访问fpga,效率还是高很多。**如果只是把zynq当成是mcu、soc、fpga来使用,甚至只是用zynq来学习linux驱动、qt开发,就有点本末倒置了。毕竟即使不配置pl,使用ps也可以让linux跑起来,但是这样就意义不大了。
实际最佳使用zynq的方法,就是arm做业务和逻辑,至于是bare mental,还是rtos、linux,这不重要,选择os只是为了选择后面的生态。接着发现业务的性能瓶颈,这部分用pl实现,等pl做好了ip之后,就可以把ip集成到block design里面,为arm所调用。中间当然也会涉及到dma数据的传输,但是即使这样,也比纯arm处理数据效率快很多,这样才能最大程度发挥zynq的优势和特点。