<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 協(xié)同開發(fā)模式在磁場(chǎng)檢測(cè)儀開發(fā)中的應(yīng)用

          協(xié)同開發(fā)模式在磁場(chǎng)檢測(cè)儀開發(fā)中的應(yīng)用

          作者: 時(shí)間:2012-11-07 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:針對(duì)磁場(chǎng)檢測(cè)儀需要眾多軟硬件開發(fā)人員的問題,引入項(xiàng)目管理平臺(tái)進(jìn)行項(xiàng)目開發(fā)的協(xié)同管理。采用實(shí)現(xiàn)下位機(jī)硬件和嵌入式軟件的并行開發(fā),引入嵌入式系統(tǒng)和版本管理器對(duì)嵌入式軟件各模塊進(jìn)行。采用Bus Hound實(shí)現(xiàn)上位機(jī)和下位機(jī)軟件的并行開發(fā)。最終,該模式的引入使得本項(xiàng)目開發(fā)用時(shí)比原計(jì)劃用時(shí)減少25%,同時(shí)項(xiàng)目質(zhì)量也有提高。
          關(guān)鍵詞:;;;;協(xié)同開發(fā)

          引言
          隨著電子產(chǎn)品功能日益增多、性能日益增強(qiáng),低成本32位微處理器、多層PCB板被廣泛應(yīng)用,軟件和開發(fā)團(tuán)隊(duì)的規(guī)模隨之?dāng)U大,同時(shí)開發(fā)周期呈指數(shù)增長(zhǎng)。因此,以往的開發(fā)方式越來(lái)越不適應(yīng)項(xiàng)目開發(fā)的需要。目前,國(guó)內(nèi)磁場(chǎng)檢測(cè)儀器主要集中應(yīng)用在工業(yè)用低頻強(qiáng)磁場(chǎng)和通信用的高頻弱磁場(chǎng)測(cè)量上,而中頻強(qiáng)磁場(chǎng)測(cè)量仍是磁場(chǎng)測(cè)量領(lǐng)域的一個(gè)難題?;?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/嵌入式操作系統(tǒng)">嵌入式操作系統(tǒng)的中頻強(qiáng)磁場(chǎng)的測(cè)量系統(tǒng)開發(fā)中,涉及到高速硬件電路設(shè)計(jì)、多層PCB板布線、32位微處理器編程、上位機(jī)軟件編程等多項(xiàng)工作,因此,需要眾多開發(fā)人員協(xié)同開發(fā)。
          通過(guò)長(zhǎng)期的實(shí)踐發(fā)現(xiàn),在項(xiàng)目開發(fā)中引入開源項(xiàng)目管理平臺(tái)、μC/OS-II、仿真軟件和調(diào)試軟件Bus Hou nd,能夠有效地提升整個(gè)項(xiàng)目的協(xié)同開發(fā)能力和管理水平。采用協(xié)同開發(fā)管理模式,可以達(dá)到以下4方面的顯著效果:提高嵌入式軟件和硬件之間的協(xié)同開發(fā)效率;提高嵌入式軟件各模塊間的開發(fā)效率和開發(fā)質(zhì)量;提高上位機(jī)和下位機(jī)軟件的開發(fā)效率和開發(fā)質(zhì)量;有效提高整個(gè)項(xiàng)目協(xié)同開發(fā)的管理水平。

          1 磁場(chǎng)檢測(cè)儀開發(fā)管理平臺(tái)
          項(xiàng)目管理的好壞關(guān)系到項(xiàng)目開發(fā)質(zhì)量的高低,同時(shí),對(duì)開發(fā)效率和開發(fā)質(zhì)量也將產(chǎn)生重大的影響。目前市場(chǎng)上,基于Web的開源項(xiàng)目管理軟件已經(jīng)發(fā)展得很成熟,此類軟件在高校的教學(xué)和研究,以及中小企業(yè)的項(xiàng)目開發(fā)管理中,都得到了廣泛的應(yīng)用。
          現(xiàn)階段,在磁場(chǎng)檢測(cè)系統(tǒng)項(xiàng)目開發(fā)中,由于軟硬件的開發(fā)復(fù)雜,開發(fā)人員眾多且開發(fā)人員存在著開發(fā)能力參差不齊、流動(dòng)性大等特點(diǎn),加上項(xiàng)目的開發(fā)時(shí)間跨度大等原因,使得項(xiàng)目管理變得十分困難。經(jīng)過(guò)筆者應(yīng)用分析,從軟件的成熟度、穩(wěn)定性、流行性、社區(qū)發(fā)展情況,以及安裝配置的簡(jiǎn)易性這幾方面進(jìn)行詳細(xì)的分析比較,最終在Launchpad、Redmine和Trac這3個(gè)軟件中,選擇了Redmine。
          在磁場(chǎng)檢測(cè)系統(tǒng)的項(xiàng)目管理平臺(tái)搭建中,首先,利用BitNami Redmine Stack提供的一鍵式安裝包,安裝好Redmine平臺(tái),然后把中頻磁場(chǎng)檢測(cè)系統(tǒng)開發(fā)團(tuán)隊(duì)的成員、任務(wù)(問題)、文檔、討論、Wiki、版本管理,以及各種形式的資源整合在此平臺(tái)上,大家通過(guò)一起參與更新任務(wù)、更新文檔等來(lái)推動(dòng)項(xiàng)目的進(jìn)度。同時(shí),系統(tǒng)地利用時(shí)間線索和各種報(bào)表,動(dòng)態(tài)顯示項(xiàng)目的進(jìn)度狀態(tài)。

          本文引用地址:http://www.ex-cimer.com/article/148266.htm

          a.JPG


          在項(xiàng)目中引入Redmine管理平臺(tái),界面如圖1所示。起到了立竿見影的效果:
          ①開發(fā)團(tuán)隊(duì)中新加入的成員通過(guò)此平臺(tái),可以快速地了解項(xiàng)目的詳細(xì)情況,從而能夠快速地接手項(xiàng)目;
          ②團(tuán)隊(duì)中如有成員離開,其他成員可以快速地接手該成員原來(lái)負(fù)責(zé)的任務(wù);
          ③相對(duì)于以往采用客戶端Tortoise訪問SVN的方式,開發(fā)成員更容易接受Redmine提供的Web訪問方式,來(lái)訪問和操作SVN版本控制器;
          ④為團(tuán)隊(duì)成員的內(nèi)部溝通和交流提供了高效的平臺(tái);
          ⑤根據(jù)項(xiàng)目的進(jìn)展情況,可以及時(shí)地調(diào)整項(xiàng)目的進(jìn)度,從而實(shí)現(xiàn)高效的動(dòng)態(tài)管理。

          2 嵌入式軟件和硬件協(xié)同開發(fā)
          Proteus可以實(shí)現(xiàn)原理圖設(shè)計(jì)、PCB布板以及微處理器與外圍電路的協(xié)同仿真。Proteus微處理器模型支持8051、PIC、MSP430、AVR、ARM 7和HC11等系列微處理器。其中,2011年推出的Proteus7.10版本,增加了對(duì)ARM Correx-M3系列處理器的支持。
          電子產(chǎn)品從芯片的選型、電路設(shè)計(jì)、PCB布板到樣板焊接調(diào)試,這中間一般需要幾個(gè)月的時(shí)間,這段時(shí)間對(duì)整個(gè)項(xiàng)目開發(fā)來(lái)說(shuō),是非常關(guān)鍵的。在磁場(chǎng)檢測(cè)儀樣板制作的同時(shí),嵌入式軟件開發(fā)人員在Proteus中繪制基本原理圖后,就可著手在Proteus的ARM Cortex-M3微處理器模型上編寫程序。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();