如果我們把嵌入式這個行業分為上游和下游,那我的苦逼生活更側重下游部分,主要是購買芯片商的方案,利用原廠提供的參考設計進行應用開發,恰好答主畢業后在半導體公司待了兩年,我來補充另外一部分。
半導體公司作為嵌入式行業的上游,很大一部分的人是做芯片本身(前端、后端、測試),當然由于需要給芯片做參考設計,因此半導體公司同樣也會存在嵌入式開發。
我們的主要工作是根據芯片的應用場景給客戶提供固件以及SDK,在SDK中修復各種芯片的問題(比如不同批次,體質的差異,本身的bug,幫助客戶解決問題(這有點像是FAE)。另外你手上拿到的datasheet, programming guide有可能也是我們寫的。
嵌入式的開發部分基本相同,由于能獲取到芯片的一手資料,一些更底層的驅動,bootloader,一般是我們內部完成,另外除了要和硬件工程師合作還要和芯片設計的同事溝通, 因為有時候除了板子不對之外,也可能是踩到了芯片的bug.
題主主要問我們的生活是什么樣子的,我感覺嵌入式行業大家的生活都差不多吧,我是實現feature的時間和debug的時間對半開,另外測試也要占用我一部分時間。長期項目是維護SDK, 短期項目比如做一個JTAG高速下載器,做一些內部調試用的工具。
嵌入式系統工程師。我來說說我一天是怎么過的吧。
08:20 起床,洗澡,穿衣服
08:40 開車去公司
09:00 到達公司,項目經理主持開早會,說說項目進度,再問問我們有什么需要
09:20 開完會。沖杯咖啡,一邊吃早飯,一邊查昨晚歐洲和中國分公司同事發來的郵件
09:40 開始正式工作。最近比較忙,剛發布的軟件有好多bug,check out,慢慢開始找原因
11:00 某個項目討論會,電話會議,各種撕逼略過不表。
12:00 和同事吃午飯+交流各種小道消息去。有時候在公司一樓的餐廳吃,有時候出去吃
13:00 吃飯回來,刷會微博和知乎。
13:20 繼續debug。期間和項目經理討論了下個release的需求文檔
16:00 終于找到問題了,去實驗室里做測試
17:00 該下班了。不過測試沒做完啊!只有加班了
18:00 測試完成,bug修復,check in,寫開發日志和故障分析
18:30 下班回家,路過商店買點菜
19:00 做飯,吃飯,看看視頻
21:00 去游泳館游泳,再不多健健身就要跪了
22:00 游完泳回家,最近在補操作系統方面的知識(上學時候沒學好傷不起啊),下了伯克利的CS162課件和Nachos,還在熟悉中
24:00 睡覺。想著這生活實在是太TM無聊了。
我真不知道自己算是做什么的了,反正芯片代碼是自己一行行寫的,寫完芯片又要自己一行行寫代碼和腳本做仿真,寫完仿真自己一行行寫約束出fpga工程做原型驗證,寫完fpga工程又自己一行行寫軟件底層的驅動,包括芯片的初始化代碼和各種外設控制的驅動程序,在我的手里永遠沒有一樣東西可以確定是ready的,所以但凡出了一個問題,首先我要做的就是確認這個問題是芯片設計寫錯了,還是fpga工程約束沒弄好,還是板子上的連接不可靠,還是軟件的驅動沒寫對。
好多人說日常工作經常就是和同事相互扯皮,你們真幸運,以上問題不管我遇到哪一個都是我一個人的鍋,因為全都是我一個人串起來的,到這個大的流程基本跑通之前,其他同事都還無法全面參與分擔我的工作。所以我只求早點分析出原因搞定問題可以繼續往下推進。日常我的桌子旁邊總是有各種示波器,開發板,萬用表,其實我更喜歡芯片設計出問題,因為找原因快狠準,硬件不穩定的情況debug太痛苦了。
我曾經為了一個電源不穩定的原因找了2個禮拜的問題,都要崩潰了。我感覺做純軟件開發的人應該遇不到這些惡心人的麻煩。
-
工程師
+關注
關注
59文章
1589瀏覽量
69219
發布評論請先 登錄
評論