<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ò ) 收藏

3.2 引入版本控制器實(shí)現代碼合并

引入操作系統后,每個(gè)軟件人員只需負責一個(gè)或若干任務(wù)。通過(guò)引入源代碼控制軟件,可以實(shí)現軟件代碼的整合和集中備份。其中,SVN是BitNami Redmine Stack一鍵式安裝中默認安裝的版本控制器。通過(guò)SVN的使用,人員每天回到實(shí)驗室,通過(guò)SVN更新整個(gè)項目代碼,然后用Source Insight開(kāi)始一天的代碼編寫(xiě)工作。下班前,使用IAR編譯平臺進(jìn)行代碼編譯,確認沒(méi)有編譯錯誤后,再把自己修改過(guò)的代碼上傳到SVN中。上傳代碼時(shí),SVN會(huì )自動(dòng)檢測代碼是否存在沖突(如果兩個(gè)或多個(gè)人員都改動(dòng)了某一文件的同一地方,SVN會(huì )提示存在沖突)。如果存在沖突,開(kāi)發(fā)人員可根據實(shí)際需要,協(xié)調解決沖突。

引入SVN后,每次代碼上傳到SVN后都會(huì )自動(dòng)更新生成一個(gè)版本號。當的嵌入式軟件各模塊聯(lián)調出現新問(wèn)題時(shí),通過(guò)比較類(lèi)軟件(如beyond compare),比較兩個(gè)版本代碼之間的差別,很多時(shí)候能夠快速找出問(wèn)題的關(guān)鍵所在。

4 下位機和上位機的開(kāi)發(fā)

Bus Hound可以用來(lái)分析USB總線(xiàn)數據協(xié)議、捕獲I/O動(dòng)作等。同時(shí),也可以傳送用戶(hù)編寫(xiě)的命令,實(shí)現對下位機的控制和調試。雖然上位機軟件還沒(méi)有完成,但定義好上位機和下位機的通信協(xié)議后,可以用Bus Hound模擬上位機軟件接收下位機軟件發(fā)送的USB數據,或發(fā)送USB數據給下位機軟件,從而實(shí)現上位機和下位機軟件的并行開(kāi)發(fā)。

中,使用南京沁恒電子有限公司生產(chǎn)的CH375作為USB主控芯片,實(shí)現ARM和上位機的USB通信。實(shí)際編程中,使用了CH375的3個(gè)端點(diǎn),端點(diǎn)0用于控制傳輸,實(shí)現USB設備的枚舉;端點(diǎn)2 IN用于USB數據從下位機到PC的Bulk傳輸(一次最多64字節);端點(diǎn)2 OUT用于USB數據從PC到下位機的Bulk傳輸(一次最多64字節)。Bus Hound接收32字節測量數據如圖3所示,利用Bus Hound控制CH373的USB端點(diǎn)2OUT,分32次控制接收下位機回傳1 KB的磁場(chǎng)點(diǎn)采集信號數據,最終通過(guò)PC的中頻磁場(chǎng)分析軟件實(shí)現中頻磁場(chǎng)的單點(diǎn)、平面和空間的磁場(chǎng)模擬分布顯示。

另外,端點(diǎn)1 IN用于USB數據從下位機到PC的中斷傳輸,端點(diǎn)2 OUT用于USB數據從PC到下位機的BULK傳輸(一次最多8字節)。在磁場(chǎng)嵌入式軟件的調試中,利用端點(diǎn)1 IN發(fā)送調試指令和接收調試數據。

結語(yǔ)

Redmine、Proteus、μC/OS-II、SVN和Bus Hound的使用,提高了磁場(chǎng)檢測系統的開(kāi)發(fā)效率和開(kāi)發(fā)質(zhì)量,為磁場(chǎng)檢測系統高效、高質(zhì)量地完成開(kāi)發(fā)任務(wù)提供了堅實(shí)的基礎。在實(shí)際使用該開(kāi)發(fā)中,高?;蛑行∑髽I(yè)可以根據自身的實(shí)際需要進(jìn)行改動(dòng),如μC/OS-II換成μCl inux等其他嵌入式操作系統,SVN換成GIT等其他版本管理器,Proteus換成SkyEye等其他仿真平臺。最終,有效提高了高校研究生課程的教學(xué)效果以及高校和企業(yè)的項目開(kāi)發(fā)效率和開(kāi)發(fā)質(zhì)量。

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>