2018年11月16日 星期五

Emscripten試用及心得

本來是想多一個C的平台可以玩。但也是對IOT的預備。順便想一下有什麼題目可以玩。
架起來後,可以編譯C,但沒有好的目標可以執行。因為Chrome開起來怪怪的,只好先用Node.js執行。
然後就去找一下我心中想要做的應用:RTOS轉成javascript後在Browser上執行。
因為想要將MCU全系統拉去新平台做個模擬。
找著找著,發現人家已做完了....
因為這個題目我才放上line討論,就有人問這題目有用?
然後找到別人已做完,還Open Source。
這個大計劃很多人都不看好,為何已做完?
已做完,就是指下個階段已啟動,後面再分析。

完成品是 mbed OS 5 Simulator。
它有一個off-line版本,就是用emscripten所建造的。
on-line compiler不奇怪,但除錯還是要回MCU,個人試用率也不高。
所以我才會想說用emscripten做為利用C往PC走的路。
因為這樣就可以連上機器學習相關的程式,利用機器學習和MCU同時開發程式系統。
中間產品自然是MCU模擬器。
這樣說,有些人無法理解,換個方法說明。

有些C函式庫已存在很久了,但沒有進MCU內,主因是程式容量。但近來這個限制解除了。
所以open source的套件可以進入MCU內。
於是我就想將openCV這樣的函式庫移入MCU。
但openCV實在太大,一定要分解出來。這也是大工程。
另一個想法是,openCV在手機上,MCU仍做它的,只是MCU是輸出元件。
要放在一起寫又要分開平台,就是問題。
Emscripten有機會解決問題,可在PC上執行,又保有C可移回MCU。

然後看到mbed simulator開放off-line版本。
心想MCU最難的工作已做完,ARM差不多是IOT的領導人了。
因為MCU工程師就是不會AI,要MCU和機器學習放在一起,沒人知道要如何除錯。
IOT這個問題會卡住很久MCU工程師要花很多時間才能慢慢解。
現在工具出現,會用的必然前進的很快,其他MCU工程一定跟不上來。
所以會用simulator的工程師,可以很方便寫模擬的MCU,同時看機器學習是否可以放在伺服器上運用。
模擬過了,才轉回MCU上,看看實際執行的資料跑得是否順。
那其他MCU廠商不就被simulator給擠出IOT市場?這個答案是肯定的。

IOT時代的程式開發,一定是一種分散式系統。分散式系統難以除錯。
拉回PC上做模擬及開發是一定要走的路,問題是使用何種語言及工具。
現在看來都完備了。利用emscripten就可以連接MCU及網路世界。
在大家仍在各自想方法解決時,已有人端出套件來,看來規格必然會傾向出套件的廠商。
所以我才說下一步已經啟動了。

沒有留言:

張貼留言