小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Source Insight建工程之Kernel

 昵稱9508535 2012-04-08
不管你是 從事于Linux內(nèi)核工作還是出于興趣愛好,Linux內(nèi)核源碼都是非常好的學(xué)習(xí)資源。意味著就要經(jīng)常的和內(nèi)核源碼大交道,那么軟件工具就是少不了的。在 Windows系統(tǒng)上確實有著許多好用的軟件,這點還是可以肯定的。對于像內(nèi)核這種復(fù)雜龐大的源碼樹,Source Insight工具便是非常適合且好用的了。那么怎樣去管理Linux內(nèi)核源碼樹呢?很明顯Linux操作系統(tǒng)支持不同的體系結(jié)構(gòu)的CPU,在/ARCH /目錄下有alpha、i386、parisc、sparc、arm、mips等各種具體架構(gòu)的CPU相關(guān)的目錄。那么在建立一個學(xué)習(xí)用的內(nèi)核源碼樹工程 時,當(dāng)然我們只要添加我們所關(guān)心的CPU目錄和一些通用的目錄和文件。

一、建立工程文件夾

        最好建立一個自己的管理Source Insight所有工程文件夾(例如在D:\建立文件夾 D:\SourInProject),然后分別創(chuàng)建單獨的工程文件夾。在這里我們建的是Linux-2.6.22.6工程,那么就建立一個文件夾名為:Linux-2.6.22.6Pro,在里面放置linux-2.6.22.6源碼包,和一個準(zhǔn)備放置Source Insight所創(chuàng)建的linux-2.6.22.6工程包SourInPro。這樣就很清晰,源碼和工程包單獨放在一個命名為Linux-2.6.22.6Pro下,即不同的工程都帶有一個源碼包和一個創(chuàng)建后的工程包。

二、如何創(chuàng)建工程

(1)、首先打開Source Insight軟件,配置好軟件所認(rèn)識的文件后綴,點擊菜單欄上Options->Document Options,在Document Type下拉列表中,選擇C Source File,然后在右邊File filter:文本框中添加一些重要文件后綴;*.S;*.lds;Kconfig;*defconfig;*.in;Makefile等(否則點擊Add Tree添加目錄樹時,一些重要文件不被加入到工程,則要手動一個個加入)。然后再點擊菜單欄上的Project->New Project,在彈出的New Project對話窗口,New project name:(工程名)在這填Linux-2.6.22.6,Where do you want to store the project data files?(你想把你的工程文件存放在哪里),在這我們填在上一步創(chuàng)建的D:\SourInProject\Linux-2.6.22.6Pro\SourInPro。然后一路OK,出現(xiàn)一個名為:Add and Remove Project Files對話框,下面我們就針對此對話窗口操作;

(2)、在Add and Remove Project Files對話框中,我們點擊左邊Directory我們預(yù)先放好的linux-2.6.22.6的源碼包,此時在右邊File Name將會顯示所有的源碼目錄文件。那么我們?nèi)绾芜x擇哪些文件是我們以后查看源碼更為緊密關(guān)聯(lián)的呢?

(3)第一步,我們可以把所有的文件都加進(jìn)工程,畢竟大部分目錄文件還是通用的,然后我們?nèi)コ恍┪覀兯魂P(guān)心的目錄和文件。點擊右邊File Name 框中頂層目錄..(一個向上的箭頭標(biāo)識),這里把Show only known document types(所熟知的文件類型)去掉勾選,否則很多重要的文件像Makefile、Kbuild等其它的文件沒有被加入。然后點擊Add All 在對話框中Add to Project 鉤上Recursively add lower sub-directories(意思遞歸添加子目錄文件);

(4)、顯然在/ARCH/目錄下有alpha、i386、parisc、sparc、arm、mips等各種具體架構(gòu)的CPU相關(guān)的目錄。首先我們先把整個目錄Remove Tree,然后再添加我們所關(guān)心的目錄。在這里我們進(jìn)入Arch中的我們關(guān)心的Arm目錄,首先看到一些單獨的文件(比如Kconfig、Kconfig.debug等,一般頂層的單獨文件都是通用的),我們點擊Add All 在彈出的Add to Project對話框中去掉Include top level sub-directories。然后看到像Boot、Common、Configs、Kernel、Lib目錄,這些在Arm架構(gòu)中都是些通用的目錄,我們依次選中它們,點擊Add Tree;接著是一些Mach-xxx目錄,那我們是哪個Mach呢,往后看有個Mach-s3c2410目錄,就是我們的Mach目錄,點擊Add Tree加入工程。再接著后面的目錄看上去就是通用的,但發(fā)現(xiàn)有幾個目錄是Plat-xxx,顯然我們屬于Plat-s3c24xx,所以從Mm目錄開始,一直到最后目錄(但中間Plat-xxx目錄,我們只選Plat-s3c24xx),我們點擊Add Tree。這樣整個Arch目錄我們已經(jīng)搞定。

(5)、回到頂層目錄我們再往下看,發(fā)現(xiàn)一個Include目錄,同樣里面也會有很多不同體系結(jié)構(gòu)的目錄。進(jìn)入Include目錄,發(fā)現(xiàn)有很多Asm-xxx的目錄,從名字上知道,Asm-arm是arm相關(guān)的頭文件,Asm-i386是x86相關(guān)的頭文件。顯然我們不需要那么多不相關(guān)的目錄,我們回到頂層目錄,選中Include目錄,點擊Remove Tree去除整個目錄,然后再進(jìn)入添加我們關(guān)系的目錄和文件。同是ARM架構(gòu)的也有不同的架構(gòu),進(jìn)入/Include/Asm-arm目錄,這里會有一些單獨的文件,我們點擊Add All 在彈出的Add to Project對話框中去掉Include top level sub-directories,待會我們再處理這些子目錄。進(jìn)入/Include/Asm-arm目錄,同樣把這里面的許多的單獨文件先加入,同上步一樣操作。然后在這里我們發(fā)現(xiàn)Arch-s3c2410是我們所關(guān)心的,進(jìn)入/Include/Asm-arm/Arch-s3c2410目錄,點擊Add All加入所以文件。再回到/Include/Asm-arm目錄,后面Hardware、Mach、Plat-s3c24xx目錄都是通用的,我們選中它們,點擊Add Tree加入到工程。這時,/Include/Asm-xxx目錄我們已經(jīng)搞定Asm-arm。接著回到/Include目錄,發(fā)現(xiàn)有個Asm-generic目錄,從名字上就知道是個通用的目錄,我們選中它,Add Tree加入工程。至此,/Include/Asm-xxx其它目錄我們不用考慮。接著從Crypto目錄開始到最后目錄Video目錄,都是一些通用的目錄和文件,從Crypto目錄開始,按shift,選擇到最后一個目錄,點擊Add Tree加入剩下的目錄。此時/Include目錄我們?nèi)扛愣ǎ?/p>

(6)、最后再回到linux-2.6.22.6頂層目錄,剩下的沒有分析的目錄都是一些通用的目錄,在第一步我們已經(jīng)全部加入此時我們不用理會。關(guān)閉Add and Remove Project Files對話窗口;

(7)最后我們點擊Source Insight菜單欄下的Project->Synchronize Files進(jìn)行同步生成索引。至此,一個比較滿意的工程建立完畢。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多