目前,Linux作为嵌入式系统的主力军,广泛应用于消费类电子、工业控 制、军工电子、电信/网络/通讯、航空航天、汽车电子、医疗设备、仪器仪表等相关行业。随着嵌入式行业的迅猛发展,嵌入式Linux凭借其系统发展的成熟 度、市场应用的高份额也受到更多工程师朋友的青睐,越来越多的企业和研发机构都转向嵌入式Linux的开发和研究,这使得嵌入式Linux在新兴的嵌入式 操作系统领域内也获得了飞速发展和广泛应用。而对于那些希望尽快进入嵌入式行业从事产品研发的朋友们,选择嵌入式Linux方向作为切入点无疑是最好的途 径之一。近期,有许多面临毕业、找工作的大学生来网站咨询了解 有关嵌入式Linux方向的学习安排。在与他们交流沟通的过程中,被问到最多的几个问题就是“如何做好嵌入式Linux学习前的准备?”,“学习嵌入式 Linux需要补习哪些基础课程?”,“嵌入式Linux开发跟普通软件开发在学习方法上有什么不同?”,“项目实战环节多吗?”,“有专业人员带领 吗?”,相信这些也是很多准备入行的初学者都会关心的问题,为了帮助大家做好嵌入式Linux的学前准备,我们对这些常见的问题逐一进行解答,提供给大家 参考,希望能够有所帮助。
1、如何做好嵌入式Linux学习前的准备?
要成为一名合格的嵌入式Linux工程师,就需要系统的学习软、硬件相关领 域内的知识,需要在最开始就掌握开发的规范和原则,养成良好的工作习惯。为了确保学习的效果,这就要求准 备参加嵌入式Linux就业课程学习的同学要调整好自己的时间,务必要确保在4个多月的学习时间内能够高度集中精力。
在整个集中学习过程中,既要保证课上认真听讲、实战演练的时间,也要保证课下继续实战演练、查阅资料的时间。只有经过这种高强度的、实战为主的训练,才能够在比较短的时间内掌握规范的嵌入式开发工作流程,让自己符合嵌入式企业对应岗位的需求。除了在学习时间上要做好充分的准备之外,在学习的心态和方法的调整上也要做 好准备。许多朋友只了解嵌入式Linux方向美好的发展前景,只关注高收入、就业机会多等热点,却忽略了学习过程本身。为了能够让集中培训的效果发挥到最 佳,建议大家在学习开始前更多地去了解嵌入式产品研发的特点、所需要掌握的技术规范和工作要点,关注需具备基础的补充和学习,从而为后续的强化学习过程做 好心态上的准备,毕竟态度往往决定了最后做事的结果。
2、学习嵌入式Linux需要补习哪些基础课程?
嵌入式Linux工程师的学习需要具备一定的C语言基础,因此面对许多朋友 只是在大一或者大二学习过C(还不一定认真学了,呵呵!),之后基本就不再用过的情况,建议大家学习之前先复习一下C语言基础这块。要提醒大 家的是,复习时不能只关注基本语法,对于常用的数据存储及处理方式,例如:数组、结构体等也要关注,有条件的话一定在机器上亲自敲敲代码、分析理解一下具 体案例代码编写的思路,让自己慢慢进入一名嵌入式开发人员的状态。
此外,在时间允许的情况下,建议大家看一下有关计算机操作系统工作原理以及 计算机组成原理等方面的专业书籍。对于进程、线程、任务调度、总线、I/O等基本概念及工作原理有一个初步的了解和掌握,这部分知识的准备对于后续更好地 学习嵌入式Linux系统开发将会起到很好的帮助作用。
3、嵌入式Linux开发跟普通软件开发在学习方法上有什么不同?
要成为一名成功的嵌入式软件开发人员,程序的设计能力是首要技能,这一点与 普通的软件开发人员的要求是一样的。但是作为“软硬兼施”的嵌入式开发,则要求大家不仅要了解较底层软件的工作过程和工作原理(例如操作系统级、驱动程序 级软件),在软件开发的专业水平上也需要充分考虑软件设计的时间和空间效率,这样才能设计出高性能嵌入式程序。
因此面对相对复杂的嵌入式系统的研发过程,在学习的过程中需要更多关注完整的知识体系结构的建立。特别是对于原理性知识的掌握程度则相对普通的软件开发人员提出了更高的要求。因此在学习的过程中,“要知其然,更要知其所以然”。
记住贯穿始终的是:要知道为什么学?要知道学的是什么?要知道怎么学?要知道学了如何用?最后还要知道用的时候出了问题该如何解决?相信以这些问题为线索的学习过程一定可以帮助大家快速成为一名优秀的嵌入式开发工程师。