當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]磁場檢測儀的嵌入式軟件和硬件協(xié)同開發(fā)模式

引言

隨著電子產(chǎn)品功能日益增多、性能日益增強(qiáng),低成本32位微處理器、多層PCB板被廣泛應(yīng)用,軟件和開發(fā)團(tuán)隊(duì)的規(guī)模隨之?dāng)U大,同時開發(fā)周期呈指數(shù)增長。因此,以往的開發(fā)方式越來越不適應(yīng)項(xiàng)目開發(fā)的需要。目前,國內(nèi)磁場檢測儀器主要集中應(yīng)用在工業(yè)用低頻強(qiáng)磁場和通信用的高頻弱磁場測量上,而中頻強(qiáng)磁場測量仍是磁場測量領(lǐng)域的一個難題?;谇度胧讲僮飨到y(tǒng)的中頻強(qiáng)磁場的測量系統(tǒng)開發(fā)中,涉及到高速硬件電路設(shè)計(jì)、多層PCB板布線、32位微處理器編程、上位機(jī)軟件編程等多項(xiàng)工作,因此,需要眾多開發(fā)人員協(xié)同開發(fā)。

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

1 磁場檢測儀開發(fā)管理平臺

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

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

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

 

 

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

①開發(fā)團(tuán)隊(duì)中新加入的成員通過此平臺,可以快速地了解項(xiàng)目的詳細(xì)情況,從而能夠快速地接手項(xiàng)目;

②團(tuán)隊(duì)中如有成員離開,其他成員可以快速地接手該成員原來負(fù)責(zé)的任務(wù);

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

④為團(tuán)隊(duì)成員的內(nèi)部溝通和交流提供了高效的平臺;

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

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

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

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

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

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

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

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

3.1 引入嵌入式操作系統(tǒng)實(shí)現(xiàn)任務(wù)分解

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

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

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

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

 

 

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

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

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

4 下位機(jī)和上位機(jī)的協(xié)同開發(fā)

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

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

 

 

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

結(jié)語

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉