我的第一份工作是在升上研究所的暑假, 去一間小公司設計機車儀表 這間公司只有五個人, 三個RD, 帶頭的是一位高手 跟著他做事, 讓我見識到產品怎麼成型 我們開始工作, 是從Holtek的ICE (In Circuit Emulator)開始的 ICE能模擬CPU的所有信號, 透過電腦, 我能設定斷點, 觀察IC內部的記憶體 因為這顆CPU程式寫一次就不能改, 所以我們設計兩片電路板 功能基本上完全一樣, 只是一片使用ICE替代CPU的所有信號, 讓我們反覆測試程式 畫好的電路板, 上頭什麼都沒有, 我們必須要逐步把元件焊上去 人天生是犯錯的機器, 每次焊上一個元件, 我就會拿電表驗證電路性質是否符合預期 對電路硬體debug滿有趣的, 這是第一次拿電子電路在實戰使用 記得那時候, 我還找出一個BJT搭配的電阻不對, 所以沒有操作在正確的區域 時至今日, 我還是不會畫PCB, 不會焊很多pin的IC 但是這個經驗讓我習慣看電路圖, 懂得另外一個領域的語言, 日後能和硬體人員溝通愉快 韌體工程師打交道的對象是真實的信號, 這種程式的魅力是, 執行結果會反應在真實世界 就算只是讓CPU透過GPIO讓LED閃爍, 都帶給我相當的震撼 多年來, 每次要bring up新的平台, 我都是挑這個範例當做試金石 我們到過車廠, 拿了一輛摩托車拆個精光, 再把電路板接上去 看到儀表確實反應速度, 引擎轉速, 成就感真的難以言喻 日後在市場上看到工作成果轉成產品, 想到這是自己參與過的專案, 真的是與有榮焉 當時也摸過Microchip的MCU時, 裡面可以設定PLL (Phase Lock Loop) 為了這個, 我還特地去翻書, 看看他的原理, 並且查了ADPLL (All digital PLL) 下一份工作, 就用當時的看到的東西解了一個系統不穩的bug 雖然我還是不會PLL, 但是起碼我大概懂他的語言, 其實這也就夠了 那時候我依稀就有個感覺, 很多東西不用到專精, 懂個大概其實就很夠用 之後唸研究所時, 我就到處看到處亂玩, 上了硬體設計的課 (IP core design) 拿了FPGA板, 寫寫RTL, 上網找了MIT open course的Digital system lab依樣畫葫蘆做一做...