2016年8月25日 星期四

MCU軟體開發流程

Bee知道這是一個古老的題目。但現在開發流程和以前有佷大的不同!
Bee也將會釐清RTOS對專案進度的影響。這是和網友討論後,發現要說明的。

首先Bee在執行完專案後,粗估了一下原始碼來源,大約有70%不是Bee或公司人寫的,是外來的。
其中廠商驅動程式佔不到20%,超過50%是從網路抓來的,或由PC轉來的。

外來碼佔比很大,這是傳統MCU工師所無法理解的。但這招正是Bee快速開發的主因。
要統合如此大的程式碼,首先驗證是必須的。外來碼大部分是由PC執行來做驗證,再轉入MCU內使用。

這裏引發了網友很大的質疑,MCU程式碼無法和PC共用!
MCU結構和PC天差地遠,寫法大不同。這個Bee承認無誤,但Bee將MCU轉成和PC相似的程式環境,其中關鍵在使用RTOS。

PC軟體環境,退回到遠古時代,也只有DOS。它只是一個磁碟作業系統!如今的MCU能力並不比當時8086差,為何不能在MCU上建造相近環境?
要自己寫?別傻了,找別人的比較快,故Bee安裝了外來的RTOS。
然後PC程式中,有磁碟函式,例如file read/write等等,就使用SD卡及FatFs來補。於是磁碟系統也有了。
SD卡可以自由在PC及MCU中交換資料,因為格式相同,自然可以將PC上的程式往MCU上搬。

網路時代了,能利用開源就要利用。不管是在PC或在MCU上。若PC程式可以通MCU世界,可以引用的資源將會非常大。

不使用RTOS的人,會以沒有見過的程式就不能隨便用為由,繼續保持和PC世界的距離。
而對Bee來說,MCU和PC是互通的,有多少MCU的程式碼都是由PC做驗證,由MCU來執行。

網路時代,是軟體共同創作時代,已不是昔日單打獨鬥的時代了。

2016年8月19日 星期五

CPU,GPU再來的發展?

看到Intel去買ARM授權,這是好事。因為Intel已經認定無法以X86去追現在的市場。Intel將進行跳代的技術研發,不再做手機晶片。 那處理器仍是核心的Intel將轉成那一種處理器?

CPU,GPU基本上都沒有市場,而MCU低門檻無利潤。 再來的產業應會走機器人產業,無人機是已發展成功的機器人產業之一,必成為分析重點。 Bee認為再來Intel將分成二個產品線。

原CPU處理器將會專精發展伺服器應用,機器學習專用處理器會是一條路。
另一個就是買下ARM授權的方面,機器人相關應用。Bee認為會是Vision Processor Unit(VPU),視覺處理晶片。用於無人機及機器人上。
 VPU上現在無多少廠商,現在投入等機器人產業成熟就會大量使用。且VPU又要整合一些檢知能力,和intel 的RealSense想要發展方向一致。

有了VPU也許世界又會改觀。

2016年8月3日 星期三

使用手機產生研討會筆記

昨天上了ST舉辦的研討會。
當我拿出藍牙鍵盤時,就有人覺得很奇怪。其實這個我用手機做記錄的方法,個人使用倉頡輸入法,中打沒有鍵盤速度差很多。
手機則會打開Evernote及Office Lens二個軟體備用。
主要是使用Evernote做紀錄,這也是換了好幾次才定下來的軟體。

然後就聽講,打字,除了研討講義外,講師說的重點也都會一併記入。其實這些非講義上的往往才是重點。
因為中打很少選字,其實低頭時間不太多。至少這點比以前低頭抄寫紙本要來得有效率,且遺漏重點狀況也少很多。
有時會有額外的加頁時,就拿起手機照像,但個人使用Office Lens做自動裁邊並轉正。不會因為座位限定,圖像歪斜。
因為課程時間甚長,已有一堆人精神不濟,我則因為很忙碌,並沒有一起和別人一樣做白日夢。

一般來說上課時間所打的字已經超過報告所需,所以回去整理成Power Point的時間很短。等於課堂上已經將報告素材都轉成數位化,且九成可用。
整理時間一般在一小時就可以完成,而自己在整理報告時,等於又上了一次復習。
而報告整理主要只有排版及美化工作,沒有花費很大的負担。
最後週報告要報告給同仁聽,等同又再復習一次。
上過一次課程,整理出好報告,又報出豐富的內容,自己又增強課程吸收力,才沒有浪費上課外出的花費。

自從發現手機取代上課筆記後,上課程的吸收率比以前學校的吸收率強了不少。
也許個人上課的記錄方法才是真正自己的能力,以前受限於科技未達到,才無法發揮個人所長。
記得大學同學經常說我是課堂姜太公,幾乎每堂課都在釣魚(瞌睡)。
當姜太公的時代總算過去了。

2016年7月28日 星期四

無條件基本收入和共產主義的不同

個人在提出無條件基本收入時,第一個被人說的是:共產主義再現。
我所知的共產主義,主要是反對獨佔及特權,利用社會分配使資源利用得以最佳化。
也就是要做到資源最佳化,其實管理能力很吃重。整個國家如此大的數據都要管理,還真的不是人可以做的。
也許沒有大數據科技,共產主義還真的很難做到成功。
但這個和無條件基本收入沒有關係,無條件基本收入是一種經濟體,目標和共產主義並不相同。
有像只有,人民資料管理。但目的不同,共產主義是為了資源分配;無條件基本收入只是保障收得到錢,不會餓死。
在經濟上更不同,共產主義要消滅獨佔;無條件基本收入是保障生存才以國家佔有部分糧食生產,其他經濟並不去干涉。

也有部分資料在說明,如何實現無條件基本收入,例如增加消費稅。但這個只會造成物價上漲,對生產力是不良的影響。
個人認為無條件基本收入,主要是要消耗過量的生產力,將過產之生產力轉成保障生存的方法。
也就是若生產能力不足,就不合適實施。在現在進入生產力過大的時代且有大數據科技支持下,這樣的經濟體才能解決生產力過剩影響經濟力問題。
過早實施,我想下場真的會如同共產主義,得到失敗的經濟。
不同的經濟主義都有必需的時代條件,隨著人類科技的改變,而去改變合適的經濟體制才是合宜的。
只是現在資本主義已經無法再帶來更多的經濟力,顯然的是要換了。而無條件基本收入只是符合現在科技的經濟體解法。

或許每個人都有想要實現的理想主義,但要實施,真的要想好限制條件以及好壞影響。
沒有方法是最佳解,有的是限定條件下的最佳解。但在全面考量下,一般也只能找到破壞最小的解。


這只是一位專案工程師做產品多年來的心得。

2016年7月26日 星期二

為何自動化引發經濟萎縮

Pepper引入台灣,月薪26888元。算起來和請一位22K的員工月支出差不多。
但使用量越大,經濟不但無法成長,還會倒退,為何?

在上個世紀,生產能力就是代表經濟力,這點是沒有錯。進入21世紀,此公式無效,為何?
回到經濟學基本,經濟活動是基於生產:消費二者交易產生出來。
若是生產能力小於消費能力,經濟主要限制就在生產力身上,這就是20世紀以前的經濟法則。
但此法則到1980年就開始失效,原因在於生產能力已大於消費能力。但當時並沒有產生出任何徵狀,因為還有全球化經濟在走,經濟仍成長。
全球化經濟在2000年時到底,之後現象就出來了。以往政府的經濟政策開始失效,有國家還在做生產擴張,而導致國家級破產。
在近幾次經濟衰退中,各國家使用各式經濟手段在刺激經濟,其成效不如以往。比較有效的反而是刺激消費,像是發消費卷還比較有效。
已有許多現象在說明,增加生產能力無法增加經濟力。因為經濟的限制已經轉到另一側,也就是消費。

自動化會影響經濟,這並不是直接性影響,而是間接性影響。
自動化直接影響的是生產能力。其實生產能力之所以大於消費能力,也是自動化帶來的。
即然自動化將生產能力推到極限,經濟應是極大化,何來退化之說?
問題出在失業率。經濟學告訴我們,近代經濟的失業率,大約以2%失業率會產生1%的GDP下降。
就以Pepper引入為例,公司引入一台Pepper,差不多就是少一個低階員工需求。間接造成一個失業人口。
其他自動化機器也是,但因自動化程度不一,造成的不是直接一比一換算。
另外Pepper具生產能力(產生服務能力),但產生之消費很低。若Pepper每20台需求一個維護人員,也就是20台才產生一份消費。
但20台Pepper間接產生20個失業人口。以公司來看,生產力及支出並沒有下降。但從國家的角度來看,每台Pepper產生了19/20的失業人口。
失業人口的消費能力會縮減到基本生存所需,不會再擴大,失業人口越多,總體消費也會縮減,反應出來的,就是整體經濟退化。

其他自動化機器也一樣,自動化機器的核心就是電腦。
當我們生產的電腦/MCU越多,就代表自動化程度越高。不管是機械加工,或是資訊整理/計算,其實已經是離不開電腦了。
自動化程度只會不斷增加,間接其失業率也不斷增加。不幸的,自動化無法帶來太多的新職業,反而消減職業的速度更快。
這看來是一種惡性循環,除非我們轉成新的經濟模式。這也是"無條件基本收入"的背後推動主因。
但新經濟運作機制和現行經濟差異過大,有些還是反向而行,根本無法被人民接受。
短期內,只能看著經濟在扭曲的型式中運行。還是有太多人抱持生產力就等於經濟力的觀念在運作現代經濟。

2016年7月20日 星期三

CubeMX使用

正式使用CubeMX,在設定上很容易,通信也很好寫。FreeRTOS 變成內建,對電子工程師來說實在很方便,IO很快就可以產生所需信號。
但很多先進設備卻打不開來。加上HAL設定隔一層,實在不易追問題出在那。最後證明少了部分啟動。
不知是沒有做完,還是沒有說明。
看來一些高階設備,還是用傳統的方法做。

CubeMX真正的目的,是將MCU開發的目標轉成是軟體元件。這點和以前的DOS/Windows混合時代很像。
當時DOS程式工程師要寫很多暫存器動作程式。但在Windows時代,軟體元件才是開發的主要工作。
MCU設計,除了"效能"及"價格",現在能驅動多少裝置,能否很快使用也變成重點。
軟體元件除了附送原始碼,現已感到不足。因為太多電子工程師對軟體並不是很熟。
所以CubeMX成為中間的軟體元件整合,電子工程師不用再寫底層,拉元件就可以完成設定。
而RTOS也順勢進入,就算不懂,也很容易使用。
FatFs也是基本元件。
早期Bee說過RTOS+FatFs使MCU進入完整32位元世界並和PC程式互通。
這個願景在CubeMX中完整實現。
所以MCU工程師真正要做的是找出應用函式庫。而不需花時間做暫存器設定工作。
就如同DOS轉成Windows程式,這個趨勢是不可逆。

也如同過去時代一樣,有大量工程師轉不過來。沒有辦法,這是時代,沒跟上就是淘汰。

2016年7月11日 星期一

無條件基本收入第一步:全自動化農業政府

無條件基本收入為何無法實施?除了人的心理問題外,還有什麼條件未達成的?
查了維基"無條件基本收入"內容的條件為:
一、確保生存,允許人們參與社會
二、提供個人權益保障
三、無須任何條件即可獲得,自然也不排富
四、無對應的工作勞務付出
看來出在條件一上面。也就是發錢也不能保障到的話也是破功。
人的基本生存權,不外乎是吃及住二件事。
住的需求不比吃重要,所以首要解決吃飯問題。
以全國家來看,要所有人都有得吃,也就是糧食生產能力要大於人口,且不能私人擁有。
這個解法很簡單:全自動化國有農業生產。
全自動化農業,生產過程全自動化。目標在供應全國人口糧食。國家化經營。

再來是分配問題:這個需要身份證明。
先讓身份證有電子錢包功能。
每個月政府發薪水到身份證所在帳戶,然後人民再領錢買食物。

以國家來說,是有多發的薪水。
但會以國家產生之糧食回收多發的錢。
控制好發出的錢等於買回糧食的錢,淨效果等於沒有多發錢,所以不會影響現在經濟。

全自動化的原因是:科技需求,反正我們已是無法離開自動化,所以就直接推到底。
另外又可以解決人害怕自動化,直接看到自動化帶來的社會進步。