嵌入式linux开发学习(二)

嵌入式linux开发学习思路!!!

总结一下自己的学习思路吧,对于一个初学者,面对网上随处可见的教程,不知道从何处下手,记得刚开始买了一块开发板来搞,一来就开始搞系统移植、底层驱动这些,弄得头晕,太难了,后来实在学着太费力了,学了很久感觉还停留在原地,都不见效果多方请教才改变了方式,慢慢地越学越顺手。这个过程中饶了很多弯路,也浪费了很多时间,所以有一个好的学习思路很重要!!!

误区1:直接上手底层驱动开发
花费大量的精力和时间去研究学习底层驱动,boot、内核、文件系统地使用及移植等等。首先这一部份针对于初学者来说特别难,自己起初也走了这条弯路,当时学着很吃力,虽然也能看懂,但是效果不是很好,很慢,有种停滞不前地感觉,没有学到什么有用的东西,越往后学越迷茫。

误区2:全身心投入服务器版本linux系统
花费大量的精力和时间去研究学习系统配置,甚至把各种命令都背地滚瓜烂熟,以为这样就可以学会嵌入式linux开发。其实不然,Linux系统只是嵌入式linux的一 个开发工具,我们的目标不是学习服务器的配置和使用,linux服务器的高级配置和使用那是另外一个领域,不属于嵌入式 linux开发讨论的范畴。

误区3:直接阅读linux内核源代码
很多想学linux,在连linux是什么东西,一点都还不会使用的情况下去就阅读linux内核源代码。这样的结果很可能就是看的头昏眼花,不知所云,最后只能放弃了。应该是在有一定嵌入式linux开发基础后,带着一定的目的去阅读linux源代码,这样可以极大地提高技术能力,不过要是在没有任何基础下,对linux一点都不了解的情况下就去看linux内核源代码,那是无异于以卵击石地,最后只能是撞个头破血流。

那么如何正确地学习嵌入式linux开发呢?

一、嵌入式Linux应用开发
学习嵌入式linux也一样。在学习嵌入式linux开发比较适合的切入点是从嵌入式linux应用程序开发开始,即暂时先不去关心嵌入式硬件平台,不去关心linux的底层驱动,先把精力集中在现有的嵌入式linux平台上进行嵌入式linux应用程序设计开发。学习嵌入式linux开发绝不是看看书就可以学好的,需要多实践,多编程调试,所以首先得买一块linux开发板。然后就可以开始学习linux常用命令、环境搭建、应用程序开发等等。
但是呢,目前还不能进行嵌入式linux系统和驱动的开发,也就是说,现在只能在一个已经构建好的嵌入式 linux平台上进行应用程序开发,而自己还没有能力根据实际需要去重新构建一个嵌入式linux平台。要让自己有能力根据实际需要重新构建一个嵌入式 linux软硬件平台,这时候就需要进行下一阶段的学习了,即嵌入式linux系统和驱动开发。

二、嵌入式Linux系统和驱动开发
有了嵌入式linux平台上开发应用程序的基础,就可以更深入的去学习Linux系统原理和基于Linux驱动的开发,Linux内核的裁剪,文件系统构,bootloader等等底层的知识了。当然,想要更深入学习嵌入式Linux系统和驱动开发,要学的内容就非常多了包括计算机软件、硬件、操作系统等知识。通过这一阶段的学习,在嵌入式Linux开发领域已经算是有了一定的功底,已经不再被人称为菜鸟了,已经进入嵌入式linux开发高手行列了。

三、更上一层楼
深入理解了嵌入式内核和驱动开发,这时候写个什么驱动对已经没有什么问题了,开发过程中一些基本问题都难不成问题了。这时可能想优化一下系统的性能,比如实时性,提高系统的启动速度,或者优化系统的内存管理机制,要达到修改内核核心机制的境界,你就需要去深入去研读linux内核源码了,参考 《linux源码深度分析》等linux源码分析的书籍,深入理解linux各部分的实现机制和原理,以及可能存在的问题。只有在深入理解现有代码和实现机制的基础上,才能提出更好的改进方案。如果能达到这个境界,那已经是高手中的高手,可以笑傲群雄了。

以上是自己结合自己的嵌入式学习经历和大佬们的嵌入式开发经验总结的一些嵌入式学习方法和步骤,这只是自己对嵌入式学习的一些看法,希望对那些有兴趣学习嵌入式 linux又不知道从哪开始学的人有所帮助。当然,每个人的情况都不一样嘛,本次总结的一些学习方法和思路仅供参考,希望大家能找到适合自己的学习嵌入式开发的方式,早日进入嵌入式开发大门。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值