新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 協同開發模式在磁場檢測儀開發中的應用

        協同開發模式在磁場檢測儀開發中的應用

        作者: 時間:2012-11-07 來源:網絡 收藏

        由于采用和IAR聯調,即在IAR集成開發環境中進行代碼調試,運行和調試結果直接在中顯示,因此不用等到樣板制作完畢再開始嵌入式軟件的調試,從而做到嵌入式軟件和硬件的同步開發。
        另外,相對于直接在樣板上調試,更容易判斷出某個功能不能實現的具體原因,是由于硬件的故障還是軟件的編程問題引起的,從而避免了誤將硬件故障認為是軟件編程問題的情況發生,大大提高開發效率。另一方面,在磁場檢測儀LCD顯示驅動程序的調試中,利用Proteus提供的邏輯分析儀虛擬儀器測量LCD驅動時序,可以非常直觀地調試LCD的驅動程序,快速地完成LCD驅動程序的編程和調試。
        由于磁場檢測儀中每一版本的PCB都只焊接制作了3塊樣板,大部分調試都在Proteus上完成。所以,用Proteus代替實際樣板調試,可以很大程度地減少元件的購置,減少樣板的制作;同時,也大大減少了JTAG仿真器、示波器、邏輯分析儀等調試設備的購置。為磁場檢測系統開發節約大量的資金和寶貴的開發時間。

        3 嵌入式軟件各模塊
        3.1 引入實現任務分解
        現在,國內低端手機設計上廣泛使用聯發科技MTK的方案,將手機芯片和手機軟件平臺預先整合到一起。MTK的整套軟件系統十分龐大且復雜,但其架構是引入Nucleus,將手機軟件分解成多個任務并行開發。
        MTK使用了Nucleus實時操作系統,但在其上做了內核抽象層的封裝,以適應最終生產廠商選擇其他實時操作系統的需要(如選擇替換為ThreadX)。Nucleus、ThreadX和μC/OS-II這3個功能上很類似,但商用license是不一樣的。其中μC/OS-II應用在市場上銷售的產品,是需要購買license的;而針對高校的教學和研究,是免費的。這也是μC/OS-II廣泛被高校教師和學生認知的一個重要原因,同時這也是我們優先采用μC/OS-II作為磁場檢測儀的嵌入式操作系統的一個重要原因。
        目前,ARM程序的規模一般都很大,需要多人。由于不帶嵌人式操作系統的程序,僅依靠全局變量和函數傳遞信息,程序耦合度十分高,很難實現多人的。引入嵌入式操作系統后,各個任務間通過消息郵箱、消息隊列或信號量同步,大大降低程序的耦合度,極大地提高團隊協同開發的效率。
        引入嵌入式操作系統后,一般將程序分成幾個任務(線程),分別由專人負責。嵌入式軟件開發流程中,首先是對電路板和嵌入式操作系統進行初始化,接著創建若干任務,剩下的工作就是編寫每個任務或中斷處理的程序代碼。圖2為磁場檢測儀的中斷和任務間的同步關系框架圖。

        本文引用地址:http://www.104case.com/article/148266.htm

        c.JPG


        3.2 引入版本控制器實現代碼合并
        引入嵌入式操作系統后,每個嵌入式軟件開發人員只需負責一個或若干任務。通過引入源代碼控制軟件,可以實現嵌入式軟件代碼的整合和集中備份。其中,是BitNami Stack一鍵式安裝模式中默認安裝的版本控制器。通過的使用,開發人員每天回到實驗室,
        通過更新整個項目代碼,然后用Source Insight開始一天的代碼編寫工作。下班前,使用IAR編譯平臺進行代碼編譯,確認沒有編譯錯誤后,再把自己修改過的代碼上傳到SVN中。上傳代碼時,SVN會自動檢測代碼是否存在沖突(如果兩個或多個開發人員都改動了某一文件的同一地方,SVN會提示存在沖突)。如果存在沖突,開發人員可根據實際需要,協調解決沖突。
        引入SVN后,每次代碼上傳到SVN后都會自動更新生成一個版本號。當磁場檢測儀的嵌入式軟件各模塊聯調出現新問題時,通過比較類軟件(如beyond compare),比較兩個版本代碼之間的差別,很多時候能夠快速找出問題的關鍵所在。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 菏泽市| 那曲县| 彰化县| 朝阳市| 双柏县| 道真| 镇平县| 易门县| 永顺县| 汤阴县| 涟水县| 太保市| 武宣县| 辰溪县| 丹东市| 东方市| 龙井市| 亚东县| 秦皇岛市| 梅河口市| 巴东县| 台南县| 登封市| 申扎县| 鄂温| 泗洪县| 彭泽县| 长寿区| 铜川市| 两当县| 临洮县| 武清区| 邯郸市| 涿鹿县| 勃利县| 时尚| 贺州市| 襄城县| 家居| 息烽县| 广东省|