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