置頂文章

想學某項MCU 撰寫技術或系統平台開發不難,只要有錢有閒(時間)就可以! 十年二十年給你無後顧之憂的專注研究,包你不成仙,至少也可成精! 要找技術解決方法或相關程式碼,這裡可能沒有,網路上到處都有。 但如果你研究討論系統技術開發與如何結合後續資源、商業模式操作可能性時, 歡迎留言討論!!這才是能改變你工程師人生的契機。

2008年11月29日 星期六

最近的網路笑話

如果依其原始的想法的話:應該有很多科技產業都可以套用此一邏輯!

您就自己加自己的吧!

----Chamber

---------------------------

真慘---不信你看
黑夜。一女遭遇劫匪。8
顫抖曰:"大哥,我是賣DRAM的,兩個月沒發工資了,
還剛被裁員,你看報導就知道了……"劫匪聽後竟然痛哭流涕。
"妹子,同行,俺原來是賣的FLASH,後面那幫搶劫是做模組的,
你放心,我們絕不搶自己人.
對了,邊上那條路不要走,那邊是賣CD-Rom的。
....................................................
沒路可走了.另一條路還會遇到做LED的....
....................................................KQ-
妹子,以後還有面板的會加入我們的
....................................................
右邊巷也別走,他們是鴻海的mm

2008年11月28日 星期五

JPT ---您要加油 !

昨天以前公司同事正式發郵件告知版主說:J 罹患鼻咽癌末期,已經暫時離開工作,

返回老家作化療與養病了。這件事前幾天版主才輾轉聽到此消息,

也有在部落格提到此事。看到郵件內容所述的一切,讓版主不禁憶起昔日並肩作戰的情景。

J 是台清交大的高材生,一畢業就進入公司負責IC設計工作。

而版主負責驗證IC與系統架設與發展...當初因為市場產品方向都尚未沒明確。

公司也沒有投太多設計資源,結果J 就一肩扛起設計工作。

IC 設計本身本來就是相較於系統設計來說:就是比較枯燥與單純。

所以,以前在公司的專屬吸煙室裡,常常看到IC設計者們聚集吸煙解悶。

當然J 也是常客之一...雖然明知吸煙對身體不好,但您又何忍心剝奪他們生活上唯一的嗜好呢?!

當初公司內這條產品線的工程師們來來去去的改朝換代好幾批...(當然版主也是其中一位!)

但唯一從公司開始發展此一產品技術時,J 就一直堅持此一崗位到目前為止。

但畢竟人不是鐵打的...人也是有血有肉的軀體。J 病倒了...

J 成家立業都是在該公司完成的,老婆也是大家所熟悉的老同事。

連董事長都很支持這位自己的老學弟....實在是有太多的回憶都不禁一一的浮上心頭。

-----

J 您真的要加油啊...不是要您在IC設計工作上加油;而是要在您生命中加油。

在此真的要為您好好祈福...希望您要努力,堅強好好加油喔 ...

希望還有機會跟您合作!畢竟當初在我們合作之下,在別人不怎麼看好的條件下,

我們也交出一筆好成績,也希望您在戰勝病魔的過程中,也能交出一筆好成績。

---- 加油! J....您要好好加油喔!...祝福您!...

2008年11月27日 星期四

USB 裝置的主從控制想法

這的議題是因為我今年主要的一個USB應用程式的成形讓我覺得USB DIY應用更上一層樓,

而這樣子觀念我個人覺得是可以延伸到其他應用領域:譬如PC 應用程式之機器人伺服馬達的即時控制。

然後,因為好友林老師他今年要玩機器人控制時,個人的一個小小意見:

http://chipware.myvnc.com/phpbb/viewtopic.php?p=1036#1036

或許大家會覺得這樣子的東西應該跟一般HID 有點像喔...

一般所謂的 回饋式的遊戲搖桿是這一種嗎?!....

我個人覺得應該還有一些不一樣...

第一:回饋是搖桿的PC 主控控制單元不多...只有一個直流馬達而已也不需做到精準的時間控制...

等您要控制的馬達多一點,而且是要作定位控制的!(USB DEVICE回傳多...下傳接收不多!)

第二:當您利用HID 把資料回傳PC 端時,您的上層的應用程式才會知道,

然後,再重新利用應用程式把更新資料在重新往下傳到OS 的驅動程式端....

在傳出時,您有可能要跟其他PC正在執行的其他應用程式搶作業系統的資源時,

發生時快時慢的時間間隔(就算是用常駐程式寫,也是一樣的!)。

-----

或許大家有更好的方法,我也不敢說我的方法最好。但畢竟我把他給實現了。

所以,我就可以把機器人調伺服馬達動作(就是要調整機器人整體動作!)

可以在PC 端即時的設定動作...然後可以完成預覽-->設定--->下載儲存--->脫機

--->完成機器人自行調整各個伺服馬達動作完成一連串動作!

就如同我在USB2DMX 的操作影片流程一般。

(謝謝影片中,連我那個念小學的兒子也可以輕鬆上手操作這樣子的軟體設定。

這不就是我們希望玩機器人可以普及化的想法嗎?!)

或許大家可以提出想法討論!...謝謝!...

-----------------------------------------------------------------------------------

原文的說明如下:

http://chipware.myvnc.com/phpbb/viewtopic.php?p=1036#1036

-----
我想這個東西有點像我今年寫的一個程式:USB2DMX...

http://www.youtube.com/watch?v=BcpXkgfyoJo

...
我稍微提一下這樣子的程式觀念:
主要就是所提到的如何利用程式中的『滑桿』的動作能做到Real time 控制Device 端的動作---原來的我LED應用中就是LED 節目與速度的改變!而若是伺服馬達的話,就是伺服馬達的作動。
這樣子的控制流程的最大問題是:明明是由PC程式端來下達Device 端動作的改變;但是呢?在時間控制軸上來說:應該由Device 來決定動作的改變。...
因為LED 什麼時候完成PC指定動作,可以在接受下一個PC指定動作。
(伺服馬達什麼時候完成PC指定動作,可以在接受下一個PC指定動作。)
只有Device自己最清楚的...否則,在時間控制上會亂了章法的...
會讓LED 跑起來時快時慢(伺服馬達也會一下子正轉...還沒定位又要反轉...)
----
而以目前PC 端的應用程式對於周邊裝置的驅動程式來說,
是很難精準的做到時間間隔一致---除非您要寫一支常駐程式。
(以現在龐大的視窗作業系統來說,常駐程式真的不容易寫也不容易維護的!
也容易發生掛平台兼容性問題!)
那更不說想用VB 來寫這種程式啦....(譬如利用VB +RS232 來寫!)
--
我當初唯一能想到的就是USB還有機會...
但又一定要USB Device 的Firmware 的強力支持,
在搭配PC 端的應用程式與底層驅動程式的相互搭配才有機會完成。
因為畢竟只有在Device 端才能精準的時間控制...
because 在Device 端的Firmware 只有服務本身功能,不像PC 作業系統這麼複雜。
而以USB裝置來說:明明USB裝置是一種被動的周邊裝置(以主從觀念來說!)
怎麼又可以做到USB 裝置來主控與PC 端應用程式之間的即時資料交換呢?!
---
這個就是我所要說的:如何利用USB Device 的Firmware 搭配USB
驅動程式與PC上層應用程式端的交互整合才可以完成這樣子的觀念。
---
其實,當初這個觀念在我動手作這樣子的系統規劃時,我自己也沒有把握可以完成?因為真的不容易達成的....但事實證明我的想法沒錯的!
所以就完成了這一組 USB2DMX的系統設計。
我想同樣的觀念是可以延伸到利用PC應用程式做到這種伺服馬達的即時(Real-time) 控制的!
---
個人的小小意見!

2008年11月26日 星期三

USB DIY-- 自學計畫(二)

好吧,我們接下來就實際把原廠所附的USB原始程式給跑起來,

然後實際的操作一遍。....以利我們觀察一下結果。

原則上,我們都不對原廠所附的程式作任何修改,直接組譯下載。

結果呢,我們可以很快到的看到在電腦裝置裡,出現該USB 裝置。

(圖)

我們用的USB 驅動程式也是原廠所給的....不過呢?!原廠也有附上

驅動程式的原始碼,可以供使用者自行修改之。

只不過,使用者要有Window XP DDK 2600 ,才能完成組譯。

我把他所附的驅動程式組譯之後,竟然發現兩者之間的程式大小不一樣!!

先不管了...我們還是先採用原廠的驅動程式...

-----------------
當我們看到電腦出現USB 裝置時,一般的初學者,都會有一股小小的成就感,

覺得好像學USB 就是這麼簡單嘛!....我也會了....

這好像一般時下一些菜鳥工程師常犯的毛病,大陸工程師也是如此,

只不過,寫過一兩個程式,或是向這般跑一次範例程式,就到處炫耀跟別人說:

USB 這種東西很簡單啊... 我也做過....就是怎樣?怎樣的簡單啊....)

但事實真的如此嗎?!....我們把原廠所給的韌體程式所產生的Enumeration過程給抓下來看:

(圖)

乖乖....我們這種老鳥明眼人一看就發現不對勁?!

不對...缺一個ACK Token ...這鐵定有問題,跟您們說:別想騙Microsoft 的OS...

雖然微軟的OS常讓別人罵爽的...但是您也別想呼籠他...

這個原廠的韌體在回 Enumeration 是不對的....否則 OS 不可能不回ACK 的!

再仔細一看:人家系統USB 明明要 0x0A 個Bytes 資料,

USB 韌體竟然回個 32 Bytes ....而且還是亂碼....太離譜了!

雖然外表好像煞有其事的正常顯示出USB 裝置...但不代表您的USB 韌體是對的 !

夠詭異吧 ....這是要玩USB 要先有的心理建設,您不要以為原廠給的東西就是對的!

因為原廠的工程師也是人啊...也有菜鳥工程師啊...也有摸魚打混的人啊!

我們就查了一下:這個Setup Token 是要Device Description中的 Device Qualifier 。

這是USB 2.0 才有的東西 ...USB 1.1 沒有支持這個東西 。

但人家微軟的作業系統一定很清楚是USB 1.1 或是2.0 的東西 ...

人家OS 會來問,一定是USB 韌體本身自己搞的鬼....

往USB Enumeration前面一點看: 果然不錯...自己在USB 的宣告中:自稱USB 2.0 。

(圖)

這叫白癡啊...明明自己韌體程式不支援USB 2.0 的這個命令,

自己還擺爛的回人家說自己是 USB 2.0 !這不是找罪受?!耍白癡嗎?!

這果然跟我們台灣政治人物一般...只是喊爽的而已...又不是真正的 USB 2.0 !

又再一次的證明版主常掛在嘴邊的一句話:不是最好,最快的就是好東西!

只有適合自己用的,才是好東西---才更能凸顯自己的價值啊 !

(像我們這老鳥工程師們平時打屁時說的:在硬體設計時,

所有的元器件都用最好,最貴的...做出來的東西跟人家說自己多會設計電路...

我們常開玩笑說:他應該生在美國,長在美國才對啊! ...這樣的東西有什麼好炫耀的!)

----
好吧 ...我們就原廠的程式把他修改宣告為 USB 1.1 後,再試一次!

(圖)

從上圖中我們發現我們已經回USB 1.1了 !

我再看一次相關的 USB Enumeration 過程.....

(圖)

看到沒?!...漂漂亮亮的完成 USB Get Device Description...

再 Set Configuration....完成整個USB Enumeration 。

完美的Touch-down !--- USB 2.0 有什麼用?!錯的啦...

人家USB1.1 雖然笨一點,老一點...但人家微軟給一百分滿分啊...

------
沒想到,才一開始想用原廠的 程式來修改USB 的應用程式,竟然一開始就發生這種烏龍事件。

當然啊...如果是您呢?!...只要電腦Show出您的 USB 裝置時,

您就高興的非常有成就感?!....您在被陷害您不知道而已. !

等下回人家微軟嚴謹的抓您的USB Bug 時,您該不會一句說:不會啊!

以前我都用得很順利啊...怎麼會有問題呢?!這是一些工程師常慣用的藉口啊

您我捫心自問....我們真的有真正的去面對這種類似的問題嗎?! ...我們真的很有用心的去學習嗎?!

這真的需要花您好幾天的時間嗎?!....而您卻想百般的逃避與不想面對他?!...

這真的不是學技術好的態度的....

-----
接下來呢?!...很不幸的,我RUN 原廠的應用程式,來實際 USB Bulk In/Out...

答案想當然爾---- 也是不對的啦....唉...這到底我比較賤手呢?!

還是真的原廠也是在耍白癡嗎?!...要讓學習者從抓他們的Bug 來學習嗎?!

雖然學技術,是從抓Bug 基礎扎根起來的....這的確是不諱言的。

但看樣子...接下來還有得玩呢!....

(待續)
-------------------

1. 改寫原廠的USB應用程式


2. 改寫原廠的USB應用程式(續一

3.改寫原廠的USB應用程式(續二)

4.USB DIY-- 自學計畫(一)

6.USB DIY-- 自學計畫(三)

7.USB DIY-- 自學計畫(四)

8.USB DIY-- 自學計畫(五)






 

2008年11月25日 星期二

USB DIY-- 自學計畫(一)


想跟版主重新學新的USB Controller 的人有福了,因為版主最近會嘗試使用另一家

USB Controller 了,所以,就藉由這個機會跟大家分享一下這個USB DIY 的自學計畫。

而版主預計整個自學計畫預估約為期一個月。我也不敢誇口說那種"30 天學會 USB "!

這種賣書廣告啊...就等我有機會出書時,再寫啦。

但是我希望這是一個目標...而既然是目標,當然就要努力去達成,

而達成的目標的過程是需要方法與一定的程序的,在正確的方法與程序指導之下,

方可順利達到目標!接下來所要記錄的,便是這一過程。

-------------------------------------------------------------------------------------

首先當然要稍微K一下原廠所提供的Datasheet ...不過,這一部份只要稍微瀏覽過一遍即可。

因為真正的使用還是得從實作中去體會比較快啦。(K 原廠的Datasheet 花個一天就可以了...

不要太浪費時間,不如等做過一遍再看,印象會比較深刻!)

一開始還是藉由原廠所提供的Demo 程式與環境去走一遍韌體與軟體。

這樣子就比較容易進入狀況。也避免走一些冤枉路。

軟體部分,前兩天有稍微提到原廠所提供的原始碼,這一部份是由C 語言的MFC 所寫的。

所以,應該還可以隨時接手,就暫時先擱一邊。

我們就從USB Controller 的韌體開始看吧。---

老話一句:工欲善其事,必先利其器。....我們先把輔助工具搞好再來看韌體會比較快。

------

我們都知道,不管您是哪一家的USB Controller ,他的USB Housekeeper 程式一定

Interrupt drive的韌體架構。只是每一家對於USB Token 所發的中斷會有所不同。

這是我們一開始要搞清楚的,否則啦...您會根本沒機會敢去改這一部份啊。

而接下來呢...您就根本就沒信心的進行下一階段的USB 學習了,自然您USB 就學不起來。

首先呢,您們或許都不知道:CATC 的USB 分析儀有一塊外接的Breakout Board:

我們看一下原始的使用手冊:

    到底這塊外接Breakout Board有何作用呢?!又該如何用呢?!...

很多人都不清楚,在此我就稍微說明一下,但是呢?!很不幸的。我也沒有這一塊版子。

以前問過原廠,他們也不鳥我,電路圖也找不到。...只好自己打開機器找一下電路,

我就自己DIY 作了一塊Breakout Board,看來還可以,不錯用的。

我們從原廠的使用手冊看到:他有提供四組User Signal Data input#0~3 !

這可以讓我們系統的控制訊號與他的分析軟體同步。---這是比示波器好用的地方。

他的接法很簡單:DB37 接頭 ...我只要拉上述的四條線就好了...其他的,

我是覺得要拉的機會也不大,因為我們不是要搞USB IC設計的。

而他們主要的四條分別如下圖所示:(看來我DIY的功夫還不錯哩!)連那條連接線也是自己作的!

好了...接下來我們來看一下:這塊版子神奇的地方。...

----

我們一開始要用哪一支原廠的範例程式呢?!...用HID?!用一般的自有的USB Driver ?!

以我個人的意見呢?!...應該是後者!---一般的自有的USB Driver。

走一般的 USB Control/Bulk Token 就好了!(雖然很多人會很怕啊!)

因為您必需先搞清楚整個韌體---驅動程式到PC應用程式。---否則,當您用HID class ,

劈哩八啦,架起來玩了一次,好像都可以用了 ...然後呢?! 整個USB 還是搞不太清楚!

然後呢...心裡的那個惰性會讓您不想再回頭看很基礎的 Control/Bulk 控制方式!

結果呢....您的USB 又是半桶水的拿不上台面上來作其他相關應用。

這是純個人意見,如果您覺得不妥,您還是可依照自己的方法學與搞USB!

原因是因為:Bulk Token 基本上是跟Control Token 很像的...

所以,對於PC 的 AP 端來說:是比較單純的...其實,韌體也是一樣的!

但是呢:HID 反而還要多一組Interrupt Token ,而且他是走HID  Class,

您還得去K 一下HID Class規格 ,搞得懂所有Report 的定義與用法,

一開始學USB 不用搞這麼複雜吧....一開始越單純,學得越快啊!

我提到的一個月...最終也會包括HID的....我自己認為那只是另一個很簡單的轉換而已!)

-----

好吧,我們來看這塊Breakout Board 好用之處:

首先我們先在韌體的USB 中斷程式的進入點加了一段I/O Toggle程式,

讓每一次USB 產生中斷時,就Toggle 一下I/O ,我們再把這跟I/O 接到

Breakout Board的 User Signal Data input 上:

我們就可以在其USB 分析軟體上同步看到這跟訊號的變化:

(粗的代表為 High ...細的代表為Low...藍色為USR_D0...綠色為USR_D1...依此類推!)

上圖是USB 插拔過程中:Enumeration 過程韌體所回的 Device  Description 。

這一部份鐵定是由韌體所回的....我們可以觀察到:他的每一個Ack Token 處,

都會產生一組USB 中斷...這樣子,您就知道您的USB 韌體的控制流程了!

因為:原廠所附的範例程式,在USB Reset 時,也是Enable USB Interrupt 的,...

所以,我們也看到最後一個 Reset 產生的USB 中斷。

最後呢...我們也看到:雖然Get Device Description (Device Configuration)及

Set Configuration 都會連帶有一組Zero Length 的Out/In Token ,

但是呢,我們的USB Controller 都還是會再進一次USB 中斷程式的。

這樣子,是不是讓您比對參考解讀USB 韌體時,很方便嗎?! ...

-----

當然啊,這樣的流程,您只要走過一遍,您大概就很清楚,以後也不用每次都要如此的啦。

(待續)

-----------------

1. 改寫原廠的USB應用程式


2. 改寫原廠的USB應用程式(續一

3.改寫原廠的USB應用程式(續二)

5.USB DIY-- 自學計畫(二)

6.USB DIY-- 自學計畫(三)

7.USB DIY-- 自學計畫(四)

8.USB DIY-- 自學計畫(五)

2008年11月24日 星期一

改寫原廠的USB應用程式(續一)

以前對於另一家傳統的USB Controller (C品牌),一直沒有很深入研究探討。

當然也有很多人當初很期待,但是版主一直遲遲不願意發表相關文章。

其中有一個重要因素是因為:已經很多人(包括許多學校老師們)出書發表了。

總覺得人家在學校裡的老師們已經把他們的扮演的角色已經作得很稱職了。

還輪不到我們再來錦上添花。....

但這一次再不得不另起爐灶接觸另一家USB Controller 實在因為是產品開發之需求。

 剛好市面上有關這一部份的書籍是比較少的,好像對一些人來說:

剛好可以利用另一種不同的USB Controller 架構來檢視自己對於USB 功力的成熟度?

我以前提過:懂不懂USB?!或是有沒有學會USB是次要的...重點是:當您學會這個介面時,

您要該如何靈活應用這樣的一個介面呢?!....這其中有一個很重要的東西在您腦中---創意!!

這是跟您本身USB技能是比較無關的...我個人覺得這是一種比較屬於個人人文素養的一種表現。

譬如說:您會寫MFC 或是VB...不難!但是您要如何去把這個軟體的畫面擺得讓別人"賞心悅目"。

這就是另一種工程上的藝術了....就像我去改寫人家原廠的應用程式一樣。

這好像就是一種說法:戲法人人會變,只是個人所呈現的結果不同罷了。

這也就跟一般人在學新東西一樣...總覺得別人學這個很好...好像很好賺?!

但是呢....自己學起來或是自己走一遍之後,怎麼全變了樣?!

(這跟這幾年來大家一窩蜂的往園區的電子行業理鑽的道理是一樣的!

好像這幾年沒像人家過去講電子新貴那般鮮明光亮的外表了!)

-----

我之所以要先提這篇文章的原因,就是要先各位報告:如果,您像版主一樣,

還有機會去接觸新的USB Controller 時,您覺得您應該該從哪裡下手呢?!

只是拿人家USB Controller 的IC Datasheet 猛K ?!...或只是拿著人家的EV 版子,

照著原廠所提供的範例,寫兩個 8051 Firmware ?就算學會了?!...

---

其實,這是許多人想USB時的最大內心掙扎:我到底要不要學PC軟體呢?!...

當我改寫完原廠這支應用軟體後,我對該公司的USB Controller 大概就可以約略的抓到其USB

控制方式了...因為很簡單:USB 的控制本來就是來自PC端的應用程式。

所以啦...我個人覺得:如果您學USB 只是想學到USB Firmware ...我個人覺得:

那只是學USB 的一半而已。(同理,只是想學USB PC 應用軟體也是一樣的!)

不管您這一半學得再怎麼精通,您對於USB 未來的真正控制,還是拿不出真正USB 精髓。

更何況是我之前提到的:您如何去發揮那一種有點"工程藝術"的戲法呢?!

而這些稍稍差異的戲法,便是我們所說的:創意啊。

----

OK...如果大家有興趣跟我往下走的話...您們大概就明瞭我所說的含意了。

剛好這一次的機會:剛好也可以彌補我在USB的相關文章中所欠缺的 HID (Interrupt pipe)

與ISOchorous pipe 遺憾。

注意喔...如果您是版主部落格的常客的話,那代表您跟版主一樣:

學新一棵的USB Controller 的資歷,是一樣的,我們都是新手啊!

您是否跟我一樣...我剛要開始學USB 而已啊 ! ...而您我所擁有的機會與條件是一樣的。

我們就假設就從2008 年十一月算起吧...看我們要學USB 到底要花多久時間啊!?

嘻...嘻.......我們來試試看吧!...

PS : 不代表我是『英英美代子』整天光玩這個喔,人家我白天還得趕案子啊!

 

------------------

1. 改寫原廠的USB應用程式

3.改寫原廠的USB應用程式(續二)

4.USB DIY-- 自學計畫(一)

5.USB DIY-- 自學計畫(二)

6.USB DIY-- 自學計畫(三)

7.USB DIY-- 自學計畫(四)

8.USB DIY-- 自學計畫(五)

 

2008年11月21日 星期五

改寫原廠的USB應用程式


...

不是我這個人老是喜歡批評一些事情...但是呢?!...有些IC的原廠可能是一些包袱或是日積累月之後,

一些提供給客戶或使用者的應用程式總是覺得有點不合時宜了...

我們也不能怪人家原廠啦...人家的產品總是日益增進,而軟體工程師們,

也是可憐,老是要配合著改這個應用軟體又要改那個的...總是覺得很沒力。

尤其是一些老鳥工程師...總覺得老是改這種東西也沒什麼創造力或是長進的。

久了自然就興趣缺缺了,不過呢?!這一點對於老外原廠來說呢,就是不錯...

人家原廠懶得改之後,人家會把原始碼提供出來...讓客戶大家自個兒視情況自行要不要修改?!

不像台灣的IC原廠...也不知是時代久遠了呢?!還是工程師『世代交替』幾次之後?!

就已經讓這些原本提供給客戶的輔助工具軟體就給自生自滅了...您說:是客戶該倒楣自討苦吃呢?!

還是台灣這些原廠的服務態度不佳呢?!....或許,真的大家可以思考一下。

-------

最近用這一棵MCU 的燒錄器...就是用原廠提供的燒錄軟體...才用沒一兩次,就受不了。

尤其是一些ROM Code回讀的機制,非常的不方便...而且也覺得有些東西也不合時宜了...

就把原廠提供的原始應用程式拿出來『翻修』一下。

----

結果如下:

其實大家常用也是上圖中那幾項而已...而上面還支援UART ?! 這個真的不合時宜了...

我想連代理商也都沒看過接 COM port 的燒錄工具吧!....

而這個畫面是真正的燒錄畫面....我是覺得有點脫褲子放屁...操作上太複雜了!

用這個應用程式不就是要燒錄嗎?!...幹嘛還要點選上邊標籤換頁呢?!

----

而這一頁是讓我最受不了的一個操作介面...(也是促成我不得不想動手改這支應用程式的原因!)

為什麼回讀ROM Code 之後,還要先存檔再找其他文書處理器看內容呢?!

我也不敢說原廠是笨啊...也有可能人家原廠也是找個菜鳥工程師...隨便寫一寫就交差了事了!

我就花一個早上就把他給大翻修一下:

就留下一些常用的操作頁面就好了 ...順便把USB連線與燒錄功能放在同一頁面...

這樣子操作起來就順手多了!....還有把他那的檔名欄位放大...現在視窗檔名哪有短短的呢?!

還有他在USB連線的偵錯有點拙...每稍一次就又要連線一次....

這一點固然可以防範錯燒不同編號IC,但也造成燒錄麻煩...喂...燒錄IC費用是算時間的耶!

---

而回讀的方式呢?!

改寫後...看起來就這麼爽...我們這種老鳥工程師...總是對於燒到IC裡的資料總是要

多一次檢查才放得下心...所以啦 ...他原來的介面真的諸多不便!

改寫後,便顯得方便許多...還可以節省操作上的存檔 ..開檔...整理...

一個按鈕...一個畫面...動一動滑鼠滾輪就一目了然了。覺得還蠻不錯用的!

至少看起來就比較順眼一點!

-----

結語:還是對於此原廠予以高度的肯定...願意提供應用程式的原始碼給客戶自行修改。

這一點的確跟台灣Local 的原廠有著截然不同的作法! ...所以啦 ...有時覺得IC貴一點...

但是真的方便啊...(尤其是這種有Flash Based的MCU 來說...)價格也還好...

不信的話...您也可以請台灣廠商開一個Flash ...看他們敢不敢賣一樣便宜?!

其實啦...人家老外因為一直在作FLASH Based 的,.,...都已經達到一定的經濟規模了。

我們台灣廠商還在猶豫之間,反而一直流失時機。人家在夾著經濟規模下壓價格...

我們Local 的Mask 或是OTP 就得再退一步價格...以維持兩者之間的價差(這是我們僅有的競爭力!)

以長遠的市場趨勢來說...真的,這些台灣Local 廠商該冷靜思考一下了!

----

這一次除了改寫他應用程式端的一些操作介面...接下來,有可能會進一步的去研究他們USB介面...

所以啦...您們也可以期待有另類不同USB 觀點吧!

-------------

續篇連結:


2. 改寫原廠的USB應用程式(續一

3.改寫原廠的USB應用程式(續二)

4.USB DIY-- 自學計畫(一)

5.USB DIY-- 自學計畫(二)

6.USB DIY-- 自學計畫(三)

7.USB DIY-- 自學計畫(四)

8.USB DIY-- 自學計畫(五)