2019年10月1日 星期二

一個簡單的USB DIY 開發環境

這原本只是一個非常簡單而且不難的小玩意的USB 系統開發。

但我怎麼會搞成這麼複雜的環境呢?

這就是一個非常好玩的事:到底一個人要完成一個簡單的USB 系統開發到底要準備

那些周邊開發環境,包括哪些的硬體儀器或是軟體環境?

其實,這些東西以前在大公司哩,你可能要組織一個小團隊,也要為他們準備這些

東西,那如果沒有這些周邊玩意兒,那到底可不可做得到呢?

當然也是可以啦,但可能要花很多時間來"開會"溝通,而且對於每一個領域的工程師

來說:可能要重覆投資相關的儀器設備,像要不要人手一台示波器?他們會不會用?

想不想用?這都還可能是一個問題。(因為有些搞軟體也不喜歡這個東西,他們認為

這是別人的工作。

然後呢?可能要 Project Leader 先定義出:在這些周邊系統之間的通訊協定,接下來,

不是要寫成文件,就是要簡單的幾張紙,用來開會討論,之後呢?又要不斷的檢討

與Review 進度,然後,可能每個領域的工程師都有自己想法,程度好的呢?可能講話

比較大聲,也比較堅持;程度不好的工程師呢?可能只能在旁邊默默地聽著你們解說,

有疑問呢,也不一定會馬上舉手發問...等碰到問題了,下次開會就難免會被這些"資深"

工程師"釘在"牆上:"有問題,那上回開會怎麼不提出呢?...*&%$#..."

(其實,在公司裡組織產品專案的技術團隊是最傷腦筋的,小案子呢,老闆不一定會把

所有精英集中在一起,當然太多"菁英"在一個團隊哩,也蠻容易吵架的...哈~哈~

但如果技術程度不一,那又要如何做到步調一致呢?搞太久,老闆與客戶會沒耐心的)

所以呢?我們早早就建立這樣子環境,你說:哪有人這麼搞的?這怎麼會有競爭力呢?

那你就得看從哪個角度來分析競爭力了?

我說了:USB Tooling 這一種小玩意兒,沒有多少公司或多少人會重視它的,

而且這個東西也不會是產品本身的價值,只是附屬的周邊,沒有好的 Tooling,

那就叫老闆多找幾個外包約聘人員,以人海戰術克服啊。

也不關研發工程師的本業,而且最重要的是:搞 USB Tooling 還要兼具前後代產品的

相容性與系統升級問題,這下一開始就要訂出有"遠見"的規格、通訊協定與規範。

否則,萬一幾個月後,專案團隊解散或人員異動之後,那就完了...
---
所以啦,這樣子的東西會跑到我手上,不是沒有道理的。

最後:就簡單地整理一下照片裡的周邊東西吧:

硬體:電源供應器、示波器、簡易型的邏輯分析儀及USB 分析儀。

(隔日補充:)

示波器:應該是搞系統的基本配備,最主要還是要看電氣準位。邏輯分析是純數位的東西。

有很多不容易察覺的問題會被掩蓋,譬如 Bus 衝突問題等。

簡易型邏輯分析儀這個東西在一般網路(甚至在實體通路中新竹光復路的電子材料行

也有販售,一個才台幣兩三百元。真的俗個大碗。這讓我想起之前幫我賣 USB ROM 

模擬器的業務,當初(大概就是十幾年前左右)他就跟我提這件事,後來他還離職自行

在新竹金山路一帶開公司賣起其他品牌的邏輯分析儀,因為當初他們所代理的國外

邏輯分析儀,一台動輒幾十萬元、甚至百萬元台幣。所以他認為一台賣個幾萬元甚至

一萬元左右的邏輯分析儀,肯定很好賣...答案是:他想太多了。

這個東西PC 上軟體的東西肯定是比硬體複雜多了,但一旦系統被破解後,市場就全然

崩盤了。所以不要以為東西市場大,你就穩賺不賠的。呵~呵~

USB 分析儀我這一台是經典老牌子,CATC USB Inspector,是USB 1.1 時代的東西,

內建 1MB 記憶容量,它已經陪我走過許多研發歲月。其實我不是擔心它的健康問題,

而是要擔心我真的可能會找不到一台真正支援 EPP/ECP 的電腦了,因為這還是用到

傳統作業系統的並列埠的基本設定。唉~

軟體:uVision,Visual Studio(主要就是 MFC 視窗開發軟體)。

uVision :不管是八位元的8051 或是 32 bits 的ARM,基本上這已經是工程師鍾愛之一。

雖然MCU 原廠都有出最新版本的 IDE 開發平台,但我還是比較喜歡簡單容易上手的

東西。當然,新的IDE 我也會用一下,但最終我都會在轉到這個平台上。

Visual Studio 之 MFC: 這個東西以前我都很怕它,怕學不起來。但是等經過那一陣子

學習撞牆期(就是辭掉工作後,一個人靜靜的搞它兩三個月之後,就克服了,那時用的

是 VC 6.0 版的,我現在還是只升級到 2010 版而已。... 懶了~不想再升級了。

何況現在PC 的東西已經不太是主流了。要再學別的平台?都幾歲的人了,還在想這個?

)

最重要的是:一顆非常有耐心、及對系統非常有熱誠的心。

就這樣子而已吧。




====

-----
====

沒有留言:

張貼留言