日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Source Insight建工程之Kernel

 昵稱9508535 2012-04-08
不管你是 從事于Linux內(nèi)核工作還是出于興趣愛好,Linux內(nèi)核源碼都是非常好的學(xué)習(xí)資源。意味著就要經(jīng)常的和內(nèi)核源碼大交道,那么軟件工具就是少不了的。在 Windows系統(tǒng)上確實(shí)有著許多好用的軟件,這點(diǎn)還是可以肯定的。對于像內(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)的目錄。那么在建立一個(gè)學(xué)習(xí)用的內(nèi)核源碼樹工程 時(shí),當(dāng)然我們只要添加我們所關(guān)心的CPU目錄和一些通用的目錄和文件。

一、建立工程文件夾

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

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

(1)、首先打開Source Insight軟件,配置好軟件所認(rèn)識的文件后綴,點(diǎn)擊菜單欄上Options->Document Options,在Document Type下拉列表中,選擇C Source File,然后在右邊File filter:文本框中添加一些重要文件后綴;*.S;*.lds;Kconfig;*defconfig;*.in;Makefile等(否則點(diǎn)擊Add Tree添加目錄樹時(shí),一些重要文件不被加入到工程,則要手動一個(gè)個(gè)加入)。然后再點(diǎn)擊菜單欄上的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)一個(gè)名為:Add and Remove Project Files對話框,下面我們就針對此對話窗口操作;

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

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

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

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

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

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多