給嵌入式linux初學(xué)者的建議
掃描二維碼
隨時(shí)隨地手機(jī)看文章
目前,Linux作為嵌入式系統(tǒng)的主力軍,廣泛應(yīng)用于消費(fèi)類電子、工業(yè)控制、軍工電子、電信/網(wǎng)絡(luò)/通訊、航空航天、汽車電子、醫(yī)療設(shè)備、儀器儀表等相關(guān)行業(yè)。隨著嵌入式行業(yè)的迅猛發(fā)展,嵌入式Linux憑借其系統(tǒng)發(fā)展的成熟度、市場(chǎng)應(yīng)用的高份額也受到更多工程師朋友的青睞,越來(lái)越多的企業(yè)和研發(fā)機(jī)構(gòu)都轉(zhuǎn)向嵌入式Linux的開(kāi)發(fā)和研究,這使得嵌入式Linux在新興的嵌入式操作系統(tǒng)領(lǐng)域內(nèi)也獲得了飛速發(fā)展和廣泛應(yīng)用。而對(duì)于那些希望盡快進(jìn)入嵌入式行業(yè)從事產(chǎn)品研發(fā)的朋友們,選擇嵌入式Linux方向作為切入點(diǎn)無(wú)疑是最好的途徑之一。
近期,有許多面臨畢業(yè)、找工作的大學(xué)生來(lái)到信盈達(dá)嵌入式培訓(xùn)中心咨詢了解有關(guān)嵌入式Linux方向的學(xué)習(xí)安排。在與他們交流溝通的過(guò)程中,被問(wèn)到最多的幾個(gè)問(wèn)題就是“如何做好嵌入式Linux學(xué)習(xí)前的準(zhǔn)備?”,“學(xué)習(xí)嵌入式Linux需要補(bǔ)習(xí)哪些基礎(chǔ)課程?”,“嵌入式Linux開(kāi)發(fā)跟普通軟件開(kāi)發(fā)在學(xué)習(xí)方法上有什么不同?”,“項(xiàng)目實(shí)戰(zhàn)環(huán)節(jié)多嗎?”,“有專業(yè)人員帶領(lǐng)嗎?”,相信這些也是很多準(zhǔn)備入行的初學(xué)者都會(huì)關(guān)心的問(wèn)題,為了幫助大家做好嵌入式Linux的學(xué)前準(zhǔn)備,我們對(duì)這些常見(jiàn)的問(wèn)題逐一進(jìn)行解答,提供給大家參考,希望能夠有所幫助。
1、如何做好嵌入式Linux學(xué)習(xí)前的準(zhǔn)備?
要成為一名合格的嵌入式Linux工程師,就需要系統(tǒng)的學(xué)習(xí)軟、硬件相關(guān)領(lǐng)域內(nèi)的知識(shí),需要在最開(kāi)始就掌握開(kāi)發(fā)的規(guī)范和原則,養(yǎng)成良好的工作習(xí)慣。為了確保學(xué)習(xí)的效果,信盈達(dá)安排的整個(gè)課程體系是非常集中、高效的,這就要求準(zhǔn)備參加嵌入式Linux就業(yè)課程學(xué)習(xí)的同學(xué)要調(diào)整好自己的時(shí)間,務(wù)必要確保在4個(gè)多月的學(xué)習(xí)時(shí)間內(nèi)能夠高度集中精力。
在整個(gè)集中學(xué)習(xí)過(guò)程中,既要保證課上認(rèn)真聽(tīng)講、實(shí)戰(zhàn)演練的時(shí)間,也要保證課下繼續(xù)實(shí)戰(zhàn)演練、查閱資料的時(shí)間。只有經(jīng)過(guò)這種高強(qiáng)度的、實(shí)戰(zhàn)為主的訓(xùn)練,才能夠在比較短的時(shí)間內(nèi)掌握規(guī)范的嵌入式開(kāi)發(fā)工作流程,讓自己符合嵌入式企業(yè)對(duì)應(yīng)崗位的需求。
除了在學(xué)習(xí)時(shí)間上要做好充分的準(zhǔn)備之外,在學(xué)習(xí)的心態(tài)和方法的調(diào)整上也要做好準(zhǔn)備。許多朋友只了解嵌入式Linux方向美好的發(fā)展前景,只關(guān)注高收入、就業(yè)機(jī)會(huì)多等熱點(diǎn),卻忽略了學(xué)習(xí)過(guò)程本身。為了能夠讓集中培訓(xùn)的效果發(fā)揮到最佳,建議大家在學(xué)習(xí)開(kāi)始前更多地去了解嵌入式產(chǎn)品研發(fā)的特點(diǎn)、所需要掌握的技術(shù)規(guī)范和工作要點(diǎn),關(guān)注需具備基礎(chǔ)的補(bǔ)充和學(xué)習(xí),從而為后續(xù)的強(qiáng)化學(xué)習(xí)過(guò)程做好心態(tài)上的準(zhǔn)備,畢竟態(tài)度往往決定了最后做事的結(jié)果。
2、學(xué)習(xí)嵌入式Linux需要補(bǔ)習(xí)哪些基礎(chǔ)課程?
嵌入式Linux工程師的學(xué)習(xí)需要具備一定的C語(yǔ)言基礎(chǔ),因此面對(duì)許多朋友只是在大一或者大二學(xué)習(xí)過(guò)C(還不一定認(rèn)真學(xué)了,呵呵!),之后基本就不再用過(guò)的情況,建議大家先復(fù)習(xí)一下C語(yǔ)言基礎(chǔ)這塊。要提醒大家的是,復(fù)習(xí)時(shí)不能只關(guān)注基本語(yǔ)法,對(duì)于常用的數(shù)據(jù)存儲(chǔ)及處理方式,例如:數(shù)組、結(jié)構(gòu)體等也要關(guān)注,有條件的話一定在機(jī)器上親自敲敲代碼、分析理解一下具體案例代碼編寫的思路,讓自己慢慢進(jìn)入一名嵌入式開(kāi)發(fā)人員的狀態(tài)。
此外,在時(shí)間允許的情況下,建議大家看一下有關(guān)計(jì)算機(jī)操作系統(tǒng)工作原理以及計(jì)算機(jī)組成原理等方面的專業(yè)書籍。對(duì)于進(jìn)程、線程、任務(wù)調(diào)度、總線、I/O等基本概念及工作原理有一個(gè)初步的了解和掌握,這部分知識(shí)的準(zhǔn)備對(duì)于后續(xù)更好地學(xué)習(xí)嵌入式Linux系統(tǒng)開(kāi)發(fā)將會(huì)起到很好的幫助作用。
3、嵌入式Linux開(kāi)發(fā)跟普通軟件開(kāi)發(fā)在學(xué)習(xí)方法上有什么不同?
要成為一名成功的嵌入式軟件開(kāi)發(fā)人員,程序的設(shè)計(jì)能力是首要技能,這一點(diǎn)與普通的軟件開(kāi)發(fā)人員的要求是一樣的。但是作為“軟硬兼施”的嵌入式開(kāi)發(fā),則要求大家不僅要了解較底層軟件的工作過(guò)程和工作原理(例如操作系統(tǒng)級(jí)、驅(qū)動(dòng)程序級(jí)軟件),在軟件開(kāi)發(fā)的專業(yè)水平上也需要充分考慮軟件設(shè)計(jì)的時(shí)間和空間效率,這樣才能設(shè)計(jì)出高性能嵌入式程序。
因此面對(duì)相對(duì)復(fù)雜的嵌入式系統(tǒng)的研發(fā)過(guò)程,在學(xué)習(xí)的過(guò)程中需要更多關(guān)注完整的知識(shí)體系結(jié)構(gòu)的建立。特別是對(duì)于原理性知識(shí)的掌握程度則相對(duì)普通的軟件開(kāi)發(fā)人員提出了更高的要求。因此在學(xué)習(xí)的過(guò)程中,“要知其然,更要知其所以然”。
4、充分利用網(wǎng)絡(luò)資源。
互聯(lián)網(wǎng)中一些學(xué)習(xí)資料可以用來(lái)學(xué)習(xí)。比如一些針對(duì)性的論壇社區(qū),經(jīng)常去看看交流,也是很好的方法?! ∮涀∝灤┦冀K的是:要知道為什么學(xué)?要知道學(xué)的是什么?要知道怎么學(xué)?要知道學(xué)了如何用?最后還要知道用的時(shí)候出了問(wèn)題該如何解決?相信以這些問(wèn)題為線索的學(xué)習(xí)過(guò)程一定可以幫助大家快速成為一名優(yōu)秀的嵌入式開(kāi)發(fā)工程師。