cuter

【一书一贴】嵌入式系统软硬件协同设计 读后感

0
阅读(5110)

嵌入式系统软硬件协同设计读后感


1、前言

首先,感谢ChinaAET的“闲置资源交易中心”,该中心用于闲置开发板、书等资源的交换或购买,有兴趣的朋友可以关注一下。

《嵌入式系统软硬件协同设计实战指南—基于Xilinx ZYNQ》一书是网友“北极熊”无偿提供,这里表示感谢。我在学习完之后,会按照“北极熊”的要求,把书传给下一位网友。


2、总体感受

全书分为两部分,一是基础篇,二是进阶篇。两部分之间没有很好地过度,我感觉从基础篇到进阶篇的跳跃稍微有点大。对于基础不好的人来说,进阶篇的列子难度有点大,多数例子都是点到为止,不是那种“Step by Step”的tuition;对于基础好的人来说,前半部分的基础篇稍显多余;对于有了一定Zynq开发基础的设计人员来说,这本书就比较有参考价值了:首先能够粗略读一下基础篇,跟自己所掌握的内容做个印证,然后可以学习进阶篇的设计实例。

不可能有本书是为你量身订做,不管你水平如何,只要用心去读,总能有所收获,这就是所谓的开卷有益。


3、基础篇

正如作者自己的分类,该部分是基础内容。

1将你的ZED板卡用起来

这一章主要是通过点亮led和启动Linaro Ubuntu这两个例子让初学者对zynq/zedboard有一个直观的认识。

第二章至第九章是对zynqzedboard的一些介绍,包括zed电路原理,开发工具链,zynq体系结构,zynq启动与配置等等。

这些内容大多数可以在官网提供的ug585这份文档中找到,不过ug585是英文的。

基础篇有些部分的内容组织方式,个人感觉不是很好,例如控制器,大篇幅的文字介绍,没有具体的使用方法或实际用例。基础篇共有9章,除了第1章和第9章之外,其他都是理论性质的介绍,没有操作类的东西,这样的安排会让读者很累,读起来容易失去耐心。如果每部分的内容都能配上实际动手练习的内容,想必能够加快学习进度,也使得读书的过程没那么乏味。


4、进阶篇

如果要用一个关键字来代表进阶篇,我觉得这个关键字是Linux。为什么这么说呢,进阶篇共五章,前三章可以说是介绍性的章节,后两章是设计实战。理论部分暂且略过,后面的实战部分,除去FreeRTOS相关的部分,其他全是在Linux下完成设计。

首先这些设计实战都是值得学习和研究的,网上也很少有比较完整的实战例子,所以很感谢作者能够分享出来。话说,我就是被简介中提到的这些实战用例吸引,才想读这本书的。其实同事有本第1版,都还没好好读一遍,浮躁啊浮躁,这次借着“北极熊”借书的机会,体会一次“书非借不能读”。

夸的话就不多说了,来点吐槽吧,由于进阶篇的实战例子我还没有动手练习,所以后面的吐槽可能是不对的,请大家多多指正。吐槽不是贬低,是为了更好地下一版。

4.1、关于实战用例的硬件和逻辑设计

由于作者是xilinx大学计划的负责人之一,可以轻易的从xilinx的合作伙伴获取一些IP、板卡,而一般人想要学习这些IP、板卡(例如安富利、Digilent的一些FMC扩展板卡很贵,像书中提到的那块液晶屏板卡,429刀,貌似比Zedboard要贵)可能没那么方便。

Digilent FMC-HMI扩展版

例如,13.13小节的zynq上搭建Andriod,所使用的图形显示控制模块是某公司的一个GPUIP14.2 Sobel滤波这一小节同样使用了logiCVC-ML这个IP。我之前的博文中向大家推荐过一款GPU,实际上就是同一家公司的产品。当时评估该IP时,好像源工程不能综合,只能在他们给的bitstream进行软件调试,具体也记不清了,好久前的事情了。该公司不为个人提供技术支持,只为企业客户服务。个人感觉这个IP不适合研究学习使用换句话说,这两个例子我们自学的时候很难玩转,需要自己进行裁剪,才能跑起来。

4.2Zynq的优势如何展现

由于所有设计都是在Linux OS下完成的,多数设计都是重PS,轻PL,在智能小车项目结束语中作者也提到PL的优势没有充分发挥,期待下一版的改进。

感人感觉基于OpenCV的树叶识别系统、基于OpenCV的人脸检测系统这两个例子是比较有学习价值的,能够很好地体现Zynq平台FPGA+ARM这一架构的优势。这两个实例对于Vivado HLS的学习应该会有所帮助。


5、未完待续

今天只是简单地说一下大致感受,后面还会给出具体学习过程中的笔记

Baidu
map