2008年5月27日 星期二

當USB 碰上Multi-thread...

這可不是什麼"當哈利碰上莎莉"...

說真的...版主偶爾寫寫 USB 應用程式,也都侷限在於很膚淺的表面應用程式,

在MFC 的平台中,還算是收放自如的  !

但是難免還是會碰上一些看似簡單功能卻是隱藏瓶頸的東西。

尤其啊...像現在PC的處理器這麼強,人家的作業系統平台也不會笨到像以前那種 X86 時代的東西。

所以啊...就是很奇怪的...就是多多少少就是會碰到 Multi-thread 這種東西...

這種Multi-thread 其實早在Windows 98 時代就有了...因為多工作業系統出現。

當然也代表著:他們也可提供同樣的平台讓一些程式發展者,

也可以玩玩屬於自己的多工系統...只不過啊...對那些高階程式設計師來說,

這種Multi-thread 對他們來說:可能駕輕就熟的...但對我們這些半路出家,半弔子的韌體工程師來說。

這種Multi-thread 架構,有時還真的很難一時搞得懂。

尤其是:當這種與周邊介面傳輸有關的USB 碰上Multi-thread ...唉...真是難過啊!

---

當然啊...人家發展Multi-thread的想法:有其特殊優異的應用方法(說真的,我也不知道!)

但是對我們來說:還真的是天書啊...更何況程式跑起來,連要Debug 都抓不到頭緒!

尤其如果還要利用Multi-Thread來發動 USB 的傳輸...

我終於知道了...當初我搞這顆 GT USB Controller 時,我們當初那些軟體工程師,

個個每天都面無表情的...(當然,也不能說成槁木死灰的...)

但的確是,真的不容易啊。這兩天也被這個問題搞得真的想找人..%$#*...

...

這也難怪:當初我自己在推FxxA 時,話說得很好聽...但真的要人家一時搞得懂又要上手...

就好像般石頭去砸自己的腳一樣。...更何況,現在的工程師們,

哪來這麼多時間去搞清楚啊...就像今天有朋友打電話問我有關MP3系統應用平台...

他們說啊...找方案還算可以...但是呢?!卻找不到系統應用工程師...

因為:人家這些公司都把系統都養在大陸了。

聽了不知道要高興呢?!還是要難過?!...

而當您把這些系統問題都往大陸丟時...那還有多少人會真正的留下來看:整個系統的大架構呢?!

簡單的一個例子:當初拿FxxA作無刷馬達Demo 時,真的有人會指出小弟在下我所犯的系統盲點嗎?!

好像找幾個年輕或大陸工程師...只要把東西丟給人家...就萬事OK了嗎?!...

---我只能說:用軟體造無刷馬達PWM真的可以嗎?!......

這是一個很簡單的數學式子而已...兩分鐘就可以知道答案的...

工程師再便宜...應該也都沒有一個簡單的Sense 便宜吧!

大家可以想一想。

----

至於標題這個 : 當USB 碰上Multi-thread...改天有空再整理了吧!

因為:這不只是您要有稍微有點軟體的Sense 外,

最好您對您USB 韌體在USB 傳輸控制方面要有通盤的瞭解...

否則啊...您就天天找這些工程師們Call meeting ...如果,您還把系統工程師養在大陸的話:

那要有專線來作:Conference Call...再不然...您就天天禱告:兩岸直航趕快通吧!

然後,再看看您運氣是不是很好的可以撿到一位北大高材生...可以天天聽您使喚的!?!...

--- 這些都是一些很簡單的邏輯推演啊...您想誰可以給您明確的答案啊?!

 

 

 

 

2 則留言:

  1. win98之前就有OS實做multithreading了,win9x出來時很多UNIX都在笑M$炒冷飯...不過老實說,win32上的multithreading效能其實不怎樣,這是微軟自己承認的!所以後來又搞個I/O Completion Port出來,把程式搞得更難寫~~

    回覆刪除
  2. 賈老師的真老公2008年5月30日 晚上8:07

    我想要推一個平台與概念,其實都不容易的...
    因為,您真的不是很清楚別人事如何使用這個平台的?!
    或許 M$ 本身在發展這個觀念時,他也覺得還好,所以,才推給一般使用者。
    結果,...當然也就會有這種某種程度的適得其反...
    ---您應該也知道我也講另一件事吧...

    回覆刪除