• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于云計算的MCU應(yīng)用開發(fā)平臺

      2011-07-24 03:20:40何漢青
      關(guān)鍵詞:開發(fā)者瀏覽器嵌入式

      何漢青,李 寧

      (1.武漢理工大學(xué)網(wǎng)絡(luò)信息中心,湖北武漢430070;2.武漢理工大學(xué)計算機科學(xué)與技術(shù)學(xué)院,湖北武漢430070)

      云計算是一種新型的基于Internet的超級計算模式。云計算將共享的軟硬件資源和信息按需提供給用戶,允許用戶在不了解提供服務(wù)的技術(shù)、沒有相關(guān)知識以及設(shè)備操作能力的情況下,通過Internet獲取服務(wù)[1-2]。

      傳統(tǒng)的MCU開發(fā)一直使用專業(yè)的集成環(huán)境,通常與Internet沒有太多的聯(lián)系。近年來IC廠商推出新MCU的速度非常迅猛,開發(fā)者對新MCU進行開發(fā)時,需從Internet中獲得相關(guān)信息。若能將云計算引入到MCU開發(fā)工具中,將用戶所需要的知識自動地推到用戶面前[3-6],將大大加快MCU應(yīng)用開發(fā)的進度。在分析傳統(tǒng)MCU開發(fā)工具缺陷的基礎(chǔ)上,介紹了筆者開發(fā)的基于云計算的MCU應(yīng)用開發(fā)平臺Coocox Tools。

      1 傳統(tǒng)MCU應(yīng)用開發(fā)工具的缺陷

      1.1 大量時間用于資料的整理和甄別

      在MCU應(yīng)用開發(fā)之前,工程師通常需要進行選型工作,包括MCU、外圍IC、開發(fā)工具和技術(shù)支持等。開發(fā)過程中也需要大量相關(guān)的資料,如各種數(shù)據(jù)手冊、電路圖、例程和應(yīng)用筆記等。這些資料通常從IC廠商的網(wǎng)站和一些專業(yè)網(wǎng)站中獲得,有些可信,有些則需要進行甄別。另外,工程師還需從大量資料中找到自己所關(guān)注的部分。資料的收集、整理和甄別通常要花費大量的時間,傳統(tǒng)的MCU開發(fā)工具不能為工程師提供相關(guān)的幫助。

      1.2 孤立的工程師

      完成MCU應(yīng)用開發(fā)都不會是一個大的團隊,多數(shù)情況下只有幾個工程師,甚至只有一個工程師。在遇到問題的時候,通常是通過論壇、郵件組來與使用同樣MCU的工程師進行交流,但這種交流往往是不及時的。

      1.3 無法徹底關(guān)注業(yè)務(wù)層開發(fā)

      MCU應(yīng)用開發(fā)通常包含硬件設(shè)計和軟件設(shè)計兩部分,其中軟件設(shè)計包含底層驅(qū)動設(shè)計、操作系統(tǒng)移植、算法移植與優(yōu)化和應(yīng)用層設(shè)計。對于MCU應(yīng)用而言,最能體現(xiàn)產(chǎn)品特質(zhì)和性能的是應(yīng)用層設(shè)計,但工程師大量的工作都集中在底層驅(qū)動設(shè)計、操作系統(tǒng)及算法的移植上,無法專注于應(yīng)用業(yè)務(wù)層的軟件開發(fā)和優(yōu)化。

      由于目前市場要求MCU應(yīng)用產(chǎn)品的開發(fā)周期越來越短,以上這些問題的存在使得工程師使用傳統(tǒng)工具很難在有限開發(fā)時間內(nèi)保證產(chǎn)品的質(zhì)量,產(chǎn)品特質(zhì)亦不容易體現(xiàn),甚至難于完成開發(fā)任務(wù)。

      2 云計算帶來的信息整理方式變化

      如何從Internet的海量信息中抽取出對用戶有價值的信息,并整理為其所需要的格式成為網(wǎng)絡(luò)及數(shù)據(jù)挖掘領(lǐng)域研究的重要問題。Internet上信息整理方式大致有以下幾類。

      (1)分類目錄搜索。網(wǎng)站通過人工審核編輯信息,將其放入數(shù)據(jù)庫中。使用者根據(jù)分類在網(wǎng)站上查找所需信息,典型的是Yahoo。這種方式,分類清晰,但有時很難找到某些專門知識。

      (2)全文搜索。通過搜索軟件在Internet上所有網(wǎng)站搜索信息,然后按照一定規(guī)律建立一個很大的在線數(shù)據(jù)庫供用戶查詢。用戶只要輸入關(guān)鍵詞,就可以在已建立的索引數(shù)據(jù)庫中查詢[7-8],典型的是Google。

      (3)Wiki。每個人都可以通過編輯頁面對自己關(guān)注的詞條進行創(chuàng)建、編輯、修改和討論,就像公共白板。Wiki依靠集體的力量,開創(chuàng)了一種借助互聯(lián)網(wǎng)創(chuàng)建、積累、完善和分享知識的全新模式。具有共同興趣的人可以很快將相關(guān)領(lǐng)域的知識整理得非常完善,甚至可以創(chuàng)造出許多新的知識。Wiki上的信息通常專業(yè)而且準確。

      (4)開放互動式知識問答分享平臺,眾多用戶自行提問與提供解答,借助眾人的經(jīng)驗與專長,在問與答的討論之間,幫使用者找到滿意的答案。典型的有Yahoo Answers。這種方式采取有針對性的提問,可以獲得非常及時而且專業(yè)的幫助。

      從以上信息整理方式來看,如何整理知識將是Internet發(fā)展過程中一直努力的方向。云計算時代的到來,提出了軟件即服務(wù)的概念,云軟件打破以往大廠壟斷的局面,所有人都可以在上面自由揮灑創(chuàng)意,提供各式各樣的軟件服務(wù)。云計算將充分利用上述各種信息整理方式,利用集體智慧產(chǎn)生更多的有效信息[9-10]。如果在嵌入式開發(fā)工具中引入云計算,會給嵌入式開發(fā)帶來完全不同的新體驗。

      3 基于云計算的MCU開發(fā)

      基于云計算的MCU開發(fā)工具是一個云軟件,它可以像用水、用電一樣隨時使用網(wǎng)絡(luò)中的有效信息。當用戶對某款MCU進行應(yīng)用開發(fā)時,相關(guān)知識(數(shù)據(jù)手冊、例程、算法和電路圖等)應(yīng)被推到開發(fā)者面前。同時,用戶也可以將自己的相關(guān)知識與其他使用同樣MCU的開發(fā)者分享。理想的基于云計算的MCU開發(fā)工具,對于用戶而言只需要一個瀏覽器,如圖1所示。編輯、編譯、存儲、項目管理和資料管理等均在云端完成,用戶只要使用任意一個帶有瀏覽器并可訪問Internet的設(shè)備,就可以隨時隨地進行開發(fā)。ARM公司推出的快速原型驗證工具mbed就是一個這樣的平臺,如圖2所示,用戶只要有一個簡易的驗證平臺,訪問embed.org網(wǎng)站就可以在瀏覽器上完成編輯、編譯和項目管理,并可與其他用戶交流。不過,mbed只是一個快速原型的驗證平臺,不具備完整的嵌入式開發(fā)工具鏈的功能。筆者所在團隊開發(fā)了一套完整的基于云計算的MCU開發(fā)工具鏈Coocox Tools。

      圖1 基于瀏覽器的嵌入式系統(tǒng)開發(fā)

      圖2 快速原型開發(fā)平臺mbed

      4 Coocox Tools

      4.1 Coocox Tools的總體結(jié)構(gòu)

      Coocox Tools的總體架構(gòu)如圖3所示,對于MCU開發(fā)者而言,Coocox Tools包含 CoIDE、CoFlash、CoAssistant、CoLinkEx、CoOS 和 CoCenter。Coocox Tools可以在 www.coocox.org網(wǎng)站免費下載,Coocox Tools的總體結(jié)構(gòu)如圖3所示。

      圖3 Coocox Tools的總體結(jié)構(gòu)

      4.2 CoIDE

      CoIDE是 Coocox Tools的核心,與傳統(tǒng) IDE不同之處在于:其編程方式是基于組件的,而其中的組件、例程和幫助均可通過網(wǎng)絡(luò)自動更新和交互。CoIDE的編輯界面如圖4所示,它有4個與其他IDE不同的窗口:組件窗口、組件樹窗口、例程窗口和幫助窗口。

      圖4 CoIDE編輯界面

      (1)組件窗口。組件是一組相對獨立的代碼、外設(shè)的驅(qū)動程序和一些算法,操作系統(tǒng)也可以是組件。用戶選擇某款MCU后,該MCU可用的組件將列在組件窗口中,用戶只需勾選,即可將相應(yīng)的代碼自動加入工程中。如果有足夠多的組件,則只需勾選組件即可完成除應(yīng)用層之外的所有軟件開發(fā)工作。組件窗口是一個瀏覽器窗口,任何用戶都可按照Coocox組件標準上傳自己的組件,與其他用戶分享。開發(fā)者在使用其他用戶提供的組件時,可以對組件進行評價、打分,組件窗口可按分值對組件排名。

      (2)組件樹窗口。用戶在組件窗口勾選組件之后,被勾選的組件以樹的形式組織在組件樹窗口中,組件樹和工程樹是完全對應(yīng)的。在組件樹中選中某個組件時,工程樹中對應(yīng)的文件會高亮,且在例程窗口中也會自動顯示該組件的例子。

      (3)例程窗口。在組件樹窗口中選中某組件時,相關(guān)例子將羅列在例程窗口中,用戶可以參考,也可將該例子代碼添加到工程中。與組件窗口一樣,例程窗口也是一個瀏覽器,任何用戶都可上傳自己的例子與其他用戶分享,也可評價其他用戶提供的例子。

      (4)幫助窗口。幫助窗口根據(jù)用戶焦點的變化提供各種相關(guān)信息。選擇處理器時,可以提供處理器基本信息、數(shù)據(jù)手冊;勾選組件時,可以提供組件的API信息;查看例程時,提供例程的原理圖及所對應(yīng)評估板的信息。

      在未來,CoIDE將會是一個基于Web的IDE,用戶只需用瀏覽器訪問Coocox網(wǎng)站即可使用。如圖5所示,CoIDE將不僅是一個IDE,還是一個MCU開發(fā)者交流開發(fā)信息及知識的網(wǎng)絡(luò)平臺。

      4.3 CoFlash

      圖5 基于云計算的IDE

      CoFlash是一個免費的Flash編程工具,提供圖形和命令兩種編程方式。與其他Flash燒寫工具的不同之處是:CoFlash允許用戶自定義燒寫算法,并將自己新增的燒寫算法上傳與其他用戶分享,也可對其他用戶提供的算法做評價。

      4.4 CoAssistant

      CoAssistant是一個在線編程輔助工具,只要訪問 http://www.coocox.com:8080/coassistant_en/rap即可。選擇某款MCU后,其寄存器的細節(jié)信息將直觀地呈現(xiàn)在用戶面前,如圖6所示。無需查閱處理器技術(shù)手冊,即可輕松實現(xiàn)對相關(guān)外設(shè)的配置。用戶還可以通過加評論,將自己使用某個外設(shè)或某個寄存器的心得與其他用戶分享。

      圖6 CoAssistant查看界面

      4.5 CoLinkEx

      CoLinkEx是一個免費、開源的ICE方案,支持JTAG和SWD調(diào)試接口,適用于各種Cortex-M0和Cortex-M3處理器。除了可用于Coocox Tools之外,還支持傳統(tǒng)工具MDK和IAR。

      4.6 CoOS

      CoOS是一個免費和開源的 RTOS,特別為Cortex-M處理器設(shè)計,支持時間片輪詢和優(yōu)先級搶占兩種任務(wù)切換方式;支持信號量、郵箱、隊列、事件標志、互斥體等多種進程同步機制;具有高度可裁剪性,最小內(nèi)核僅974字節(jié);任務(wù)切換時允許中斷;支持堆棧溢出檢測;支持多種編譯器,如 ICCARM、ARMCC、GCC。在 CoIDE 中,CoOS也是一個組件,通過勾選即可將CoOS源碼加入到自己的工程中,用戶修改OS_Config.h文件中的任務(wù)數(shù)、堆棧和系統(tǒng)時鐘頻率等相關(guān)配置后即可實現(xiàn)移植。

      4.7 CoCenter

      CoCenter是一個Coocox用戶的中心,提供用戶注冊、軟件下載及更新等功能。在未來,Coocox還將提供一個專用的即時通信工具,使用同一處理器的開發(fā)者將自動被分配到同一個組中,這些用戶可在線進行實時交流。

      5 結(jié)論

      Coocox Tools的目的是建立一個嵌入式開發(fā)者社會網(wǎng)絡(luò)平臺,這種基于云計算的嵌入式開發(fā)平臺與傳統(tǒng)嵌入式開發(fā)工具的不同在于:

      (1)根據(jù)開發(fā)者的需求,將開發(fā)所需的各種信息和知識整理好;用戶選擇所使用處理器后,這些相關(guān)信息就會被推給用戶,節(jié)省了大量的開發(fā)時間。

      (2)開發(fā)者不再是孤獨的,及時的在線交流可以縮短開發(fā)者解決問題的時間。

      (3)利用集體的智慧來整理信息,可以較快提取出有效的知識進行共享。

      在未來,云計算的嵌入式開發(fā)平臺不僅是開發(fā)者之間的信息交流平臺,還應(yīng)該是開發(fā)者之間的交易平臺,用戶可以相互交易代碼和服務(wù),也可以成為廠商與開發(fā)者的信息交流平臺。

      [1]DANIELSON K.Distinguishing cloud computing from

      utility computing[EB/OL].[2011 - 02 - 23].http://www.ebizq.net/blogs/saasweek/2008/03/distinguishing_cloud_computing/.

      [2]SIMSK.IBM introduces ready-to-use cloud computing:collaboration services get clients started with cloud computing[EB/OL].[2011 - 02 - 23].http://www-03.ibm.com/press/us/en/pressrelease/22613.

      [3]ERICK,GALEN G.What cloud computing reallymeans[EB/OL].[2011 -02 - 23].http://www.infoworld.com/d/cloud-computing/what-cloud-computingreally-means-031.

      [4]BOSSG,MALLADIP,QUAN D,et al.Cloud computing[EB/OL].[2011 - 02 - 23].http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/hipods/Cloud_computing_wp_final_8Oct.pdf.

      [5]陳康,鄭緯民.云計算:系統(tǒng)實例與研究現(xiàn)狀[J].軟件學(xué)報,2009,20(5):1337 -1348.

      [6]李寧,宋薇,周薇.嵌入式開發(fā)工具發(fā)展趨勢[J].單片機與嵌入式系統(tǒng)應(yīng)用,2008(5):5-8.

      [7]BARROSO L A,DEAN J,HOLZLE U.Web search for a planet:the Google cluster architecture[J].IEEE Micro,2003,23(2):22 -28.

      [8]GHEMAWAT S,GOBIOFF H,LEUNG ST.The Google file system[C]//Proceedings of the 19th ACM Sympposium on Operating Systems Principles.New York:ACM Press,2003:29 -43.

      [9]CHANG F,DEAN J,GHEMAWAT S,et al.Bigtable:a distributed storage system for structured data[C]//Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation.Seattle:WA,2006:205-218.

      [10]DEAN J,GHEMAWAT S.Distributed programming with mapreduce[M].Sebastopol:O 'Reilly Media Inc,2007:371 -384.

      猜你喜歡
      開發(fā)者瀏覽器嵌入式
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      搭建基于Qt的嵌入式開發(fā)平臺
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      16%游戲開發(fā)者看好VR
      CHIP新電腦(2016年3期)2016-03-10 13:06:42
      環(huán)球瀏覽器
      再見,那些年我們嘲笑過的IE瀏覽器
      iOS開發(fā)者調(diào)查
      電腦迷(2015年8期)2015-05-30 12:27:10
      iOS開發(fā)者調(diào)查
      電腦迷(2015年4期)2015-05-30 05:24:09
      Altera加入嵌入式視覺聯(lián)盟
      倍福 CX8091嵌入式控制器
      自動化博覽(2014年4期)2014-02-28 22:31:15
      沙雅县| 扶风县| 滁州市| 辉南县| 庄河市| 湖口县| 安福县| 长沙县| 太湖县| 舞钢市| 凭祥市| 江孜县| 乌什县| 马关县| 巫山县| 临湘市| 长宁县| 韶关市| 博罗县| 高唐县| 松原市| 永善县| 资兴市| 金山区| 镇原县| 施甸县| 巴林左旗| 祁连县| 东兴市| 建德市| 道真| 浏阳市| 昔阳县| 马龙县| 东宁县| 马鞍山市| 台中县| 莲花县| 夹江县| 时尚| 法库县|