看板 Soft_Job 關於我們 聯絡資訊
※ 引述《t7365443 (U彥)》之銘言: : 各位版友好 : 目前就讀國立科大碩(電機) : 大學是資工系的 : 本人一直想走韌體工程師這方面 : 但是實驗室又是做網路相關的 : 想找個網路設備的韌體的領域 : 想知道如果要走韌體這方面需要補足什麼地方 : 有什麼比較重要的地方 可以自己自學或是去修大學部的課 : 大學是稍微有玩過arduino開發版 : 但尤其是硬體這方面 (電子 電路 嵌入式系統等等)以前資工教的比較少 : 謝謝各位的意見 身為一個在韌體&embedded system 工作了快20年的老屁孩來跟你說(我很廢,bug製造機, 只剩年資可以說嘴). 想走韌體,基本的電子電機知識是一定要具備的. 最基礎的電子學,電路學,數位邏輯,基本電學,非常重要,要會.基本的晶片通訊方式, 例如gpio, i2c, SPI,要會,電磁學,線路設計,pcb layout,會的話更好但不是必須. 要會這些要幹麻? 因為等你控制週邊晶片,週邊晶片卻不會正常動作的時候,你要有能力 找出為什麼.至少要能找到線索,說得出所以然來.這樣你才能跟硬體工程師進行討論. 如果你只是一個遇到問題就只會說”阿我填了暫存器,他就是不會動阿”的韌體工程師 ,那硬體工程師怎麼跟你合作?厚黑一點的來說,當硬體工程師指責你的時候你能在老闆面 前反擊. MCU/CPU/SoC的硬體部份,要知道一些基本知識,中斷,輪詢,timer,io,memory,mmu/non- mmu,memory address mapping,clock&PLL,power & regulator等等的,不知道這些,你就 無法知道怎麼正確控制cpu的行為 OS的部份,基本的恐龍書內容要會,因為 1)如果你是在一個作業系統上開發,你要知道作 業系統在背後挖什麼洞給你跳.2)如果你遇到的是單晶片裸機開發,你總有一天會遇到需 要開發出自己的一個簡單的分時系統的狀況.不過資工的恐龍書都要念,對資工人應該還 算小菜. 除錯的部份,最基本的要懂得操作三用電錶,示波器,邏輯分析儀.韌體除錯部份,大概要知 道如何操作一些通用的除錯工具,例如gdb,或是IDE內附的debuger,另還有Jtag or SWD 等等.但我敢保證做軔體一定會遇到上述工具都無法幫助你的時候. 回頭來說,如果要走網通類韌體,目前產業鏈還蠻完整,OS&週邊晶片都很成熟,除了上述 的基礎之外(對,是基礎),你可以在多碰一些有線無線網路相關的軟硬體知識以及openwrt 韌體的水是很深的,絕不是簡單的事情.業界很多那種只會call api,填暫存器,遇到不會動 就傻在那邊只會推給硬體工程師的人,我個人覺得是很丟臉的.如果能勸你,我還是覺得不 要進來這,薪水沒有比較高,走純軟不必要會上面那麼多,還不須要跟硬體工程師吵架.每月 五號口袋麥克麥克. 多好 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.21.123.30 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1581575175.A.384.html
bemyself: 不就打雜的。跟工友差不多惹。 02/13 14:46
leolarrel: 說的太好了,的確就是打雜的! 02/13 14:47
kain777: 韌體屎缺 上有軟體下有硬體 出事要證明對方的錯 能見度 02/13 15:40
kain777: 不高 硬體bug不想改版又要韌體用程式遮 真心不推 02/13 15:40
caeserhaha: 用心推,水好深R 02/13 15:43
cuteSquirrel: 3樓中肯 02/13 15:54
yamakazi: 韌體工程師很多不會debuger只會看log 02/13 16:27
yamakazi: 很多也不會gdb的 遇到memory的問題只會兩手一攤 log沒打 02/13 16:28
yamakazi: 印的就不會解 02/13 16:28
yamakazi: I2C訊號常常不乾淨受干擾也很麻煩 02/13 16:29
yolasiku: 還好啦 聽過一個演算法的人 用公費報名韌體的教學講座 02/13 16:43
yolasiku: 課程 上完就號稱自己學會韌體惹 02/13 16:43
tianyun129: MCU/CPU/SoC的硬體部份,要知道一些基本知識,中斷,輪 02/13 17:27
tianyun129: 詢 ==>請些知識自學的話,要找什麼資料? 02/13 17:27
tianyun129: sorry 訂正==》請問這些知識 02/13 17:28
xam: 不過這個單看書是沒什麼用的... 02/13 17:57
final01: 笑死,如果你上面列的你都熟的話不會是bug製造機 02/13 18:31
final01: 我不信你敢說電子電路超強 02/13 18:32
sam22213228: 個人弱弱只能推這本https://www.tenlong.com.tw/pr 02/13 18:33
sam22213228: oducts/9789864344444?list_name=srh 02/13 18:33
leolarrel: final01說的沒錯阿,就是知道這些不會結果吃虧,才跟別人 02/13 18:44
leolarrel: 說這些都要會.我基本電學,電子學,在學校都不及格 02/13 18:45
leolarrel: 我印象中nvidia 的韌體工程師真的很強,我搞不定的一個 02/13 18:48
leolarrel: 問題拿回nvidia 總部找他們,十分鐘就說出root cause.讓 02/13 18:49
leolarrel: 我覺得軔體的世界真的要懂超多才能活命 02/13 18:49
flysonics: 會編kernel就會用gdb了 說實話也就那幾行指定 說穿了 02/13 18:53
flysonics: 沒什麼 工友何苦互殘 02/13 18:53
LinuxKernel: 你這大概是不大的公司,才需要一個人做這麼雜的事。 02/13 20:22
idmaker: 根本不需要多會電子電路,真的別誤導 02/13 21:07
g9911731: 誠實給推 02/13 22:03
csfgsj: 我推這本 https://reurl.cc/M7qgVn 超有用的觀念 02/13 22:06
csfgsj: 很多好書都很冷門,甚至絕版,能參考的資料越來越少了 02/13 22:07
famous727: 想問業界都用什麼語言在寫?看網路上除了大眾的C/C++, 02/13 22:07
famous727: 還看到JS, C#, Python 02/13 22:07
csfgsj: 另外,我是不推恐龍書啦! 02/13 22:10
jeff40108: 寫個韌體還要自己拉線看信號也太慘,你家硬體是在哈嘍 02/14 01:39
cphe: 分工不夠細的地方只是打雜又看不深而已,小公司比較常見 02/14 08:50
b85040312: 真的寫起來就像打雜的 02/14 21:44
s860134: 靠杯 怎麼感覺什麼都要會 02/15 01:54
s860134: 隨便一句話都是幾年的工 02/15 01:55
flysonics: 看情況啦 大公司分工細 版子之類的事情你丟給EE就好 02/15 10:12
flysonics: 但是你如果想賺外快自己出來接案 只懂韌體不懂硬體就 02/15 10:13
flysonics: 等著喝西北風吧 02/15 10:13
ichunlai: https://www.youtube.com/user/StateMachineCOM 把這個 02/15 15:58
ichunlai: 影片看一看,其他工作時再學。 02/15 15:58
kingofsdtw: 電子電路要看工作需不需要 02/16 00:18
kingofsdtw: 電子電路很簡單C/R/J外沒啥重要關鍵字吧 02/16 00:19
kingofsdtw: 不過真的不用特別去學,需要再說 02/16 00:20
zxp930110: 水真的深QQ 在溺死前先出水了 02/20 11:35