安安
關於你一般軟軔體工程師是否要有靠原廠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就能開發一個系統的能力?