不光是系統這名詞定義很廣泛
韌體工程師的定義也很廣泛
像敝魯之前是以7~8bit MCU為主力的韌體工程師
什麼makefile, compiler, bootloader通通都沒有
你列的8項有一半以上與我無干
反而畫線圖, Layout, 跟示波器&焊槍作戰這種偏硬體工程師的技能需求還比較多
這一兩年開始搞Cortex-M才比較有機會接觸到原廠的API
你列的比較接近寫kernal的韌體工程師
其他還有
寫Linux driver的韌體工程師
寫Windows DDK的韌體工程師
專精於單一演算法的韌體工程師
寫微系統(?, 自創名詞, 其實我不知道我這領域該怎麼叫)的韌體工程師
.... 族繁不及備載
※ 引述《jimmytzeng (jimmytseng)》之銘言:
: 安安
: 關於你一般軟軔體工程師是否要有靠原廠release的spec 及example code就能開發一個系統的能力
: 我想系統這個名詞定義很廣泛
: 有人會跟你說整個系統是指你整個single thread的program(搞不好只用一個while loop + interrupt + IO control)
: 也有人會跟你說整個系統是指你這塊板子bootloader + OS + application
: 也會有人跟你說整個系統是指你這個產品(例如server) + 其他產品(switch)的整合
: 甚至有人跟你說整個系統是指....我講不完
: 但我認為一般軔體工程師要會的不外乎就是會這幾項
: 1. 看懂Makefile, 會修改Makefile, 可能會自己寫Makefile, 熟悉各種compiler
: 2. Booting sequence, booting有問題要會修改assembly code
: 3. Component's driver (flash, sensor, LCD , LED 等等)
: 4. 一般常用的Interface (UART, SPI, I2C, PCI)
: 5. 一些領域特有的interface (網通或是音訊等)
: 6. 不同種的bootloader或是OS間的整合(jumping or booting)
: 7. 會寫各種components's unit test
: 8. DMA, Timer, MMU 吧拉吧拉
: 這些東西大都是F/W 的日常, 學士差不多35K, 碩士40K吧, 每年加薪3 ~ 5 %
: CP值不如賣滷味雞排
: ※ 引述《suspect1 ()》之銘言:
: : 老魯我自從接下寫韌體的工作後,真正了解自己的不足與廢。
: : 老魯的工作其實很基本,就是在一個32-bit MCU 讀取sensor的值
: : 透過的界面都是常用的(UART、I2C、SPI....)。老魯每次都是靠
: : 狂拜google大神,參考別人的code然後copy paste拼拼湊湊之後
: : 驚險過關。每次雖然都有小小的成就感,卻也更加沒自信,因為
: : 畢竟code都是參考網路上的,自己實際寫出來的不多。也還好目前
: : 敝公司採用的平台很多open source,但我也有想過一旦換了別家廠商
: : 假設幾乎沒有範例參考下,我光有硬體spec、timing diagram可能
: : 就寫不出來
: : 不知道一般正常的韌體工程師是否要有靠原廠release的data sheet
: : example code就能開發一個系統的能力?
像我這種連RTOS都用不到更別說Linux的韌體工程師
ROM Size不過就幾KB,整個系統電路圖一張A4搞定
這樣的能力自然是必要,可是其他種類的韌體工程師就不一定了