<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 磁場(chǎng)檢測儀的嵌入式軟件和硬件協(xié)同開(kāi)發(fā)模式

磁場(chǎng)檢測儀的嵌入式軟件和硬件協(xié)同開(kāi)發(fā)模式

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

引言

本文引用地址:http://dyxdggzs.com/article/148208.htm

隨著(zhù)電子產(chǎn)品功能日益增多、性能日益增強,低成本32位微處理器、多層PCB板被廣泛應用,團隊的規模隨之擴大,同時(shí)周期呈指數增長(cháng)。因此,以往的方式越來(lái)越不適應項目開(kāi)發(fā)的需要。目前,國內器主要集中應用在工業(yè)用低頻強和通信用的高頻弱測量上,而中頻強磁場(chǎng)測量仍是磁場(chǎng)測量領(lǐng)域的一個(gè)難題?;?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/嵌入式">嵌入式操作系統的中頻強磁場(chǎng)的測量系統開(kāi)發(fā)中,涉及到高速電路設計、多層PCB板布線(xiàn)、32位微處理器編程、上位機軟件編程等多項工作,因此,需要眾多開(kāi)發(fā)人員開(kāi)發(fā)。

通過(guò)長(cháng)期的實(shí)踐發(fā)現,在項目開(kāi)發(fā)中引入開(kāi)源項目管理平臺Redmine、操作系統μC/OS-II、仿真軟件Proteus和調試軟件Bus Hou nd,能夠有效地提升整個(gè)項目的開(kāi)發(fā)能力和管理水平。采用開(kāi)發(fā)管理,可以達到以下4方面的顯著(zhù)效果:提高之間的協(xié)同開(kāi)發(fā)效率;提高嵌入式軟件各模塊間的開(kāi)發(fā)效率和開(kāi)發(fā)質(zhì)量;提高上位機和下位機軟件的開(kāi)發(fā)效率和開(kāi)發(fā)質(zhì)量;有效提高整個(gè)項目協(xié)同開(kāi)發(fā)的管理水平。

1 磁場(chǎng)開(kāi)發(fā)管理平臺

項目管理的好壞關(guān)系到項目開(kāi)發(fā)質(zhì)量的高低,同時(shí),對開(kāi)發(fā)效率和開(kāi)發(fā)質(zhì)量也將產(chǎn)生重大的影響。目前市場(chǎng)上,基于Web的開(kāi)源項目管理軟件已經(jīng)發(fā)展得很成熟,此類(lèi)軟件在高校的教學(xué)和研究,以及中小企業(yè)的項目開(kāi)發(fā)管理中,都得到了廣泛的應用。

現階段,在磁場(chǎng)檢測系統項目開(kāi)發(fā)中,由于軟的開(kāi)發(fā)復雜,開(kāi)發(fā)人員眾多且開(kāi)發(fā)人員存在著(zhù)開(kāi)發(fā)能力參差不齊、流動(dòng)性大等特點(diǎn),加上項目的開(kāi)發(fā)時(shí)間跨度大等原因,使得項目管理變得十分困難。經(jīng)過(guò)筆者應用分析,從軟件的成熟度、穩定性、流行性、社區發(fā)展情況,以及安裝配置的簡(jiǎn)易性這幾方面進(jìn)行詳細的分析比較,最終在Launchpad、Redmine和Trac這3個(gè)軟件中,選擇了Redmine。

在磁場(chǎng)檢測系統的項目管理平臺搭建中,首先,利用BitNami Redmine Stack提供的一鍵式安裝包,安裝好Redmine平臺,然后把中頻磁場(chǎng)檢測系統開(kāi)發(fā)團隊的成員、任務(wù)(問(wèn)題)、文檔、討論、Wiki、版本管理,以及各種形式的資源整合在此平臺上,大家通過(guò)一起參與更新任務(wù)、更新文檔等來(lái)推動(dòng)項目的進(jìn)度。同時(shí),系統地利用時(shí)間線(xiàn)索和各種報表,動(dòng)態(tài)顯示項目的進(jìn)度狀態(tài)。

在項目中引入Redmine管理平臺,界面如圖1所示。起到了立竿見(jiàn)影的效果:

①開(kāi)發(fā)團隊中新加入的成員通過(guò)此平臺,可以快速地了解項目的詳細情況,從而能夠快速地接手項目;

②團隊中如有成員離開(kāi),其他成員可以快速地接手該成員原來(lái)負責的任務(wù);

③相對于以往采用客戶(hù)端TortoiseSVN訪(fǎng)問(wèn)SVN的方式,開(kāi)發(fā)成員更容易接受Redmine提供的Web訪(fǎng)問(wèn)方式,來(lái)訪(fǎng)問(wèn)和操作SVN版本控制器;

④為團隊成員的內部溝通和交流提供了高效的平臺;

⑤根據項目的進(jìn)展情況,可以及時(shí)地調整項目的進(jìn)度,從而實(shí)現高效的動(dòng)態(tài)管理。

2 嵌入式硬件協(xié)同開(kāi)發(fā)

Proteus可以實(shí)現原理圖設計、PCB布板以及微處理器與外圍電路的協(xié)同仿真。Proteus微處理器模型支持8051、PIC、MSP430、AVR、ARM 7和HC11等系列微處理器。其中,2011年推出的Proteus7.10版本,增加了對ARM Correx-M3系列處理器的支持。

電子產(chǎn)品從芯片的選型、電路設計、PCB布板到樣板焊接調試,這中間一般需要幾個(gè)月的時(shí)間,這段時(shí)間對整個(gè)項目開(kāi)發(fā)來(lái)說(shuō),是非常關(guān)鍵的。在磁場(chǎng)樣板制作的同時(shí),嵌入式軟件開(kāi)發(fā)人員在Proteus中繪制基本原理圖后,就可著(zhù)手在Proteus的ARM Cortex-M3微處理器模型上編寫(xiě)程序。

由于采用Proteus和IAR聯(lián)調,即在IAR集成開(kāi)發(fā)環(huán)境中進(jìn)行代碼調試,運行和調試結果直接在Proteus中顯示,因此不用等到樣板制作完畢再開(kāi)始嵌入式軟件的調試,從而做到嵌入式軟件和硬件的同步開(kāi)發(fā)。

另外,相對于直接在樣板上調試,Proteus更容易判斷出某個(gè)功能不能實(shí)現的具體原因,是由于硬件的故障還是軟件的編程問(wèn)題引起的,從而避免了誤將硬件故障認為是軟件編程問(wèn)題的情況發(fā)生,大大提高開(kāi)發(fā)效率。另一方面,在磁場(chǎng)檢測儀LCD顯示驅動(dòng)程序的調試中,利用Proteus提供的邏輯分析儀虛擬儀器測量LCD驅動(dòng)時(shí)序,可以非常直觀(guān)地調試LCD的驅動(dòng)程序,快速地完成LCD驅動(dòng)程序的編程和調試。

由于磁場(chǎng)檢測儀中每一版本的PCB都只焊接制作了3塊樣板,大部分調試都在Proteus上完成。所以,用Proteus代替實(shí)際樣板調試,可以很大程度地減少元件的購置,減少樣板的制作;同時(shí),也大大減少了JTAG仿真器、示波器、邏輯分析儀等調試設備的購置。為磁場(chǎng)檢測系統開(kāi)發(fā)節約大量的資金和寶貴的開(kāi)發(fā)時(shí)間。

3 嵌入式軟件各模塊協(xié)同開(kāi)發(fā)

3.1 引入嵌入式操作系統實(shí)現任務(wù)分解

現在,國內低端手機設計上廣泛使用聯(lián)發(fā)科技MTK的方案,將手機芯片和手機軟件平臺預先整合到一起。MTK的整套軟件系統十分龐大且復雜,但其架構是引入Nucleus嵌入式操作系統,將手機軟件分解成多個(gè)任務(wù)并行開(kāi)發(fā)。

MTK使用了Nucleus實(shí)時(shí)操作系統,但在其上做了內核抽象層的封裝,以適應最終生產(chǎn)廠(chǎng)商選擇其他實(shí)時(shí)操作系統的需要(如選擇替換為T(mén)hreadX)。Nucleus、ThreadX和μC/OS-II這3個(gè)嵌入式操作系統功能上很類(lèi)似,但商用license是不一樣的。其中μC/OS-II應用在市場(chǎng)上銷(xiāo)售的產(chǎn)品,是需要購買(mǎi)license的;而針對高校的教學(xué)和研究,是免費的。這也是μC/OS-II廣泛被高校教師和學(xué)生認知的一個(gè)重要原因,同時(shí)這也是我們優(yōu)先采用μC/OS-II作為磁場(chǎng)檢測儀的嵌入式操作系統的一個(gè)重要原因。

目前,ARM程序的規模一般都很大,需要多人協(xié)同開(kāi)發(fā)。由于不帶嵌人式操作系統的程序,僅依靠全局變量和函數傳遞信息,程序耦合度十分高,很難實(shí)現多人的協(xié)同開(kāi)發(fā)。引入嵌入式操作系統后,各個(gè)任務(wù)間通過(guò)消息郵箱、消息隊列或信號量同步,大大降低程序的耦合度,極大地提高團隊協(xié)同開(kāi)發(fā)的效率。

引入嵌入式操作系統后,一般將程序分成幾個(gè)任務(wù)(線(xiàn)程),分別由專(zhuān)人負責。嵌入式軟件開(kāi)發(fā)流程中,首先是對電路板和嵌入式操作系統進(jìn)行初始化,接著(zhù)創(chuàng )建若干任務(wù),剩下的工作就是編寫(xiě)每個(gè)任務(wù)或中斷處理的程序代碼。圖2為磁場(chǎng)檢測儀的中斷和任務(wù)間的同步關(guān)系框架圖.

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>