隨著(zhù)*對集成電路、操作系統等基礎軟件的大力支持,在可以預見(jiàn)的將來(lái),越來(lái)越多的國產(chǎn)芯片、*芯將推向市場(chǎng),基于Linux的面向各個(gè)特定行業(yè)的操作系統將陸續推出。物聯(lián)網(wǎng)、智能硬件、VR這些方興未艾的領(lǐng)域,也將催生大量嵌入式開(kāi)發(fā)的需求。
作為一個(gè)在校學(xué)生或者想從事嵌入式Linux開(kāi)發(fā)的工程師來(lái)說(shuō),該如何去學(xué)習嵌入式呢?
平臺越來(lái)越多,平臺環(huán)境搭建困難,是嵌入式學(xué)習的一道坎。嵌入式真的難學(xué)嗎?其實(shí)跟Windows下學(xué)習編程沒(méi)有什么兩樣。難就難在嵌入式開(kāi)發(fā)環(huán)境的復雜上,調試方法也不如在Windows下開(kāi)發(fā)方便。
很多人買(mǎi)來(lái)開(kāi)發(fā)板,一陣子搗鼓,把時(shí)間都浪費在了開(kāi)發(fā)板的升級、燒寫(xiě)上。而真正嵌入式Linux的精髓、核心知識、內核的理解卻很少涉及。
而在公司實(shí)際的開(kāi)發(fā)中,不同的公司采用不同的平臺,調試手段、升級方法也往往不盡相同,你花了很長(cháng)時(shí)間掌握的開(kāi)發(fā)板技能往往換個(gè)平臺可能就不管用,而你該掌握的嵌入式核心知識、Linux內核基礎、系統的通用理解卻不完善,這也是當前很多人學(xué)習嵌入式開(kāi)發(fā)容易遇到的一個(gè)情況。
我的建議是,學(xué)習嵌入式,應該把主要精力放在核心通用的知識上,跟平臺無(wú)關(guān),比如對內核的理解,這個(gè)不是一朝一夕就提高的,需要花大量的時(shí)間和精力去系統學(xué)習的,而在公司工作中一般很少有機會(huì )和大量的時(shí)間去學(xué)習這些。
而對開(kāi)發(fā)板和平臺的熟悉,你自己一個(gè)人在折騰,可能會(huì )浪費很多時(shí)間,到了公司,別人稍微指導下,可能很快就掌握了。
不采用實(shí)體開(kāi)發(fā)板的原因,一是對于學(xué)員來(lái)說(shuō),實(shí)體開(kāi)發(fā)板往往環(huán)境搭建就會(huì )遇到各種各樣莫名其妙的問(wèn)題,比如電腦硬件、系統不兼容,任何一個(gè)小細節都會(huì )讓你系統跑不起來(lái),燒寫(xiě)不成功,時(shí)間長(cháng)了,容易受打擊,而真正嵌入式的核心知識,需要我們花精力和時(shí)間該學(xué)的東西,卻沒(méi)有涉及。二,通過(guò)仿真平臺,搭建理想化的學(xué)習平臺,我們可以把精力完全放到嵌入式開(kāi)發(fā)軟件、Linux內核、驅動(dòng)開(kāi)發(fā)上,節省時(shí)間和金錢(qián)成本。三是從學(xué)習效果上看,在只有開(kāi)發(fā)板,沒(méi)有配套的萬(wàn)用表、示波器等硬件工具,其實(shí)硬件遇到問(wèn)題往往也無(wú)能為力,對比下來(lái),使用仿真器去學(xué)習是一個(gè)不錯的選擇。