韋東山 機會總是留給有準備的人

2021-08-07 08:33:20 字數 4069 閱讀 3720

最近電子發燒友(以下稱'發燒友')採訪了韋東山老師,本文是採訪原稿,展示出來讓大家更深入了解韋老師的同時也進一步學習嵌入式linux經驗。

機會總是留給有準備的人

發燒友

為什麼要學習掌握arm裸機?arm裸機與從事嵌入式工程師職業關聯度如何?

韋東山

我們講解的arm裸機,特殊之處在於:不使用iar/keil/mdk等軟體,而是在純粹的linux環境下從0寫**。這些好用的開發工具遮蔽了太多的技術細節,比如:位置無關碼、重定位、中斷環境的儲存與恢復、鏈結指令碼。而這些細節,在後續的bootloader學習中是需要的。

除上述細節外,arm裸機的學習目的在於:掌握如何編寫程式來控制硬體。後續的「linux驅動=軟體框架+硬體操作」,我們先在單純的裸機學習中掌握硬體操作,在後面的學習中就可以把精力放在驅動軟體框架上。

我們學習arm裸機的目的,是去學習後續的linux課程,高階為linux系統工程師。不是要讓你繼續從事微控制器開發,成為微控制器工程師。

在技術層面,linux系統工程師回頭從事微控制器開發,輕而易舉;但是現在不開始著手linux的學習,後續轉型很麻煩。2023年我們使用51微控制器從事車載**開發,所做的軟體已經算是微控制器層面頂尖水平了──我們可以在微控制器上開發自己的作業系統。

但是,我們同事紛紛感覺到了危機,微控制器能做的事情太單一了。當年流行wince,linux剛起步,我們選擇學習linux,現在wince已經沒人提及,而linux仍如日中天。中興公司也是在2023年才全面從vxwork切換到linux的,我有幸進入中興與他們一起研究linux。

在收入方面,大家盡可以去51job等招聘**搜「微控制器」、「linux」,後者一般是前者2倍以上。

就身邊事例而言,我是2023年離開中興,隨後幾年裡有幾個同科室的同事也都離開了,他們都做linux系統;現在都做得很不錯。有人在聯想做android開發,有人在做pos機,有人自己創業,他們或是團隊領導,或是有股份。

發燒友:

根據您的經歷及見聞,現在arm嵌入式工程師前途如何?含金量、薪資待遇呢?

韋東山:

理想很豐滿,現實很骨感。所有行業的從事者都是在乙個金字塔裡,工作好收入高離家近假期多的人,都只是少數。我只能說,平均而言,arm嵌入式工程師待遇較好,發展前途不受限。

說好話之前,先說醜話。

arm

我是個宅男,只能舉身邊的例子:我在中興時從事嵌入式系統的同事,發展都很不錯。

同事a,早年從因pos機開發(用微控制器),在中興裡天天加班深研linux技術,現在在創業公司裡當技術頭頭,有股份。加班多,但是收入高。

同事c,女,跑到ibm做伺服器相關的工作去了,嵌入式linux的知識絕對是幫上大忙了。

同事d,深研linux系統知識,人稱大師,從不加班(羨慕死人了),有大bug必定請他出馬、出差。

對於嵌入式工程師,把linux知識吃透了,可以遊走於幾乎所有行業,因為這些產品基本上都要用linux。

對於暫時找不到嵌入式linux職位的同學,不用擔心,你總會發現機會的。

發燒友:

乙個合格的嵌入式工程師,需要具備哪些性格和職業特徵?一些理工科學生或剛畢業不久的工程師老說迷茫,產生迷茫的原因有哪些,為什麼?怎麼克服?

韋東山:

嵌入式工程師,必須具備的性格和職業特徵:

究根究底:作業系統層面的問題,必須徹底弄清楚原因,徹底解決,否則隱患巨大。

絕對耐心:嵌入式工程師的**量很少,多數時間是在學習新知識、協助除錯。我在中興工作時,曾經花了乙個月來捕捉、解決乙個bug,最能只增加了一條指令。bug隨機出現,我不斷地重啟系統、重啟軟體;根據新現象不斷地現學現用。

迷茫,唯一的原因就是對未來感到不確定。

我的專業是物理,在大一大二時深感迷茫,不知道畢業後能做什麼,我選擇了學習第2學位:計算機。

我剛工作時用的是51微控制器,對所用的落後技術也深感迷茫,我選擇辭職自學linux。

我在中興工作時,加班多、工資少、房價高,仍然迷茫,選擇創業。

我也算工作15年的老工程師了,也接近40歲了,仍不時覺得迷茫。但是我深信兩句話:要收穫,必須先付出;吃得苦中苦,方為人上人。

對於迷茫的工程師,我建議:

根據自己的興趣,選擇不太偏門的方向,潛心學習;選定方向後,不跟風不追熱門。

發燒友:

您是否遇到過女嵌入式工程師?在嵌入式工程師職業上女性有什麼優勢和劣勢?

韋東山:

我在中興時就帶過乙個女同事,但是在這領域女性不多。

名師引導更容易入門

發燒友

很多新手學習arm裸機都會很迷茫,請問在學習arm裸機過程中容易遇到哪些坑?

韋東山

很多小坑,如果自己去解決的話,估計要花上幾個小時,但是有經驗的人一眼就能看出來。

最奇葩:拿到開發板,把電源插到耳機孔去了。

大多數:粗心,很多人拼寫命令時寫錯了,結果忙上半天找原因。

儲備知識不足:開始學習時,我們只能照著文件寫命令,這些命令的作用後面才會說明;如果當場就講這命令,課程就會又臭又長。

發燒友

成為一名具備一定開發能力的嵌入式linux開發工程師需要具備哪些知識?

韋東山

我先說合格的標準吧:能在乙個新的板能上搭建出linux系統,能寫出需要的驅動程式。

所以,需要以下知識:

硬體知識:能看懂電路圖,看懂晶元手冊,看懂硬體協議。

英文閱讀:上述資料基本是英文的。

c語言:嵌入式工程師常用語言就是c。

作業系統原理:有助於幫助我們理解linux原始碼。

常用驅動程式框架:精通幾個驅動程式後,領悟原理後,才有能力開發新的驅動程式

紙上得來終覺淺,你學完後,必須找一塊不同的開發板,在上面把所學過的程式自己寫出來,這樣才能真正掌握──這也是我對新同事的要求。

實際上,很多公司招聘時要求有工作經驗。對於嵌入式工程師,這個經驗非常容易得到:你換乙個不同的板子練習就可以了。

發燒友

在學習arm裸機或arm linux過程中,得到資深名師或導師的指引有哪些好處?

韋東山

學習過程中,很多因為粗心導致的問題層出不窮,自己去解決的話很花時間;

嵌入式學習過程中,需要的知識非常廣,自己臨時去學習的話,進度很慢;能否跳過,自己也不知道。這時候如果能有人指引,效率會很高。

我在2023年學習時,市面上基本沒有資料,我學非常痛苦,在論壇上瘋狂發貼,那些問題現在回頭看非常弱智,但是當時就把我卡住了:茶飯不思,時不時想砸電腦。

發燒友

請問韋東山老師最終為何選擇嵌入式授課教育?

韋東山

生活與興趣推著我走上這條路,沒什麼情懷。

我2023年適職自學linux時,過程痛苦,把自己的學習所得寫了一篇文章:s3c2410完全開發流程,發布在網上;然後就去中興上班了。

此文流傳甚廣,人民郵電的編輯聯絡我,要我出書。

我答應下來,但是因為一邊上班一邊寫書進度緩慢,於是在2023年辭職專心寫書。

2008

年書出版了,錢花光了,於是接受華清遠見的邀請,去做兼職講師。

講課過程中,我採用完全不同的風格:從0寫**,邊講邊寫,大受歡迎,效果超好;慢慢有了名氣後,遊走於多家培訓機構,天天講課,天天現場寫**。

我發現,我有講課的能力,可以把複雜的問題講得非常清楚,非常形象。

我希望,眾多像我當年初出校園的學生,他們有學習的渴望,我能幫他們一把。

所以,一直以來,我不吹牛,不強拉人學習,想適合學習的人不強求。

如果你要學習嵌入式系統,而我恰好經驗豐富,你願意的話我就教你。

悅已之作,方能悅人。這是我們公司的格言,如果做出來的產品你自己都不喜歡,別人怎麼會喜歡呢。

韋東山 機會總是留給有準備的人

最近電子發燒友 以下稱 發燒友 採訪了韋東山老師,本文是採訪原稿,展示出來讓大家更深入了解韋老師的同時也進一步學習嵌入式 linux經驗。機會總是留給有準備的人 發燒友 為什麼要學習掌握arm裸機?arm裸機與從事嵌入式工程師職業關聯度如何?韋東山 我們講解的arm裸機,特殊之處在於 不使用iar ...

機會留給有準備的人

就業感言 機會留給有準備的人 學員姓名 苟青松 所在班級 成都1004期班 就業單位 泰立嘉 工作職位 軟體開發工程師 給大家分享下學習的經驗,作為一名剛畢業的大學生,我也曾有前途的迷茫和找工作的壓力。機會都是留給有準備的人,只要正確認識自己,發現自我,就能很快找到屬於自己的位置。在技術上,基礎知識...

機會總是給有準備的人

在這個社會上生存,每個人都挺不容易,要出人頭地,要過更好的生活,不努力肯定不行。但努力了就一定有所收穫嗎?事實證明不一定。但如果不努力,就一定沒有機會。那什麼是努力呢?努力是不是就意味著只顧低頭拉車,不想抬頭探路呢?當然,這樣難免會誤入歧途。努力也要講究方法,也要找準方向。一旦認準方向,就會堅持到底...