可口的Cookie

偶然聽朋友說,某公司推出一款叫做Cookie的產品,還不錯,可以關注下,就去Cookie官網打瓶醬油。暫時不說這款基於Cortex-M內核的Cookie開發板怎麼樣,單從Coocox公司的產品線佈局,不得不佩服公司敏銳的市場洞察力,另外,Coocox的開源精神也是國內所缺乏的。

ARM公司在ARMv7後,開始採用新的產品名稱,分爲3個系列:

  1. Cortex-A系列處理器適用於具有高計算要求、運行豐富操作系統以及提供交互媒體和圖形體驗的應用領域。
  2. Cortex-R 實時處理器爲具有嚴格的實時響應限制的深層嵌入式系統提供高性能計算解決方案。
  3. Cortex-M 系列控制器針對成本和功耗敏感的 MCU 和終端應用(如智能測量、人機接口設備、汽車和工業控制系統、大型家用電器、消費性產品和醫療器械)的混合信號設備進行過優化。

    在中低端應用市場中,Cortex-M系列芯片用的最多,正如ARM公司所說:“ARM Cortex-M 處理器是全球微控制器標準

    Cortex-M問世後,各大芯片廠商(TISTFreescaleNXPATMEL)分別推出了自己的基於Cortex-M內核的產品,其中以Cortex-M3內核芯片爲甚,比如國內市場上最火的STM32系列。後來,ARM公司爲了滿足微控制器的低功耗應用市場需求,裁剪了M3的部分特性,精簡指令,推出M0內核,這直接威脅到傳統8位和16位機的生存空間。另外,同爲Cortex-M系列的M4,則擁有內置浮點運算單元和DSP組件,使其更適合需要有效且易於使用的控制和信號處理功能混合的數字信號控制市場。

    Cortex-M的出現,致使微控制器市場重新洗牌,現在的情況是:Cortex-M芯片的市場售價非常低廉,甚至能與傳統的8位機相抗衡的地步:比如高端的AVR mega128 單片機,市場價在40元左右,這個價格能買到更遠比AVR mega128強大的Cortex-M芯片,同時Cortex-M芯片帶來的創新也能極大的減少開發人員的勞動強度,比如強大的調試系統,完全採用C語言編程。另外,M0內核芯片主打傳統8051和ARM7/9中間空白區域的那塊市場,取代8051只是時間問題。

由此看,Cortex-M內核統一了原來各大芯片廠商獨有的32位架構,覆蓋了中低端MCU市場。Cortex-M即將成爲了微控制器的事實標準。

此後ARM公司及時推出了CMSIS(CortexMicroControl Software Interface Standard)來統一編程模型,向開發者提供一致API編程接口。需要注意的是:ARM並沒有統一外設,因爲ARM公司打造的是一個健康的生態圈,要想生態圈可持續發展,就要給其它廠商生存的空間。因爲各大芯片廠商在獲得ARM公司授權後,在原有Cortex-M內核基礎上,添加自己獨有的功能,生產各種獨具特色的芯片,來滿足不同應用市場。芯片廠商就是靠外設差異化來生存的。如果ARM統一了外設標準,各個芯片廠商造出的芯片一模一樣,它們就沒什麼競爭力了,自然也沒有了生存空間,廠商沒了生存空間,ARM自然也長久不了。

         對於我們芯片開發者來說,因爲有了統一的內核編程模型,所以我們可以編寫的內核代碼,不用做任何更改,便可移植到另外一種Cortex-M芯片上,這減輕了我們的負擔。但是對於各個芯片的外設,還是要單獨編程,沒有可移植性而言,比如:在某個項目中,需要使用LPC的PWM模塊來控制舵機,我們不得不先查Reference Manual,然後配置時鐘,設置週期,模式,配置佔空比;這個項目做完後,開始了下一個項目,也是用PWM模塊來控制舵機,但是這次使用的是TI的芯片,額,我們又要重複一遍LPC上面的過程,配置時鐘,設置週期,模式,配置佔空比,這個項目做了一個月,終於結束了;然而,下一個項目又是用PWM控制直流電機,但是因爲價格因素,採用了STM32芯片,用控制佔空比來決定電機轉速。估計要崩潰了,其實吧,從功能層面來講,不同芯片的PWM主要功能都是一樣的,不同的是:1:具有PWM的某些特殊功能。2:寄存器設置不同。

         其實,回顧計算機歷史,我們會發現某些相似的現象,比如C和彙編,彙編是不可移植的,依賴於特定平臺,編寫的彙編代碼不具備可移植性,原有代碼不能重用,這就極大的加重了工程師的負擔,後來,爲了簡化編程,出現了C,這樣,編譯器就代替了我們的工作,將可移植性的C代碼生成不可移植的彙編代碼。我們採用可移植性的C語言後,就提升了抽象層次,不再考慮具體而微的彙編執行級代碼,而是側重於邏輯層。

現在回到外設的差異性問題,我們也不得不思考,有沒有會有一種產品能解決這個問題,扮演像編譯器那樣的角色。OK,世界上總是不乏聰明人,精明公司,比如Coocox,說Coocox戰略眼光獨到,就是因爲Coocox看準了兩點:

1:Cortex-M會主導MCU市場。

2:內核統一了接口,但外設接口標準還沒有統一,這裏存在個真空地帶。

Coocox據此推出了CoX軟件接口標準,打算藉此統一外設,同時推出了各種嵌入式開發工具,比如CoIDECoFlashColinkEx等,看來Coocox是想控制整個工具鏈。具體Coocox的各個組件作用,這裏不做解釋了,感興趣的,可以去官網看下。

ok,現在回到Cookie的話題,按照官網的介紹,Cookie是開源項目,面向廣大電子愛好者,軟硬件都開源。感覺和最近很火的arduino和Raspberry Pi模式很像,仔細分析Arduino,CookieRaspberryPi,會發現三者無論是開源精神,目標市場,受衆人羣,都非常相似,但是三者組合起來後,便完美的覆蓋了整個MCU市場。

首先說下Arduino。    

         Arduino的起源很有意思。據說Massimo Banzi在一家高科技設計學校老師時,聽到學生們經常抱怨找不到便宜好用的微控制器。 Massimo Banzi也是個很負責的老師,於是他找到了西班牙籍晶片工程師DavidCuartielles討論了這個問題,最後兩人決定設計自己的電路板,並讓Banzi的學生David Mellis爲電路板設計編程語言。三個牛人在一塊兒,效率自然出奇的高,兩天以後,David Mellis就寫出了代碼,又過了三天,電路板就完工了。這塊電路板被命名爲Arduino。幾乎任何人,即使不懂電腦編程,也能用Arduino做出很酷很炫的,好玩的東西。隨後Banzi,Cuartielles,和Mellis把設計圖放到了網上。保持設計的開源的理念,因爲版權法可以監管開源軟體,卻很難用在硬體上,他們決定採用Creative Commons許可。 Creative Commons(CC)是爲保護開放版權行爲而出現的類似GPL的一種許可(license)。在Creative Commons許可下,任何人都被允許生產電路板的複製品,還能重新設計,甚至銷售原設計的複製品。你不需要付版稅,甚至不用取得Arduino團隊的許可。然而,如果你重新發布了引用設計,你必須說明原始Arduino團隊的貢獻。如果你調整或改動了電路板,你的最新設計必須使用相同或類似的 Creative Commons許可。

         電子愛好者,向來喜歡開源的作品,所以Arduino一推出,立即受到大家的歡迎,在全球火了起來,並帶動更多的人來玩這個toy。國內也有很多的Arduino愛好者社區,每個人將自己基於Arduino做的很酷的東西,分享給大家。慢慢的,Arduino積累了很多的兼容模塊,基於這些模塊,愛好者可以做出非常更多的toy,這是個良性發展的過程。

         但是,現在隨着電子行業的發展,用戶體驗得到前所未有的重視,比如觸摸屏,圖像處理等,這就對芯片性能提出了更高的要求,同時軟件的複雜度成倍增加。因爲Arduino基於最低端的AVR芯片,8位機,主頻8/16MHz,性能上漸漸不能滿足要求了,同時缺乏強有力的調試手段,在面對複雜軟件時,難以調試,如果你玩過8051,相信對軟件調試方面,有很深刻的體會。另外一方面呢,芯片的價格變得很低,現在某些Cortex-M32位芯片的價格,能和傳統8位機相抗衡,這樣,就凸顯了32位的極高的性價比,爲Arduino升級芯片是必然趨勢。

提到Arduino,就不得不提到最近很火的Raspberry Pi(國內稱之爲:樹莓)。

無獨有偶,Raspberry Pi也是一位老師發明的,劍橋大學的Eben Upton和他計算機實驗室的同事發現,最近幾年招收的高材生,在編程方面很弱,遠遠比不上前幾年的學生水平,是什麼原因導致了這些學生缺乏編程能力呢,後來Eben upton發現,最近幾年,遊戲和娛樂應用極大的發展,導致這些學生開電腦的第一件事便是玩遊戲,而不像他們那些人上學時,打開電腦就是敲hello world代碼。看到了吧,劍橋老師就是這麼敬業,如果你想成爲劍橋的老師,打開電腦敲hello world吧 ^_^

        後來,這幾個老師動手做了個便於編程的微型計算機,打算給計算機專業學生使用,後來發現,隨着手機芯片的發展,媒體應用變得越來越重要,比如聽音樂,上網等等,在某些經濟不發達的地區,還未普及計算機,很多人用不起昂貴的PC,這樣,Eben upton, Rob, Jackand Alan, 聯合其它公司的CEO成立RaspberryPi慈善基金,打算造些更便宜的計算機讓每個人都有機會使用計算機。比爾蓋茨曾有一個夢想:讓每個人都有自己的電腦。現在看來,實現這個夢想的可能不是微軟(Microsoft),而是Raspberry Pi 慈善基金。 

樹莓在發佈後的第一天,便銷售一空,足見其受歡迎程度。如果你也打算買一個玩玩,可以在e-絡盟訂購,e-絡盟是PremierFarnell的中國子公司,目前 Premier Farnell 和 RS Electronics是Raspberry Pi 的唯一全球代理。關於Raspberry Pi的詳細介紹,可以訪問其官網http://www.raspberrypi.org/

         現在從技術角度來看Raspberry Pi,它採用更高級的手機芯片ARM11,主頻700MHz,採用linux系統,現在支持Android 4.0系統,性價比很高的toy,但是學習難度也是非常高的,如果你沒接觸過linux,ARM11,想玩轉Raspberry Pi簡直是徒步登天。不過,估計劍橋大學的學生有這水平,對於咱們智商一般的愛好者來說,還是一步一步學習,逐漸進階,這個比較靠譜點。假設你玩過Arduino,想玩Raspberry Pi,三思啊,先考慮下你有沒有那個能力,再做決定。

        這中間的學習空白地帶,由誰來填補呢,當然是Cookie。從芯片性能上來說,Cortex-M系列芯片高於8位機,但比ARM11性能弱。在上手難易程度上,Cookie也是介於Arduino和RaspberryPi之間,Arduino是玩具級,Raspberry Pi是系統級,而Cookie系統規模介於二者之間,完全處於可控範圍內。

         另外,Cookie的接口完全兼容Arduino板,這樣,原來在Arduino上使用的模塊板,完全不用更換,可以直接拿到Cookie上使用。

Cookie另外的優勢是:可以充分利用Coocox公司的各種開源工具。

比如組件平臺,一個類似apple store的地方,專門爲開發者提供的組件平臺。在傳統的Arduino社區,電子愛好者也樂於分享組件代碼,硬件模塊,但是它們是分散的,基於各個論壇的,沒有個全球統一的平臺,不便於統一管理,現在Coocox實現了這個平臺,愛好者可以將自己的驅動代碼,組件和很酷的東西,實時分享給全球的愛好者。

比如CoX接口,愛好者可以藉助於這個接口來開發各種驅動,這樣,其它人就可以直接拿來使用你開發的驅動直接使用了。關於CoX的好處,前面介紹過了,這裏不再詳細說明。

總之,Cookie是一個很不錯的硬件平臺,有許多潛力等待你去深度發掘;Coocox的決策層也有非常敏銳的市場洞察力,未來這個公司的走向如何,值得關注。

         Cookie已上桌,歡迎品嚐。

發佈了27 篇原創文章 · 獲贊 9 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章