精華區beta Programming 關於我們 聯絡資訊
※ 引述《happosai (OGC的代價)》之銘言: : 所以我說IC design house跟系統廠的要求可能是不同的,系統廠 : 做為下游要求上游提供一個可正常工作的sample code合情合理, : 但是假如你是IC design house的firmware designer,身為sample code : 的提供者,別說datasheet了,在chip還在測試期間你就要想辦法生出 : code了不是嗎? : 而且現在很多IC design house是幫系統廠設計好到可以量產,你說 : 這種能力重不重要?這種能力該如何訓練,我想這是很多人有興趣知道的:) 那主要是所處的環境不同. 以個人在IC design house四五年所見(偏硬體), firmware design 並不是看著datasheet自行開發, 而是在硬體設計階段,hardware/firmware/software就要持續的討論, 以決定某個function如何完成,軟體硬體各需做什麼事,控制方式與介面等等. 這種情況下,firmware designer 可以跟 hw/architecture/algorithm的互相討論, 甚至進而修改部分的架構跟介面. 所能得到的資訊深度跟彈性,遠超過sample code/data sheet. 原則上firmware designer 的工作跟你所謂的"只看datasheet就能寫出程式驅動", 差滿多的. 一個是從無到有(從沒有sample code/data sheet,到有), 一個是瞎子摸象(從datasheet這種片面殘缺的資訊去重建原型) firmware designer必須要從無到有 但不需要瞎子摸象. : ※ 引述《abcdefghi (蠍子)》之銘言: : : 不太能接受這種講法, 或許可以把一些簡單型的或是已經被標準化的 IC, 當成 : : 是 embedded programmer 原本就要會的, 但是 IC 要正確的跑起來, 最主要應 : : 該是在 programmer 對這顆 IC 的領域熟不熟悉, 例如, audio driver 是考驗 : : programmer 對 audio interface 熟不熟悉, video codec 的話要熟悉影像壓縮, : : USB driver 的話要能了解 usb spec 中所隱含的軟體架構, 這些各別領域的 : : 專業知識都懂了, 接下來便是開始透過 register set 玩猜猜看, 猜猜這顆 IC : : 是如何實作這些功能, 就像拿到一個 graphics library 和 API, 自己想辦法 : : initialize 這個 library, 使用這個 library, 這樣的能力要統稱為韌體的門檻, : : 感覺不太適合, 應該只是對該領域的 IC 熟不熟悉而已. : : 另外, IC 實際如何工作和 datasheet 也未必真的完全符合, 有的 datasheet : : 缺了 1,2 個 register, 有的 datasheet 甚至前後文根本有差異, 沒看到 IC : : 配廠商的 sample code 實際跑起來, 如果這樣的 IC 都敢用, 真的很佩服. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.57.250 ※ 編輯: bxxl 來自: 59.120.57.250 (11/06 15:40)
happosai:大感謝,可以再講更多一點嗎?...(^_^) 11/07 01:47