資源描述:
《利用eclipse開發(fā)linux驅(qū)動(dòng)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、利用Eclipse開發(fā)Linux驅(qū)動(dòng)EclipseCDT的使用第一步:下載cygwin(選擇從網(wǎng)絡(luò)直接安裝的包)第二步:安裝cygwin(如果不做任何配置,將默認(rèn)安裝Cygwin運(yùn)行最少的程序組件)1,Devel目錄:gcc-g++,點(diǎn)擊“default”,使其選中最新版本2,Devel目錄:gcc-core,點(diǎn)擊“default”,使其選中最新版本3,Libs目錄:win32api,點(diǎn)擊“default”,使其選中最新版本4,Editor目錄:vim,點(diǎn)擊“default”,使其選中最新版本然后各種確定繼續(xù)。第三步:配置環(huán)境變量PATH:cygwin存放目錄的bin目錄下,如:F:/cygw
2、in/bin,如果PATH有多個(gè)配置項(xiàng),此項(xiàng)放在最前面。第四步:裝cdt插件即可,兩種方式(在線或者離線)Restarteclipse,alldone!設(shè)置Eclipse具有很強(qiáng)大的自動(dòng)補(bǔ)全功能,在瀏覽代碼和編輯代碼的時(shí)候用起來(lái)十分得心應(yīng)手,下面我將介紹如何配置Eclipse,讓它來(lái)幫助我們開放linux驅(qū)動(dòng)。(注意,此處說(shuō)的Eclipse是EclipseIDEforC/C++Developers。而不是EclipseIDEforJavaDevelopers安裝CDT插件后)。1、新建一個(gè)cproject。此項(xiàng)目專門為驅(qū)動(dòng)使用。在右側(cè)projectexplorer列表中,右鍵單擊剛才新建的項(xiàng)目
3、,選擇properties.依次選擇c/c++general->pathsandsymbols,在右面選擇includes選項(xiàng)卡,languages中選擇GNUC此時(shí)在右側(cè)會(huì)顯示出編譯器默認(rèn)的include路徑,好的添加以下內(nèi)容(mini6410為例)/path/of/kernel/dir/include/path/of/kernel/dir/arch/arm/include/path/of/kernel/dir/arch/arm/plat-samsung/include/path/of/kernel/dir/arch/arm/mach-s3c64xx/include(如果寫的是x86下的驅(qū)動(dòng)
4、,用/path/of/kernel/dir/arch/x86/include)再選擇Symbols選項(xiàng)卡,點(diǎn)擊下方ExportSettings,將設(shè)置導(dǎo)出為xml文件.打開該xml文件,在標(biāo)簽中,添加__KERNEL__1之后我們還需要將autoconf.h中的宏定義加入到Eclipse中,執(zhí)行如下步驟[plain]?viewplaincopy1.cd?/path/of/kernel/dir/include/generated/??
5、2.cat?autoconf.h?
6、grep?define?
7、awk?'{print?""?$2?""?$3?""}'?>?symbol.xml??打開symbol.xml,將里面的全部?jī)?nèi)容復(fù)制到剛才xml文件的后面保存文件,點(diǎn)擊ImportSettings導(dǎo)入該文件(如果在導(dǎo)入的時(shí)候經(jīng)常提示解析錯(cuò)誤,那么應(yīng)該是xml的格式寫錯(cuò)了,一定要好好地檢查一下到底是錯(cuò)在哪里了。)點(diǎn)擊OK退出properties,再右擊項(xiàng)目,選擇Index->Rebuild但是配置到此以后,還是沒有辦法自動(dòng)編譯。只好使
8、用自己編寫的Makefile來(lái)編譯了。選擇項(xiàng)目properties.依次選擇c/c++build->MakefileGeneration,將buildDirecotry指定為Makefile位置。如${workspace_loc:/HelloDriver}。其中的HelloDriver是我的項(xiàng)目根目錄。然后自己手動(dòng)編寫Makefile文件。并放置到項(xiàng)目的根目錄下。Makefile示例[css]?viewplaincopy1.pwd?=?$(shell?pwd)??2.KERNEL_SRC?=?/lib/modules/$(shell?uname?-r)/build??3.obj-m?:=?he
9、llo.o??4.module-objs?:=?hello.o??5.all:??6.????????$(MAKE)?-C?$(KERNEL_SRC)?M=$(PWD)?modules??7.clean:??8.?????????rm?-f?*o?*~?.*cmd?*o?*ko?*~?.*cmd??hello.mod.c??右鍵選擇項(xiàng)目->MakeTarget->Create。在彈出的對(duì)話框中,填