Linux 集成開發(fā)環(huán)境的實現(xiàn)
1 目的
嵌入式Linux上的開發(fā)上一個函待解決的問題,就是開發(fā)工具的匱乏和開發(fā)過程的混亂。開發(fā)涉及Bootloader、內核、驅動、文件系統(tǒng)、圖形用戶接口和顯示應用程序等多個方面,在各部分的開發(fā)中,又都有自己的一套工具和步驟,這造成了開發(fā)過程繁瑣,標準不統(tǒng)一。同時,開發(fā)工具都運行在Linux文本環(huán)境下,這對用慣了Windows上視窗環(huán)境的開發(fā)者來說,上手比較緩慢。因此我認為需要開發(fā)出一套針對顯示器軟件系統(tǒng)的集成開發(fā)環(huán)境。目前命名為Linux Platform Builder(LPB).
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)該軟件將包括目前嵌入式linux開發(fā)過程的所有方面:軟件自動檢測目前已連接的目標系統(tǒng),避免了繁瑣的修改網(wǎng)絡配置過程;相對獨立的菜單項和詳細的說明文檔使開發(fā)人員可以自由地選擇目前需要開發(fā)的部分,將注意力集中到代碼的編制過程中來;完善的系統(tǒng)測試和調試功能可以輕松找出系統(tǒng)存在的缺陷;CVS版本控制功能保證了代碼文件的堅固,適合多人協(xié)作開發(fā);基于Java平臺的集成開發(fā)環(huán)境可以運行在Windows、Linux、Unix等多種操作系統(tǒng)平臺。
該系統(tǒng)可以作為與某個硬件產(chǎn)品配套的軟件提供,功能根據(jù)使用人員的不同可以劃分為系統(tǒng)開發(fā)版本,應用開發(fā)版本,系統(tǒng)維護版本,生產(chǎn)版本等,在規(guī)范開發(fā)過程的同時,簡化了開發(fā)步驟和難度。
該系統(tǒng)同樣可以為基于其他操作系統(tǒng)比如VxWorks的設備開發(fā)提供幫助,因為該軟件是平臺無關的,目標機與PC機的開發(fā)平臺的連接只通過網(wǎng)絡和串口。不同平臺的代碼生成只是編譯器的不同,而目標機處理器的不同所需要更改的只是該工具的上層處理腳本。
2 系統(tǒng)使用技術及功能架構
該系統(tǒng)的開發(fā)基于eclipse軟件,這個一個專門用來開發(fā)工具的軟件,基于JAVA開發(fā)。在軟件目錄下有一個plugin.xml文件,修改該文件可以自定義要開發(fā)的集成開發(fā)環(huán)境的各個功能。
2.1 IDE框架功能
首先,該軟件需要實現(xiàn)完善的IDE基本功能,包括文件的打開和關閉,代碼的編輯和刪除,多窗口的視圖顯示等,這保證了用戶可以方便的在多個文件中編輯代碼,進行開發(fā)。
2.2 圖形化的編程工具的集成
該功能主要是為了方便的進行l(wèi)inux上圖形化的應用程序的開發(fā),用戶使用該工具完成應用開發(fā)后,交叉編譯生成應用的可執(zhí)行文件。
這一部分開發(fā)工具的選擇是和目標硬件板上所使用的GUI系統(tǒng)相關的,如果目標硬件使用的是tinyX,建議使用FLTK+FLUID來開發(fā)界面程序,這是開源的軟件,用戶可以自己設計控件,添加到系統(tǒng)控件庫中,然后可以方便的以拖放的方式使用。使用這個工具的另一個好處是它也是平臺無關的,在windows上也有相應得版本,因此可以將它整個集成到集成開發(fā)環(huán)境中。
2.3 BSP開發(fā)
該功能可以對系統(tǒng)的固件進行開發(fā),包括了bootloader,Kernel和驅動的開發(fā)。該功能可以方便的對系統(tǒng)固件進行配置,添加自己需要的系統(tǒng)功能和驅動設備,配置完成后點擊“生成”按鈕,交叉編譯生成系統(tǒng)固件。
在windows下是可以開發(fā)和編譯linux下的驅動程序的,因為驅動程序的編譯只需要內核的頭文件,不過2. 4的內核和2.6的內核文件格式是不一樣的,需要作一些轉換。
2.4 目標碼下載與調試
該功能主要實現(xiàn)將系統(tǒng)固件包括應用下載到目標碼上,同時實現(xiàn)了應用程序的遠程調試功能。調試功能包括單步調試,設置斷點等,同時實現(xiàn)應用程序界面的PC機顯示,這是通過以太網(wǎng)將顯示數(shù)據(jù)傳輸?shù)絇C機顯示。
2.5 系統(tǒng)測試
完善的產(chǎn)品設計必須包括測試功能,應該包含的測試有最小運行系統(tǒng)的測試,SDRAM測試,F(xiàn)LASH測試,驅動測試包LDTK(Linux Driver Test Kit)和各接口設備的測試。
2.6 CVS版本控制功能
和CVS服務器通訊,隨時得到最新代碼,保證系統(tǒng)文件的統(tǒng)一性。
圖1 Linux Platform Builder系統(tǒng)功能劃分
因此,該集成開發(fā)工具的實現(xiàn)的技術劃分應該包含三個部分,第一是上層的集成開發(fā)環(huán)境的界面功能,這基于eclipse開發(fā),前面已經(jīng)提到過;第二個部分是需要寫一個和目標硬件通信的通信程序,它有兩份拷貝,分別存放在目標硬件板和PC機上,負責傳遞開發(fā)人員的各種要求;最后就是關于系統(tǒng)的各種測試程序,它應該存放在PC機上,當需要測試系統(tǒng)功能時,通過通信程序下載到目標板上運行。
以上是開發(fā)嵌入式Linux的環(huán)境集成開發(fā)環(huán)境的過程中需要注意的地方,目前該軟件已經(jīng)在三星的ARM系列芯片上實現(xiàn),現(xiàn)在正在實現(xiàn)基于XSCALE系列芯片的功能。
linux相關文章:linux教程
評論