從以前到現在所遇過的面談應徵者,約四分之一是資訊工程系畢業的,但是沒有人被錄取,因為軟體專業筆試成績不及格!為何會不及格?因為他們無法答覆微處理器(MCU)的考題。
問他們為何想從事韌體方面設計工作?許多人發現在學校學會的東西,畢業後只能找到 PC 應用程式設計工作,沒有什麼機會涉入作業系統設計,因為像是 Windows 或是 Linux 等 OS 已經非常成熟,你必須花相當多的時間去研讀一大堆系統規範,然後才能寫出一個可以相融系統的程式。簡單的說,你不太有機會修改或設計作業系統,只能寫在這些系統上執行的程式。
反觀微處理器領域大不相同,特別是 8-bit 或 16-bit CPU,那些大型作業系統無法使用在這些只有幾 kbyte RAM 和 ROM 上,沒有硬碟沒有光碟,想想看這個能做什麼?其實像公共廁所的感應式水龍頭裏,就有這類 MCU 存在。像這類小 MCU 就必須自己寫 OS、input/output driver、key 及 display application。
從事韌體這一行需要電子電機背景,因為常常要幫電路硬體除錯,尤其是剛製作出來的電路板,一邊從外部輸入訊號,一邊從程式檢查MCU內部是否讀到資料,或是控制MCU內部設定,然後檢查外部電路是否能正常動作。簡單的說,寫MCU驅動程式需要電路硬體知識,至少要看得懂電路圖。我曾遇過化工系的人寫韌體,因為他從小學就開始寫BASIC程式,後來又自修電子電路,所以才有機會寫韌體。
許多資工系所的學生不知道這些知識,認為他們很會寫程式,就可跨入韌體設計的領域。的確,從以往軟體專業測驗結果,資工系所的學生程式設計品質不錯,當然還是有些公司願意給予機會,不過這也要經過相當久的時間後,才有能力設計驅動程式。
已經就讀資工系所的同學,是不是就沒辦法進入這個研發領域呢?當然不是。求學期間可以去電子或電機科系選修微處理器相關學分或是旁聽,另外最好自己一個人尋找相關專題,並製作一個成品,你未來將有許多機會設計韌體相關產品。
新ubuntu2404,新尹倉1120
-
Ubuntu24.04
每次ubuntu系統出新版本,我的更新都是滯後的。最新的ubuntu2404.iso已經超過6G,估計是因為加入了大量中文字體致使體積大增。我十多年來一直當作系統盤的4個G的U盤再也裝不下了,最終我決定把一個32G的U盤當系統安裝盤。
昨晚研究了multibootUSB好久,最終引導不...
1 天前
沒有留言:
張貼留言