2013年7月2日 星期二

「古董級」的程式參考手冊

最近討論到關於 8 與 32 bits MCU 的相關議題。

我相信之所以會引起如此這般熱烈的討論,可能因為是大家都可以明顯的感受到

目前眼前市場產品的世代交替氣氛。當然~可能也是許多新工程師們所面臨的

現實問題,尤其是在台灣一般的高科技公司,因為新一代剛畢業的年輕工程師

面臨著:我在學校裡明明接觸的是 32 bits MCU,但我找工作時,卻是一直碰到

那些老的 8 bits MCU ,在這現實與理想中總是令人感到不安。

這是很正常的~尤其是一些算是非常有興趣這個領域,但卻又不是電子電機科班畢業

的工程師們,可能更存在一點惶恐...

---

那我就我自己過去的經驗拿出來講好了,反正我這一種老人家本來動不動就喜歡老是

講:想當年啊...%^$#@ ...這一種開場白的!

講白一點啦,如果先把興趣擺一邊啦,我們就現實問題來看這一件事好了!

找工作或實際環境裡,我相信絕大多數在國內科技公司裡,應該還是以 8 bits MCU

為主。除非您是真的在賣 (推廣)32 bits MCU 的~否則,一般老闆應該還是盡量

會提到 8 bits MCU 的啦!因為很簡單~ 8bits MCU 非常有喊價的空間!

也很明顯有蠅頭小利,當然也有可能是:業務都好像只會賣殺價的東西,東西好一點,

貴一點的東西,他們就好像就比較不會賣?所以Cost down 也好像只是幫業務好賣而已!

 --- 另外當然也是老闆的思維,因為老闆都跟您說:那怕每一顆我只要省個 一兩毛錢...

我一個月幾KK 下來,我也可以省了不少!!至於,最後他有沒有做到幾KK 一個月?!

我不知道!我只是大部分聽到做幾KK 一個月都是在原廠賣MCU 的...而且也沒持續多久?!

就是一直在找那一種幾KK 一個月的。好像他們家的MCU 沒有賣到幾KK 一個月的都好像

隨時會倒的樣子?!哈~哈~...............

然而做系統廠的,搞到幾KK 的都很辛苦,嚴格精算下來也好像沒有真正省到多少錢...

只是搞到最後都很難維護產品...也都算是一代產品吧!

-----

以前我剛玩 8051 時,那時8051 的專利也還沒過,所以國內搞專屬8051的也沒那麼多,

講坦白的...大家都有點算是私底下偷偷用的...所以啦,也沒像現在到處有ICE 或IDE 發展

工具,您能弄個簡單的 組合語言的組譯器就要偷笑了!所以...

我到業界之後,公司裡的資深前輩工程師們就會想辦法幫您弄了這一本程式參考手冊給您:

這是很有名的 2500AD 的組合語言組譯器,我有翻了一下裡面的出版日期:是1992 年!

夭壽喔...比我小孩還老......還是高科技產業用的東西...您教我如何跟新一代的工程師說:

嗯~這一本是我們用的,您就拿去參考看看!....我到底在教工程師們呢?!

還是在害他們呢?!

不過,這一本參考手冊,我當然還曾經一邊寫程式,還會隨手翻一翻的,還算用得到的!

------

以當初的環境,能用到8051 當系統MCU 的也都算是高檔產品...像是光碟機啊,

或是影像產品等等,那如果是一般消費性產品呢?!我想那就另一顆8 bits MCU ---

6502 了!然後坦白講,以當初在園區找工作或是比較有多一點工作機會的還是以

6502 會比較多一點!有沒有像現在 8 與 32 bits 的工作條件與環境一樣啊?!

所以啦...我們這些系統工程師,私底下雖然工作上沒有碰到 6502 的使用機會,

但常常聽同學或其他工程師在講,自己心裡也都會想去弄個 6502 來玩玩,

好像萬一工作有什麼不測時,也比較有多一點機會?!是不是您也是這麼想的?

哈~哈~...

所以大家私底下就會揪團弄這一方面的資料或相關開發工具...其實那時候,

大家心裡也明白,也看到8051 最終還是會成為 8 bits MCU 的主流角色,

但那時誰能把握您下一個工作會不會碰到?!而且您也沒啥機會可選擇的!

以下就是我們所印的參考手冊:

還兩本呢!...其實當時也真的有點買不到了,大家才不得以用印的!

但實際上,我這兩本也後來真的也沒派上用場--- 對我來說啦!您看還很新!

主要原因是:當市場趨勢在轉變時,您在找工作或換工作時,您就真的會有多一點機會

可以選擇您自己所熟悉的東西(MCU)了!...就在短短幾年內變化而已!

就像我這一篇文章"懂得選擇,找到自己要的"內,讀者的回應。我覺得我回答的很好!

就跟像現在一樣,您說:您就非得要找 8 bitMCU 應用產品或公司嗎?!...

像我之前開玩笑講過的笑話:我朋友在大陸找工程師,

工程師一報到,發現公司是請他來維護 6502 的產品線時,他二話不說,轉頭就離開,

都還沒算報到,就已經算離職了!因為他的理由很簡單:他來高科技公司,是要學習最

新科技,而不是要來搞古董級的,他會被同學笑的!----講得也沒錯啦!

您看這家出版社最喜歡用上面那一種流程圖來促銷相關書籍...然後,您現在看到

這個內容會不會也覺得有一點真的"落漆" --- 退流行了!......

----

好吧~既然已經講完這一種:...想當年啊...%^$#&...之後,我們還是得回到現實問題。

我們知道6502 在晶片設計面積上是肯定比8051 便宜,也比較有價格優勢...

這一種故事都是跟您我現在看到的 8 與 32 bits MCU 的問題一樣。

但很明顯的...新架構的MCU 會帶來新應用,也會創造新市場,新產品觀念

以前我們拿6502 來做電子雞;而8051 拿來做光碟機與影像產品。

但現在小朋友不玩電子雞了,他們喜歡手持裝置裡的憤怒鳥、Candy Crush...

還老少咸宜呢!...所以如果沒有32 bits MCU 就應該沒有這些玩意。就算 32 bits

MCU 會比8 bit 成本貴一點!但大家嘴巴不說,但心裡卻很明白:機會在哪!?

若再以另一個角度來看:那8 bits MCU 難道就一去不復返嗎?!我們之前說過,

人家現在還有 4 bit MCU 市場...當然就沒有人會拿這個題材出來宣傳了,就跟

剛剛例子一樣:就算還能賺錢,還是可能會被同學笑。而且要存活就得要很辛苦

的修改架構或調整作法:譬如像PIC like 的MCU 是肯定比 8051 族系好賣多了!

因為業務還是比較喜歡賣便宜的東西,當然主要原因還是 8051 相對PIC  like 與

現在的 32 bits MCU 來說:真的有點卡到中間的灰色地帶.... 

---

所以想在成熟的8 bits MCU 市場中要卡到一定的位置,就得要多花一點心思,

就如同前面連結文章所提到的:

1.做自己最專長的。

2.做自己最喜歡的。

3.做自己最有價值的。

唉~講白一點啦,就不要再搞那一種Me too 的東西了啦。因為他跟現在32 bits

MCU 市場不同,人家是一直成長擴張的市場,就算人家搞Me too 也是為了市場

卡位。...而 8bits MCU 不同,他是在堅守城池的...一攻一守,作法當然不同。

至於哪些是最專長啊?!最有價值?!您就不要老是講那個什麼 ESD 啊~

多省電啊....這些基本的東西,對於許多公司來說:都已經也不是什麼神奇功能了!

所以當年我才會想去搞那個8 bits 多核心...

----

接下來就是產品資源投入。當然就包括我們常講的:新一代工程師的投入與學習成長了。

這一點對於賣一般 MCU 來說:是非常重要的...因為MCU 要賣得動,一定得透過中間

許多系統開發設計者的投入,找產品寫程式。如果沒有幫您做這些事,您一棵也賣不動!

現在賣 8bit MCU 比較辛苦一點的就是有時就算要送人家ICE ,人家也不一定想要...

您就不要還要人家工程師拿著您MCU 的指令集,還在那邊翻指令編寫程式了啦!

這一點對於現在 32 bits MCU 相對於 8051 與6502 是不一樣的,以前就連8051

自己也沒有多好的開發平台,您6502 WDC 組譯器跟 2500 AD 組譯器...大家都是

苦命人,沒差...但現在的 32 bits MCU ,尤其是ARM 的平台,真的讓人耳目一新。

講難聽一點啦,就讓一位新手寫個LED 跑馬燈,我想都比我們以前用那一種組譯器啦

或是程式ISP或ICE 平台真的差很多,就更不用寫個分時多工器---一個小OS...

更何況現在年輕一代的工程師也都有感於生命有限,也更懂得享受人生,

能早一點把事情搞定,他是寧願多花一點時間學找他人生生命的真諦...

我們這一種老人家,因為以前都已經幹過那一種邊翻指令集寫程式的...

反正都也已經走過那段日子了,能做也沒幾年了,年輕人不同,他們未來的日子

還很長,所要面對的挑戰與市場競爭是不一樣的,他們當然就要花更多心思

來面對這樣子技術以外的東西,您還叫他邊翻指令集寫程式?!這樣子會不會

太殘忍一點了?...

講坦白一點啦,我也都寧願奉勸年輕工程師們:眼光真的要懂得放遠一點了。

所以我才說:8 bits 要不要學?!可以學!但真的不要花太多時間...

----

最後我就用我以上那些照片來解說一下我為什麼後來為什麼沒有機會接觸到6502?!

也剛好可以拿來讓我們說明一下這個一種市場趨勢的轉換經驗...

其實,那時我已經用 8051 完成了一個重要產品的計畫與量產,在工作與新計畫之間

有一個空檔期,那時我剛好碰到新版的Keil C 的uVision 版本,我就花一點時間

稍微研究了一下這個 IDE 的開發平台環境,說真的啦,那時我們公司手上的 8051

其實並不適用這一個開發平台,但我還是把他的使用環境搞清楚了,也自己寫了

一兩個小東西...也的確感受與過去不同的開發經驗。所以心中也有稍許的騷動!

後來沒多久就有一個新的工作機會找上我,問我有沒有興趣Join 新產品,新計畫。

我一開始也沒想很多就答應了...後來才發現這一個新計畫與新產品所使用的開發平台

就是Keil C 的uVision 。沒想到陰錯陽差的讓我可以很快的接手整個系統平台的

架設,再經過不到三個月...我就接手了整個計畫的開發團隊。就這樣子一路轉換

系統開發平台...至於那個 6502 對我來就已經不是那麼重要了。雖然後來也有別的

公司與產品是利用 6502 的核心,想找我去過幫忙,我就很明確的婉拒了,因為我

自己很清楚:我應該是回不去了。更何況整個市場趨勢已經完全改觀了。

因為我自己已經很清楚了:我現在已經在朝向:

1.做自己最專長的。

2.做自己最喜歡的。

3.做自己最有價值的。

---- 年紀也大了,這些東西連大陸工程師都跟您說:我在高科技業裡要做的就是

要最新科技...連年輕工程師都不太願意接了,更何況我這麼老了...

至於,您說那這些 8 bits MCU 呢?!那就拿來當作菜鳥工程師的入門敲門磚吧!

反正這一種機會也會越來越少...就把機會留給年輕人,我們用不著去跟他們爭吧。

然而搞這些傳統8 bits MCU 的廠商?!您們要怎麼做?!我也不太想替您們想太多!

問我一個月可不可以搞個幾KK ?!我沒興趣!!但問我會不會去用 8 bits MCU ?!

Of course ...我當然用啊。多好用啊...俗擱大碗,拿來當簡單的邏輯IC 用,有什麼不好?

有時候還不小心的被告知說:

我跟您說喔~現在有帶AD 的MCU 已經降到NT$ 3 塊以內了囉!...

我就會拍拍手的跟您說~好耶!我一定會把這個好消息通知另一家MCU 廠!!

他們就會趕快拿起計算機在那邊換算說:那是代表一棵MCU 是美金0.09xxxx !?

已經都算到小數點以下幾位數了,唉~看來您們一個月幾KK 的量還要多加努力一下。

因為在怎麼幾KK 再乘以0.0xxxx,就也剩下沒多少了!...............

 


 

 

4 則留言:

  1. 1.做自己最專長的。2.做自己最喜歡的。3.做自己最有價值的。
    ==>站在現在的工作回顧以前,我才真的發現前份工作才是符合上述三個條件,但是回顧又能如何?倒不如把現在的工作變成是自己的一個專長(或許離開這產品領域就什麼都不是了)~讓自己慢慢喜歡這個工作(忙裡偷閒?)再次創造自己的價值~
    卡在這35歲的年齡~往事只能回憶阿~把握當下才是最重要的~小弟有幸6502& PIC Like & 8051 & 32bit MCU都碰到了~ 時代在進步~往事回憶只能在剎那間~在電子業裡~今日沒進步~明日就落後別人一小步了

    回覆刪除
    回覆
    1. 柚子啊...
            每一個工作做幾年都會自己覺得好像找到以上三點了。但實際上呢?
      每個人還是會想有的沒有的...所以呢?!我想每個人對於他自己的
      這三點的定義可能不同吧。但也有可能是藉口或是一種自我安慰吧。
      ---
            35 歲了...有多少東西可以回憶,不重要!因為其實您未來能再挑
      的機會也不多了,還是自己要好好想想吧。"至於在電子業裡...今日沒進步~
      明日就落後別人一小不了..." 也不一定對啦,您看您們家老闆還有在搞
      技術上跟年輕一輩工程師的您們,搶著寫程式學新知識、新MCU嗎?
      創新與進步也不一定要在技術或新產品上...電子技術的東西還是那幾套
      歐姆定律啊...電晶體、電阻、電容怎麼用啊。還是跟幾十年前電子學,
      工程數學教的東西是一樣的啦!
            您就不要光看我文章在抱怨這個,扯什麼有的沒有的...人還是要活
      在正面積極的態度上吧!
            好好加油吧!
       

      刪除
  2. 聽說現在公司找人也是M型化,可以粗分成兩種:

    1. 即戰力:缺8051的人就找已經很熟8051的人,缺ARM的人就找已經很熟ARM的人,總而言之就是工具導向,這種公司的特色就是產品經過n個人的手,程式超亂,常有莫名bug

    2.不在乎你會什麼工具,著重在你對系統分析規劃的能力,對於基礎理論有高要求

    其實蠻多工程師(包含我)都是落在1,唯有邁入2才能跳脫加班地獄與提昇自己的眼界與層次(1的公司說實話對他們來說真是多一個工程師也不算多,少一個也不算少了)

    回覆刪除
    回覆
    1. 所以我一直強調:用什麼MCU對於工程師來說,那只不過基本功而已。
      重點還是要懂得去累積自己的系統分析規劃能力。
      尤其是當您拿到一個新的平台,您就得要很清楚的瞭解:
      這樣子的東西,您玩出什麼東西?而不是只是老是用學一套開發工具,
      就拿來寫一樣的程式,做一樣的事!...看似好像做不同的產品,
      做不同的技術...其實,對老闆們來說:您們都是一個樣的啦!
      老闆真的會很在意您會8051 或ARM 嗎?!老闆比較在乎的是:
      當您技術搞到一定的程度之後,有一天您突然開竅的說:
      我應該利用這些基本功來開家公司,也學老闆一樣來學學如何做生意?
      老闆不怕您來學技術,就怕您學會之後,也跑來開公司!
      您今天學8051 ,改天換工作學ARM ...一直換工作老是在學基本功的,
      老闆才不太想鳥您的啦! :))

      刪除