2015年12月21日 星期一

一份神秘禮物的開箱文(補篇)

為什麼還要寫這一篇補篇?人家常講:吃人家的嘴軟,拿人家的手軟。唉~

因為之前參加 MCU 研討會,人家原廠特地送了我一套MCU 開發平台,

雖然我已經寫了開箱文。但總覺得心裡癢癢的....總覺得沒有真正的幫人家交代到重點。

另一方面我自己以前也搞過 MCU 開發工具,所以有時還是會有一點職業病的。

所以這兩天趁著假日把他重新把玩一下: 一份神秘禮物的開箱文

現在賣MCU 都已經是類似的作法了:那就是隨 Evaluation Board 都會送你一套開發工具。

你就不用再為開發工具傷腦筋了。東西一拿到,就可以馬上上手進行開發評估工作。

唉~這年頭還想靠賣ICE (In- Circuit Emulator)賺錢應該很難了啦。

所以呢~這一片神秘禮物的環境也是:

它的左邊就是一般下載工具的回路...他厲害的地方是直接外包給 Segger 這一家,也是

知名 32-bit ARM 開發工具 J-link 的開發商。所以當你一接上電腦時,它就會顯示出

J-link 的驅動程式。當然也是Plug-and Play 啊。你就可以馬上上手的編寫程式了。

當然你也可以在它所提供的平台中找到在那一篇開箱文的小蜜蜂射擊遊戲的原始碼了。

有興趣的可以自己去研究!而原廠所提供的軟體開發平台當然也是整合許多新功能。

但很不幸的是:對我們這一種LKK 的工程師來說。太複雜了~當然以原廠來維護

產品開發平台,會以單一簡化介面是最簡單的。但又不每個系統開發商都會想一直用

這樣子開發平台,甚至像我這一種,懂得也只是一兩種MCU 族系而已....我幹嘛還要

為了延伸既有的硬體架構,又不得不去瞭解這麼複雜的開發平台呢?

譬如說:自從我開始玩系統時,我就一直習慣  Keil  C 的平台,從最早的Keil 2....一路

走過來,甚至我們以前在開IC 時,Embedded 8051 MCU 時,我們還是用這一套。

沒有人說它比較好用,我們只是比較熟悉這個環境而已。

所以對許多人工程師來說:只要把事情搞定就好,也就不用一天到晚為了新MCU 硬體

還要整天去熟悉新開發平台。我說了:原廠當然希望是單一系統開發平台容易維護。

但人家市場客人也不一定要全買單,像我們這一種就是天生反骨...事情怎麼趕快完成

比較重要吧!...你原廠工程師是領薪水搞這個,人家客人是以硬體來做產品的!

目標不同,方法不同。當然做事情的方式就不同啊!
---
當然啊~如果這些開發工具能夠慢慢一統天下也算是一種福音吧。也剛好32-bits ARM

提供了這樣子的機會。所以這一家Segger 就搭這一股風潮,也算是相關領域的第一品牌了。

所以後來搞MCU 的~也都幾乎會買他們家產品的單了。幹嘛還要自己搞開發工具搞得

要死呢?我以前不是笨。只是順便拿來練功而已。練過了就好,不要把自己當神了...

要不然還會自毀前程,我們小老弟說的:程式寫得好,要飯要到老!哈~哈~

其實我也蠻高興的是:我們這一種LKK 的工程師,還是有像Segger 這一種大廠,

會把他們手上已經是主力大宗的 32-bits ARM 開發工具拿來支援傳統 8 bits MCU。

這樣子真的可以省去許多系統開發平台與工具的延伸...所以我是覺得台灣許多MCU

廠真的要去想這一件事...否則,面對龐大的紅色供應鏈,你還整天在維護這些小玩意兒?

這樣子對嗎?!

---
但問題來了:反過來,人家搞 J-Link 也不一定要買你原廠的單,為什麼一定要在

你原廠的開發平台裡搞得自己要死不死的呢?!----- 這是我自己猜的啦。

因為人家東西拿給我:就一直強調要去原廠下載開發平台軟體。人家我就是老,

不想再裝一大堆有的沒有的軟體一堆...看了心都煩了。拗不過我...還跟我說:

至少也要升級到 Keil 的u Vision 5 ?蛤?!有沒有搞錯啊?外國人不會那麼笨吧!
---
我說:我不管,以我自己搞過MCU開發工具與平台,我不認為這些搞開發工具的不會

那麼笨的!反而我看到人家Segger 原廠都已經跟你明講說:人家可以直接支援一般

Keil 軟體開發平台...為什麼還要用你原廠的軟體開發平台呢?人家也沒說非得要uVision 5啊?

反正我們先搞清楚原始這一塊Evaluation Boards 怎麼可以做到 On Board Debugger 的?

如上圖所示:原廠MCU 只有提供C2 介面,而你 J-Link 就得要轉換過去。

所以這一塊版子上的J-Link 有一個特殊設定:如下圖所示:就是中間黃色所示:

將版子上的J-Link Debug Mode 設定成 Out 。(我是先在原廠開發平台裡設定的!)


這樣子一來,版子上面的 J-Link 就是一塊獨立的 J-Link 開發工具而已。再利用他上面

轉出來的 C2 介面,就可以直接接到MCU 本身的C2 上面了。(上圖所示就是在接回版子

裡MCU 獨立的C2 硬體介面)...這樣子的確是可當作一個標準 J-Link Debugger 開發工具。
----
但我還是覺得很"拙"....也就是笨...誰會一天到晚拿著 Evaluation Board 當開發工具在用的?

但一問台灣這些人,竟然也不知道?!這些人還真的一點研究精神都沒有....

而人家這個 J-Link 開發工具也幾乎氾濫到連淘寶網都在賣一大堆的山寨版了!

---

我沒騙你吧!什麼叫做紅色供應鏈?....這個就是啊!

那我幹嘛還要帶這一片尾大不掉的Evaluation Board 當 Debugger tools 呢?!

所以我就上網再查一下人家 Segger 原廠的說明


應該是可以的啦...所以我就給它手動DIY 做一塊轉接版。然後呢?!就拿一般市面上的

J-Link 來試試:


天啊~我竟然成功了耶!照片中的J-Link to C2 就是上面那一小塊的電路版。

對嘛!...這樣子才合理嘛!
---
但是呢?這是開發工具,但總不能是一直Debug 吧~最終還是得轉成燒錄檔吧。

至於如何燒錄,我覺得還是原來的比較好用。所以呢?!我還是更新一下原來支援

C2 的應用軟體:



這樣子要檢查燒錄原始馬會比較方便啊。

至於如果是加密情形呢?!





也是一樣可以做到的!

----
其實這些都是在合理懷疑下嘗試去解決問題的。或許你覺得沒差啦,反正只要能寫code

就好了,幹嘛這麼辛苦與麻煩呢?!

搞工程沒有人說這樣子沒有不對,但是就是因為你能夠保有這一股不服輸或是以自己

本質學能與經驗法則來探討事物,就可以讓你在工程領域下不斷的拓展自己的能力與直覺。

這些其實都是一種訓練。如果真的有一天你也能夠用像我一樣的心態去面對許多工程問題,

其實對於產品開發設計,都有一個很好的良性循環。

人家會常常問我說:你怎麼可以有那麼多點子呢?!其實都是平常這樣子給自己不斷的

挑戰與訓練。而當在工程技巧上有一定的能力與直覺之後....後面許多不屬於工程領域的

人事物,你自然就駕輕就熟了。供各位參考一下。

謝謝!


4 則留言:

  1. 看到Silicon仍如此努力,我對Microchip的工具實在不知要如何說。因為MCHP仍在用硬體思維在賣MCU。現在是MCU軟體時代了。放個LCM,軟體也只是拉個函式庫,MCHP資料說支援,確找不到FAE可以問。PIC32不是ARM,也不是8位元,搞得不上不下的。今年IOT研討會只有MCHP是以8位元做主打,一整個局勢完全不對等。
    只能說就算是大廠,沒跟上主流,就等於脫節。

    回覆刪除
    回覆
    1. 我有一個朋友在約一年多前還是MCHP 的代理商業務。

      他一直跟我說:MCHP 東西就一直很貴...有點不食人間煙火的。

      我舉個例子好了。有次我幫別人Survey LDO Regulator IC 。

      人家日系的價格已經很漂亮了,他們家的還是人家快一倍價!...

      他還是直接用官方詢價系統幫我查的。他自己在大陸跑了十幾年,他都已經知道MCHP的問題。

      他說那個印度裔的CEO 非常摳....#%$@*...然後在中國大陸被大陸人修理,活該!

      反正沒幾句正面評價。聽聽就好。

      至於在台灣,我也一直覺得很奇怪,我承認早期 MCU 種類有限,MCHP 提供MTP MCU

      的確是一個非常友善的開發介面。但說真的~在許多應用方面是不是唯一選擇?

      我是常常聽到許多人跟我講說:MCHP 很好啊~抗干擾或工業用很穩啊~

      然後多工程師會陷入這個迷思,我承認:等長指令 RISC 是有其優點。

      是不同8051 的不等長指令。....

      但說真的啦~現在台灣MCU 在某些抗干擾或工業用也還好了。

      那就更不用說一大堆日系或其他歐美系的MCU也不差啊,現在價錢也都很親民啊。

      像最近 Renesas 就一直Promotion 其產品。以前在研究單位用過NEC 搞車用也不錯。

      真的~工程師真的不要給自己太多限制,反而會失焦及失去許多拓展視野的機會。

      現在許多開發工具已經進化到很好了。像 Renesas 都會提供一定的 Code Generation。

      幫你處理一些底層跟硬體有關的 Library,像這一次Silicon Labs 所提供的8 bits

      Example Code 也都仿 32 bits ARM 的CMSIS 的語法介面架構了。

      我覺得這就一種很好的感覺...看起來又舒服。

      ---
      別人常常也會私底下跟我說:如果都是套人家的現成的東西,那有什麼附加價值?

      但想一想:當採Open 架構的 Android 之Google 打敗Microsoft 時。

      有誰會質疑說:Google 會失去核心競爭力的?!....我想只有台灣這個專搞硬體生產

      的老闆,才不懂得真正搞軟體的核心價值。難怪台灣的軟體工程師才自我調侃說:

      "程式寫得好,要飯要到老!"

      ---
      不過呢~有時工程師自己也要稍微自覺一點。要稍微調整一下想法與作法。

      否則,除了會寫程式,然後會講"程式寫得好,要飯要到老!"之外,又做了什麼?

      大家就好好努力了吧。






      刪除
  2. 受限制的是人,就是自己。
    我問了二個工程師,為何不用Arm。回答我不能接受。一位是說,公司從不考慮1美元以上的mcu。另一個是說工具全要換,換不起。
    第一位來說,不考慮高價位MCU,也就是公司根本不玩高利潤市場,別以為公司有機會加薪。1美元的mcu,能養年薪百萬的工程師?公司不長進,別以為有好日子。
    第二位,arm工具都不用錢了,不知在想什麼。他程式大部分用c,也沒有軟體問題。不過已習慣抄公板的人來說,要k一份3000頁的手冊,才是最大的問題。因為英文不好,沒中文書無法前進,就不動。
    以上,個人調查。

    回覆刪除
    回覆
    1. Great ! 講得很好。

      就以我自己為例,我是學機械出身的。我還不是踩到單晶片領域。...甚至也去開MCU設計。

      很簡單,一開始也沒有人要求我。但我也不會給自己設限...

      因為我們不可能是一輩子都是工程師。

      當你學會一種單晶片之後,換一顆單晶片應該需要多少時間?

      這兩個工程師都是藉口。簡單說:成功的人是找方法,失敗者是找理由。

      況且這兩個理由都不是理由,這都工程師應該面對的,也必須去解決的。

      我生涯裡面花了三、四年時間去搞一個多核心MCU...後來我也都沒用。也用不到。

      如果在他們的想法裡,幹嘛還要浪費那個時間?!但你又能跟我說:在一個人的職場生涯裡,

      這三、四年有差在哪裡?!更何況:搞一顆既有且成熟平台的MCU 應該也花不到三、四年吧?!

      也只能說:這些工程師,這時候,您還可以自己選工作,當你到了沒辦法自己選工作時,

      你自己要怎麼辦?!你心理建設真的可以面對嗎?!只能說:自己造孽,自己擔啊!

      刪除