微信公眾號 | strongerHuang
“嵌入式驅(qū)動和應(yīng)用,哪個更難?哪個更鍛煉自己?”類似的問題經(jīng)常有網(wǎng)友拿來討論和交流。
我在嵌入式這行搞開發(fā)10年有余了,算不上經(jīng)驗豐富,但站在過來人的角度,只想說:驅(qū)動和應(yīng)用相輔相成,沒有誰更難一說,做好了,都難!
現(xiàn)在的嵌入式比20年前的要求更高,軟硬件、應(yīng)用場景也更復(fù)雜了,除了驅(qū)動層和應(yīng)用層,中間層也是重要的一層。
當然,在不同場景下分層也有不同的講究,比如RT-Thread(Smart版本)的軟件架構(gòu):
暫不說20年前,就是10年前搞嵌入式開發(fā),大部分中小公司對嵌入式開發(fā)的崗位要求都不算高,你懂一些基本原理,哪怕沒有獨立開發(fā)過項目,都能找到一個開發(fā)(研發(fā))的工作。
而現(xiàn)在呢,你學(xué)了RTOS、Linux、各種協(xié)議棧,獨立開發(fā)過項目,可能還找不到一個合適的研發(fā)工作。
10年前做項目,對驅(qū)動層、應(yīng)用層的要求相對不高,那個時候不管是寫驅(qū)動,還是做應(yīng)用都不是很難。
如果你還在維護10年的老代碼,可能會看到網(wǎng)上傳言的“屎山代碼”,那就是因為當時的要求不高,導(dǎo)致屎山代碼遺留至今(當然,10年也有很多優(yōu)秀的代碼)。
放眼望去,為什么現(xiàn)在“更難”了呢?答案是:時代不同了。
其實,難都是相對的,早些年網(wǎng)絡(luò)資源不像現(xiàn)在這么豐富,買開發(fā)板模塊那些也不方便,要踩各種坑才能入門。
而現(xiàn)在,只要你有學(xué)習(xí)的心,入門是一件很輕松的事,至少點個燈是隨隨便便的事。只能說,每個時期有每個時期的難!
驅(qū)動和應(yīng)用,哪個更難?哪個更鍛煉自己?兩個不同層進行比較,沒有可比性,就好比當老板累,還是當員工累,沒有標準答案。
作為一名合作的嵌入式工程師,不管是做驅(qū)動還是應(yīng)用,你不能局限于你那一層。
做驅(qū)動的要了解應(yīng)用層業(yè)務(wù)邏輯實現(xiàn)的一些基本原理,而做應(yīng)用層開發(fā),也要了解底層驅(qū)動是如何實現(xiàn)的。不要求深入了解,但要了解大概原理。
如果只考慮自己那一層,寫出來的代碼,多半是不合格的,你看看那些互相甩鍋的工程師,可能就是這么導(dǎo)致的。
再回來說下,哪個更鍛煉自己?道理還是一樣,兩個都挺鍛煉人的。
如今搞嵌入式,要求更高了,兩個方向你都需要掌握,但是,你需要側(cè)重一方,其他作為“選修課”,及格就行。
最后,時代在不斷變化,我們普通人不能改變世界,就要順應(yīng)時代的變化而變化。