前两年获得了一块nxp8mq的官方开发板,根据他的提示,尝试拉代码,结果发现我所使用的电脑(16G + 512G配置)愣是无法拉下源码。当时排查道德原因是,yocto是边拉代码边编译,无法拉到代码的原因是编译把内存全占满了,导致拉代码报错。排查到这,基本上宣告无法通过nxp官方的方法拉到代码了。之后便一直很困惑,为何拉代码时就开始编译了。刚好前段时间看华秋网,发现有这么本书在测评,看介绍,这本书可以比较系统的讲解了yocto的逻知识点,便尝试申请看这本书。幸运的是,最终获得了看此书的机会。
首先,上图:

阅读过程
按照惯例,拿到书后,第一步是阅读推荐序和自序,从推荐序中可以获得他人读这本书的心得体会,获取阅读重点等信息。
推荐序知识点
从推荐序中,可以获得以下知识点:
- 这本书的学习过程中可以实操,没有硬件条件的可以使用qemu模拟,有硬件条件的可以使用树莓派5或者imx8mp官方板。
- Yocto学习曲线很陡峭,但一旦学会,会很好的助力项目开发和项目维护
- 这本书的脉络为Yocto知识点讲解,树莓派实践,imx8mp实践
自序知识点
而从自序中,我也拿到了以下信息:
- 这本书的知识点讲解顺序为从基础到进阶,从进阶到实战,也就是说前面的部分偏理论知识学习,后端知识偏向于项目应用
- Yocto可能能解决目前linux源码中的无用代码过多的问题(我一直觉得linux,zepyhr这种框架和驱动代码都混在一起的操作就是个坑,导致了第三方内核源码过大,甚至找找不到能像看单片机代码那样快速跳转的工具来阅读linux源码,但实际使用的源码可能1%都不到)
目录粗读
很惭愧,由于之前完全没有系统地学习过yocto,导致一看目录时,基本上没看明白脉络,仅仅知道的是,第一二章内容属于背景知识,从第三章开始,就逐步切换到yocto知识点的讲解了,到第8章开始将树莓派镜像定制,8到9章都是以树莓派为例进行讲解。但是第10章跳转到软件开发的yocto构建,第11章也算实际案例使用,也就是说,第8章到第十一章,基本上都在讲不同场景下的实际落地使用方法,但貌似没哪个地方提到imx8mp的使用。
内容阅读
已阅读部分
由于知识点属于循序渐进,目前花了几天时间读到了第4章,
第一章到第二章,主要讲yocto相关的背景知识,主要讲解linux系统以及yocto相关的概念,学习资源,作者的心得体会之类的内容
第三章和第四章,更多的是从语法和源文件分析的角度上去讲解yocto相关的基础知识,但由于内容比较偏知识点讲解,缺乏实战,因此看完后,脑海中仅有个概念,看到后面的内容时还需要往回翻对应的知识点。
总结
阅读到现在,切实的感受到的yocto的学习曲线陡峭的含义了,yocto涉及到的很多知识点,相比较于其他项目,明显感觉很多定义不一样,比如require定义,在yocto中的定义是必须包含的内容,如果不存在,则报错且不执行,这就相当于其他编程语言中的include了,如果不存在,则报错并终止编译。相反,yocto中的include定义变成了包含,但不存在也不影响执行,这个定义的差异,就带来了理解的偏差。但总体来说,如果学会了yocto,并将其应用在平常项目中,这些差异都将不会是阻碍,相反的,由于熟练掌握yocto的知识带来的源码管理的便捷性会在使用中会得到不断地提升。
PS:书本中提到地二维码很有用,能够链接到书本对应地视频,对着视频看书,能够更好的掌握yocto知识点。
|