2020年2月16日 星期日

USB DIY 外一章 --- 多核心MCU 的開發經驗

為什麼會突然勾起這一篇文章呢?是因為前一陣子,大家突然在我的文章留言中

討論起MCU 相關技術問題,然後又緊接著欲罷不能的討論下去...

談白講啦,這個議題各有所好,就如同每個人的宗教信仰一樣,只要大家能在

心靈上藉此得到慰藉,其實都是好事一樁,反正人生不如意之事,十之八九。

又何必那麼在意呢?那對我來說:當年能夠參與一顆全新架構MCU 的設計開發工作,

也是一種經驗,至於它能帶給你我什麼啟發?那就見仁見智,我也不好意思說什麼?


其實就是因為在那個時間階段裡,我也比較多會留意一下,國內相關技術論壇的

文章討論,像是雷兒電子電機論壇、機器人論壇或是其他的...我都會多多少少的

去瀏覽與參予一些討論,也當然奠定了我往後開始寫部落格的基礎。

而當初當我看到 Arduino 發表之後,我心裡大概就知道MCU 市場生態在某些

系統應用領域市場會有很大的改變,有時候搞產品不是在搞一個 Me too 的東西,

而是他是否能真正的創造一個不一樣的市場觀念。否則,產品本身有再好的技術,

其實都很容易淹沒在廣大的市場之中的。這也是讓我當初覺得這樣子玩下去沒意思

的原因之一吧。

但我記得我離開那個公司團隊之後,我的長官有傳了一些訊息給我:希望我不要

在我的部落格或是其他論壇上,提到太多關於此一產品的任何文章,所以我後來

在這一方面也都沒有太多著墨了。

但時間過得很快,匆匆也已經過了十五年多了,我相信以科技業,尤其是IC 設計業

來說:這十五年多的進展,應該可以改變很多人事物的。尤其是技術或市場發展。

所以現在來稍微寫一下過往,應該是無傷大雅了。尤其這十幾年來,MCU 市場的變化

根本已經非同日而語,不要說國內的廠商,就連國外的 atmel 、Motorola 或是日本的

NEC 等傳統MCU 廠,也幾乎不知洗牌,洗了幾回了。這市場也經不是說從簡單技術

觀點來討論就可以分出市場勝負的...有很多也都是從市場行銷與系統應用端來看的。

至少我的觀察與結論是如此的。所以或許大家可以用一個比較輕鬆愉快的心情

來讀這一篇故事吧。
---
當初我離開園區IC 設計業時,本來就想以MCU 的相關系統應用,來作為個人生涯發展。

一開始我是用 Microchip 搞了一套CDI(機車點火系統),因為我在這個產品規劃

是非常堅持要綁APP 系統軟體的,所以努力了約半年多,發現 MicroChip 在這一

方面的支持度,真的不好。效能也無法彰顯...所以我就放棄了,但我的合夥人

他卻很堅持不用支持APP 系統軟體,直接以標準產品,就一般我們所說的:

就搞一個類似SOC (IC 產品設計觀點),直接出解決方案就好了。這一部分後來的

故事我就不清楚了,我只知道:當初在產品雛型出來之後,也有某機車廠的老闆

願意以增資入股方式參與公司未來發展,這一點我沒有參與...

之後呢,就是我搞那個 USB ROM Emulator 的故事了...後來我園區的前主管他想

弄一家MCU 的IC 設計公司,缺一個可以幫忙搞MCU 開發工具的人,當然就能

懂USB,也懂一點MCU 系統應用的人,所以就找我去上班了。那時上班地點

不在園區內,離我家其實很近而且離小孩小學也很近...平常我都是騎腳踏車去上班的。

但唯一的缺點是:公司一開始人很少,就只有三個人...公司內也沒啥什麼辦公室家具。

開始一年多,平常辦公室裡都是超級"安靜"的...因為除了我以外,另外兩個(包括老闆)

都是搞IC 設計的~所以大家常常一上班就埋頭搞設計,就連中午出去吃飯,也就

那附近幾家小吃店可以吃而已。我想那時公司每個月的開銷大概就只有水電費,房租

還有我們的薪水吧(這還是我們自己都有投資一點錢,算是領自己的錢耶!)

就連我的PC 我都是用自己的Notebook ...(習慣吧...我記得應該老闆也有給我一台

桌機吧...太久了,忘了!)

而對我來說:剛好銜接USB ROM Emulator 的產品開發,所以在USB  韌體與APP 軟體

技術方面可以更進一步精進。我覺得這是在工作與產品技術開發上有所相關,

這是一個很好的工作轉換條件,因為一來沒有相去太遠,二來還保有一些技術成長

空間。所以其實老闆也沒跟我說:我在這三個人之中,我的工作定位是什麼?

你說是MCU 指令與程式驗證呢?還是只要搞定 FPGA 或MCU 開發平台的 USB 介面

的ICE (In- Circuit Emulator) 呢?因為這些東西都比較像一般韌體或系統工程師該做的。

只是我在想:反正他們倆還在構思與設計MCU 架構,而我呢?就覺得既然要做新的

 MCU 那肯定除了一般 ICE 工具之外,可能還缺一個 IDE ( Integrated Development

Environment) 吧。所以我就多多少少來搞個簡單的 IDE 開發軟體吧。

---- 真的初生之犢,不畏虎吧。我既不是軟體科班出身的,也就只有一個人,怎麼搞?

我想這就是新創公司可以帶給一個肯學、肯努力工程師的學習成長空間吧

因為公司暫時還沒有創造業績的壓力,產品都還在萌芽階段,所有的技術投入都有

其一定的開發醞釀期,只要是目標明確,老闆也不可能一下子找太多人來亂搞瞎搞的。

所以對我來說:又何嘗不來試一試呢?

沒想到的:這樣子一投入,還真的搞個兩年多。當然對於我寫這樣子的APP 軟體與

一般 MCU IDE 開發平台有了較全盤的了解:譬如指令編譯、IDE 中斷攔斷點、

MCU 內部基本架構與運作等等。都有很深刻的學習與了解。


上圖就是我一個人從頭搞到尾的一個 MCU IDE 開發平台。基本上就包括了:程式碼的

基本編寫環境、程式碼組譯、ICE 開發工具的下載乃至於最後的量產程式工具等。

而這些當然都是我自己以前所接觸的MCU 開發經驗所累積:MCU IDE 應該有的東西吧。

其中裡面還要包括MCU 指令的特殊顏色標示、右上角的一堆與周邊開發工具介面。



而最主要的是:這些都是我完全用 Visual C ++ 語言的開發。但很好玩的是:

這也是我唯一用MFC 中的 Mainframe 架構所寫的唯一 APP 軟體,其實我自己是比較

喜歡一般對話窗(Dialog) 的MFC APP 軟體,因為對使用者來說簡單明瞭。

但也沒辦法,搞這些東西就得用這種架構的布局啊。

這是附屬量產的程式燒錄工具。不過,他是OTP 的MCU,就沒有甚麼 Erase 功能了。



當然ICE 中所應該具備的程式碼追蹤、Registers(寄存器)的讀取等功能也都是基本的:

這個就叫做 Watch List Dialog 。


當然還有一個 ICE Trap (執行斷點, Step by Step) 的東西,我就不 Show 來了。為什麼?

因為這些應該都是跟ICE 硬體的開發工具綁在一起的,但我手邊已經都沒有這些東西了。

前幾年,原本還有一些老朋友送我一兩個他的開發工具,但個人覺得這個 MCU 我應該

沒有多大機會還可以用得到它,所以在某一年的年終大掃除時,我就全丟到回收箱了。

所以應該也沒辦法讓程式跑出執行畫面了。

當然啊,有些東西也不全然都是我寫的:


像上圖中那些組合語言的編譯程式,就不是我寫的,那是MCU 設計工程師他自己用

一個簡單的 Prompt 視窗所寫的C 語言,我只是重新整理進我這個IDE 開發平台中而已。

所以大家就可以看到我在 Visual Studio 中的程式分類: Compiler、OutputWindow ( 就是

程式中斷時,所有記憶體內數據 的輸出畫面)、Programmer (IC 燒錄程式)、USB (其實這

個才是我這份工作的主要內容才對的!)、ViewReg (就是程式中斷時,所有Registers內

數據 的輸出畫面)等。

---
談白說了:其實剛開始寫這種程式是蠻有挑戰性的,尤其對我這一種非軟體科班出身的,

有許多應用程式語言的基本訓練都還不夠,就逼自己趕鴨子上架,真的有點為難自己啦。

但當我完成這一版之後,看到那兩位(包括我公司老闆) IC 設計者,都在使用這一套IDE 時,

還蠻有成就感的,尤其到後來公司開始增加一些新進人員之後,也都使用這套軟體,

尤其我去大陸跑市場介紹產品開發時,也都是用這一套,那時大陸合作廠商,也沒別的

選擇,都是用這一套,倒也沒聽到反映說這套IDE 開發平台有甚麼問題。

只是搞這種東西最後最大的挑戰是什麼?答案當然就是產品族系的擴充啊。

這樣子下去也真的會搞死自己啊。

不過幸好後來老闆也找來比較專業也比較有經驗的軟體工程師來接手,(只不過,

他會因為我這一套東西會先天上會有一些包袱吧。)只是我自己後來又身兼PM 產品

企劃,一天到晚跟著業務與代理商跑外面,就比較少維護這個東西了。

---
結語:其實有很多工程師會私底下發 Email 問我關於職場生涯或是工作學習的一些

看法,說真的啦,怎樣學東西最快?當然就是類似這樣子給自己一個額外的要求

目標,努力去完成,你自然就可以把東西給學起來了。

但這其中有一個非常重要的因素:還是在於公司環境內,可以提供怎樣的工作條件

可以讓你學習成長,倒也不一定非得要有個前輩或長官帶著你。還是在於你自己的

心態啦。

但講坦白話:這個東西,工程師只要一生做過一次就好了,要不然真的很辛苦,很累。

第一次當然就是一個成就感,但搞久了,那是一份擺脫不了的責任。而這些東西

往往又是屬於後勤支援的東西,我本身就比較不喜歡這樣子的產品技術開發與工作

內容,我自己也知道:這些都不是我一直想做的工作,因為 MCU 本身是死的。

系統應用是活的。況且市面上還有許多系統產品等著我去探討發掘,我會離開

園區IC 設計業來說:我就已經有這樣子的想法了,只不過,這項工作讓我有個機會

能進一步深入一般MCU 架構的底層,去了解MCU 運作的原理,這一部分對於

我自己未來在MCU 系統平台開發與追蹤除錯都有很好的基礎訓練,

當然也包括了:我自己本身在USB 輔助工具開發上,都有長足的進展與助益。

這一階段給我的訓練與過程,的確是一個非常好的經驗

但比較好玩的是:當我離開公司這個團隊之後,馬上園區內有另一家MCU 公司

找我去上班,他們也是要找一個能在USB 輔助工具上,可以協助開發的一個人。

但我自己知道:這個東西一生只要做過一次就好了,我只好跟他們說:

如果請我當顧問的話,我可以無私的傾囊相授把這些經驗告訴他們,但要我再做一次

寫程式、維護開發工具的工程師的話,那就抱歉了。
=====

所以說啦:如果真的要認真的討論MCU 架構的話,我應該還有一點一絲絲的經驗啦。

只不過,我自己走過,這幾年也看了許多市面上許多MCU 的市場迭代...深深體會到

一顆MCU 之所以能夠成功,不單單只是單一MCU 產品成功而已,而是如何在一個

基本架構下,去擴展一系列(或一族系)的MCU 產品線,因為系統應用市場是

千奇百怪,有不同是市場、不管是效能或成本考量等等,都不可能只用單一MCU

可以搞定的。而這些背後的開發平台與系統支援,也是必須不斷的更新與迎頭趕上。

公司太小,規模跟不上,那是很辛苦的。尤其這些東西,搞到最後連我自己有時候也

都懶得去維護,當然啊,我自己本身學能也不足,軟體開發之前也沒有花太多時間

去規劃系統未來擴充或簡單維護問題啦!我覺得這一點很重要的。

畢竟我們一般工程師的習慣就是一接到上級交辦任務之後,就匆匆忙忙地上機

寫程式了,也幾乎沒有花太多時間規畫或考慮未來所會面臨的擴充或更新問題,

雖然現在許多MCU 或系統平台都會提供這樣子的機制與介面,但還是沒有多少人

願意多花一點時間來規劃整理系統發展的脈絡。就像我這篇文章的經驗一樣:

趕鴨子上架,東西的確也搞出來了,老闆應該覺得滿意啦,但後續呢?

工作交接與未來發展時,此時公司因擴充而人員增加,開始有了業績壓力了,

你覺得老闆還會給你多少時間在來規劃這些東西呢?又有多少老闆願意聽你

講這些呢?還會給你多少資源呢?

所以在這些產業中,為什麼會有一代拳王呢?這應該也是其中一個原因吧。

關於類似這樣子的程式開發經驗之前也寫過一篇文章:電子自學學習心得回憶(二)

藉由此一小小經驗讓大家也可以從中體會到一些"前人"的經驗:

許多MCU 開發背後的許多鮮為人知的辛酸之事。有些技術的東西大家在網路

很容易搜尋到參考資源,但技術以外的經驗、心得或背後的故事,比較少人提。

或許這一篇簡單的經驗故事也可以提供給大家參考一下吧。

謝謝各位的耐心閱讀。









11 則留言:

  1. 最近寫了三篇文章,測試一下讀者的意向。
    有深度的技術文,最多人在看。
    單一主題的技術文,只有知道用在那裏的人在看。
    個人經驗推展的想法,沒什麼人想看。

    看來一般人有興趣的是如何可以解決他的問題。大部分人對於經驗故事沒什麼興趣,看得懂的人少。
    所以寫經驗談,還是依自己的想法去寫,不用去在乎有無人在看。當成是自己的筆記就好。

    回覆刪除
    回覆
    1. 如果以技術類部落格文章來說:的確是能幫人家解決問題的文章是比較吃香,

      所以像那些 Arduino 開箱文,一個模組一個方案的組裝驗證,最好還是附上原始碼,

      最好也是一組譯下載,完成...這一種最吸引人氣。因為學生搞專題會有一大堆

      學生會找到你,然後同學口耳相傳的~一堆人閱讀下載,人氣點閱數暴增...

      文章也不用太多費話或感想,也無須任何經驗分享,只要 Step by Step 把東西

      搞定交代清楚一點即可。
      ---
      那如果把一個東西切割得太細,別人又搞不清楚所寫文章內容的來龍去脈,

      那就很難吸引別人看得下去了,不管文章長短,那怕自己覺得這其中有很多

      自己苦心鑽研的技術或關鍵想法...不懂的還是搞不懂。這種內容不管國內外都是一樣的。

      我有去看了一下三篇文章內容,依我的看法就是:哦~版主可能在搞機械人產業,也可能是

      工具機產業。這已經是很專業的技術領域...不像一般MCU 通俗內容。這就你所說的:

      "單一主題的技術文,只有知道用在那裏的人在看。" ....除非可以用平易近人通俗方式

      解說。否則真的很難引起共鳴。

      那至於寫部落格的目的是甚麼?別人我不清楚,而我呢?當然有一部分就算是自己的工程

      記事筆記本。當然有很多也不一定是純技術工程內容,有些是自己以工程角度走過許多

      產業與市場經驗,這些比較不牽涉到深奧難懂的技術內容,看起來比較像產業技術的八卦。

      至少這一點還可以讓多一點的人可以參考閱讀一下。就當一般工程師的生活小品吧。

      其實專於技術專業的東西,現在網路發達,有很多地方真的都可以找到解決方法與資源的。

      這就跟產業發展一樣,當一切看起來沒有特別之處的話,就容易淪為:

      多你一個不嫌多,少你一個也沒差的感覺。那又何必在乎呢?自己高興喜歡就好。

      當然啊~有時候寫寫部落格還有一個好處,那就是可以意外地收到許多電子郵件,

      不管是關於技術、想法或想私底下聽聽你意見的人。讓自己也可以多一點生活體驗與人生視野。

      技術的文章撰寫不容易維持人氣,這是一定的啦。因為每個文字或內容,都需要一點時間

      整理與驗證,不容易信手捻來。這一點也真的不用強迫自己...

      隨著年紀增長,生活是多一點人生體驗。少了一點技術鑽研。但回首過去,

      的確也有許多屬於個人精彩歲月,不用對誰負責,也不用對誰報告,

      就當作一個簡單的回憶錄式的為自己留下一些雪泥鴻爪。---
      =============================
      和子由澠池懷舊---蘇軾

      人生到處知何似,應似飛鴻踏雪泥。
      泥上偶然留指爪,鴻飛那復計東西。
      老僧已死成新塔,壞壁無由見舊題。
      往日崎嶇還記否,路長人困蹇驢嘶。
      =======================================

      或許隨著年紀增長,感觸也多了一點吧。想想蘇軾這一首詩的意境。

      那又何必太在乎點閱人氣呢?

      刪除
  2. 現在MCU一個核心都不是很好搞,很多人中斷和主程如何交換資料就出了不少招式。其實作業系統就是在管理這類問題,但RTOS想碰的人不多。
    再來是多核心又會引入多工管理,程序分支並行,又要檢查程序完成後合併,又是另一門學問。軟體規格又要如何分割成多工來加速?我想一般人想都不敢想。
    現代MCU又有另外一招,DMA+Event,就軟體設定好會自己從RAM中DMA到週邊裝置上,最常見的就是跑馬燈,將SPI通信用的LED串起來,DMA設成循環式,就會不斷的將三色資料送出,就看著LED色彩變動,MCU只要設定後就完全不用再去理會,這也算是現實世界的多工。

    個人是覺得MCU的驅動已經多到可以開一門專業科目。只是它不是被主流所重視。
    最近也找不太到書,只剩下網站,也些網站也都收了,只剩下大陸網站。

    可以做交流的地方越來越少。

    回覆刪除
  3. 對了,後來還出2D-DMA,會跳格去另一個位址再DMA。看來就直接將SPI當成是顯示幕來用,一行DMA完會跳下一行,到了一定次數後再從頭來。以前這種顯示資料吐出,為了配合硬體掃瞄率,還要用中斷控制好時間。現在全部都是硬體自己跑,完全不會閃爍。
    不過看不懂手冊的人也許還是用中斷,就覺得為何有人程式完全沒有在管理。人家用DMA,你用中斷。結果是一樣,但MCU的使用率不同。

    回覆刪除
  4. 想到2D-DMA的產品,電競用LED keyboard,有七彩背光,使用者可以設定背光的那種。整個keyboard的三色LED整個都是用一個通信埠串起來。MCU不用花執行力在背光LED控制,只要管RAM上放什麼顏色的資料。
    原先以為和版主以前介紹的MX512相關,結果不是,是用SPI整個串起來。MX512也許也可以。

    回覆刪除
  5. 關於所提到MCU 系統平台問題,我記得我十幾年前剛離開園區公司時,

    我們單位裡的其他產品線部門,在搞 Set-up Box 時,就在一直在討論:該整合

    uC-OS 、RTOS 或是 Linux 等,而爭論不休。我相信這種問題應該很常見。

    至今我相信應該有更多的作業平台延伸出來:他的底層可能還是這些作業系統,

    只不過,他們可能針對一些特定市場應用,會進一步的包裝一些專業領域的應用平台。

    像上回大家(應該就是你)所提到的 HMI (USART HMI) 那個東西,我相信也是這種東西。

    這些都是屬於系統應用面的東西,至於要移植到哪個MCU平台,那就每個主其事者對於產品需求吧。

    當然這些有時候也不用想太多,只要有人肯花錢現成的,那就有人也會賣你的。

    至於 MCU 原廠要不要贊助與支持這些市場?還是得看外面系統應用整合公司願不願意投資源搞啊。

    而MCU 在硬體方面要整合那些?我相信對這些MCU 廠來說都不太難啊。

    多幾個SPI/I2C/UART 或是 DMA (不管是Memory to SPI/I2C/UART 或是幫你包成 DMX512)

    這也都不是太難的事,我相信以現在半導體高階製程來說:多幾千個或幾萬個 Gate Count 也

    只不過是千分之幾或甚至萬分之幾而已吧。

    主要還是在於系統整合開發人員如何配合市場需求而定吧。反正只要有需求,

    這些基本介面(DMX512、DALI...) 網路上一大堆參考原始碼一堆,沒有硬體支援,

    用軟體(韌體)寫一個也都不成問題的。這些我想都不是我們這些資深工程師所擔心的事。
    ---
    至於國內所能參考的技術網站越來越少。這個問題從我跟之前雷兒電子電機版主(崇尚Powerbhy)

    聊過,要維持這樣子論壇網站真的不是一件簡單的事情,若沒有贊助廠商就真的更難了。

    所以大家就可以知道人家 Facebook、Youtuber 等怎麼活得下來了?

    既然大陸方面有,又現在全球網站這麼多,也真的不用很在意這件事了。

    不過我也發現:大陸有很多網站或網路上分享的東西其實很多也都是重複轉貼的,

    找到最後也搞不清楚誰是原創者...這也沒辦法,這就是他們的文化與習性,這也是他們自己以後

    要自己所面對的許多後續問題吧。那我們就做我們自己該做的事吧。

    另外你提到電競用LED Keyboard 只用一條控制線:那個就是 WS2812B 介面。

    我這幾年也搞過這些案子,我知道,硬體真的不難,但問題還是在於創意內容吧。

    就像你說寫幾篇文章或搞幾個直播影片難不難?也不難。但如果要你每隔幾天、幾個月或甚至

    一年一個大型主題等等。如何保持創意無限?文思泉湧?這才是真正最大的挑戰。

    所以啦,有時搞技術,這些東西就像一般的工匠所使用的工具平台。操作使用都不難,

    最難的還是如何不斷地雕琢出令人讚賞的作品,那才是能真正成為大師啊。

    不過,真的也不用太多,只要累積足夠的功力,那怕只有幾個傑出作品,也足夠傳頌千秋萬世啊。

    像貝多芬、米開蘭基羅等等...其實知名作品也就那幾個,但也足夠了。

    像我們以前在園區,只要有好機會,不用太多年或搞太多產品,

    其實也可以讓你有終身成就的感覺啊。不是嗎?

    回覆刪除
  6. http://www.greenarraychips.com/
    144核心MCU

    回覆刪除
    回覆
    1. 謝謝你的資訊。

      以我之前所接觸的多核心MCU 來看:主要只要具備MCU 核心的四項基本架構:

      Accumulator (累加器)、Flag (Carry、Zero、CY等等) 、Stack (堆疊) 與

      Program Counter(PC) 就可以成為一個基本MCU 了,接下來就是看你要共用記憶體

      (程式記憶體或資料記憶體都可以) 還是要分開? 共用的好處是可以縮小晶片體積,

      缺點就要考量BUS 衝突問題,如果指令可以確保 1T 也還好。就怕那一種MUL/DIV

      或是其他較複雜指令。(當然 1T MUL/DIV 也很容易,但就是邏輯閘大(Gate Count),

      成本啊。)接下來就是編譯與程式最佳化...這些如果要自樹一格也沒差。就看消費市場

      買不買單啊。因為主要還是程式撰寫者或工程師願不願意?或好不好入門學習?

      以我所接觸那個基本架構:你說要八核心、十六核心...六十四核心應該都不難啦。

      以64 MHz 來分時, 六十四核心的每一核都還可以跑到 1 MHz在許多基礎應用裡

      我認為都綽綽有餘。用韌體來編寫SPI/I2C 或UART 都嚇嚇叫的啦。

      只是這樣子的市場還是要看別人要不要買單?因為我離開團隊後,也有其他國內MCU 廠

      請我去上課說明,這些公司PM 聽完之後,覺得在技術上不難啊,主要疑問還是在於:

      這樣的東西要賣在哪一個市場應用啊?

      你說特殊應用市場啊。但沒量啊!

      有量的。那缺甚麼介面或運算子?我們也都可以刻一個或加一個給你啊。

      這個就成了現在市場銷售結果啊。市場要大不大的,餓不死,也搞不大啊。

      別人也懶得你,對啊,有人跟我說:人家在大陸也可以算是前十大知名MCU 廠啊。

      但你要想一下:甚麼是前十大MCU ?以8 bit MCU 架構來看,不就是 8051、

      PIC 、Atmel、外加台灣三、四家。要湊出十家還真的不知道怎麼湊?

      而且在一般市場排名就是那樣,前幾大就幾乎瓜分絕大多數市場的百分比了。

      剩下的就是幾% 市場意思一下,對啊。就是公司養幾個人,餓不死...

      好玩嗎?只有老闆好玩,因為公司也不大了,花一點薪水,維護這幾%市場客戶,

      老闆日子可以過得舒服,(其實他本來就可以退休過得很舒服了啦!)...

      其他的就看你們自己怎麼想了囉?

      刪除
    2. 沒有錯,多核心程式語言本身就是推展問題,一但和主流語言太不像,都不知要如何推廣。
      這個在nVidia在推展GPGPU的時候就發生過,後來用了類C語言才成功。
      但C語言本身原型就是單工,多核沒有API就很難用,破百核心還要工程師分配根本是整人。
      也因為如此Google才會重新做Go語言,Go用於網路上多電腦共同執行,總算解決自動分配核心的語言。一開始也難推,因為MCU沒有多核心。結果現在變成VM管理用語言,Go用在VM分配給網路使用者寫起來很方便,意外開啟多叢集管理用語言。

      電腦語言的發展和硬體及市場需求是相關的。MCU太像硬體,沒有好的電腦語言就難以推展。但看到新的硬體出現,還要看它是不是有好寫的電腦語言,才能評估它是否有市場發展性,再來就是市場需求能不能找到。

      刪除
    3. 我一直在觀察MCU上的直譯器發展,就是因為我對於電腦語言的應用會影響到產品是否可以推展,有比較深的體認。但我在寫下MCU上的直譯器應用後,面對部分人反應激烈,直指沒有應用地方。
      或許我看得太前面,但我知道這是一定會到的目標,只是提早準備好。
      再來就是觀察,看那裡有機會,看那裏有市場。

      刪除
    4. 我說過了:只要你覺得不會因此影響自己正常工作,而且還可以維持生計,

      怎麼做?怎麼搞?沒有人可以阻止你的。那就努力地向前。

      以我自己從技術看產品、看市場的經驗,有些東西我也很執著。

      但當我有機會去外面多接觸客人或應用市場之後,想法略有些改變。

      對啊,有好的先進技術,有好的核心價值,別人應該要好好的欣賞你,也應該

      義無反顧的支持你啊。...是的。但很不幸的是:這是台灣,是老中的社會。

      社會只喜歡錦上添花,不會雪中送炭的,尤其是科技領域或投資市場。這是現實的。

      對啊~沒關係,我可以慢慢地孵啊。是的~就像我那個多核心的老闆。

      他有錢,也有想法...他的技術來實現這個想法也沒有錯,他也有額外的錢或時間玩。

      但問題還是又回到市場與你無法掌控的資源問題,對啊~多核心搞出來啊。

      所以我相信業務可以好好發揮了啊。找來待過幾家MCU 廠的業務,應該是沒問題了啊。

      結果:人家就領薪水上班,你老闆要的是業績與績效收入。甚麼方法最快?

      當然就是找人幫忙寫CODE 兜方案啊,你有錢有閒,但別人不是啊...

      最後就淪為一樣的:單晶片、單核心...殺價競爭最快。這樣子來回一陣子之後,

      匆匆就又過了五年、十年的...你有聽說因為多核心架構優勢玩出甚麼驚人的市場創舉嗎?

      這都不是光光只是一兩個人的想法就夠了。而是真的如何落實團隊整體的戰力:

      包括了核心技術(這是我們一直相信的)、財務、市場行銷、企劃(包括著如何引進

      國際資源,如你所說的:一流的軟體編譯團隊、如何讓其他像你這般有直譯器應用

      想法的人如何在這些平台上去幫忙抬轎)...我覺得這些都是遠比自己關起門來搞還

      重要,而且是要很早階段就得考量的...

      是的~我是在講屁話、講幹話。

      沒錯,因為我們每個人的資源有限,能施展抱負的空間有限。

      所以呢... 當你回頭再看看、再想想:是啊,搞這些的確是自己心裡的夢想與理想。

      但是不是我們的方法與手段錯了?我常常說:技術看得遠,看得準沒有錯。

      這些內容說出來,真的沒有人可以反駁你,這已經不是說服自己或說服別人的問題了。

      而真的是如何落實執行的問題。...這些東西我自己走過,改天有機會我也會分享一下。
      ---
      最後,還是給予你正面的鼓勵與支持。既然是自己的信仰,那就堅持吧。

      也希望改天能從你這邊可以聽到屬於自己成就的好故事。加油吧。

      刪除