新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > OK6410A學(xué)習(xí)筆記二:嵌入式Linux驅(qū)動開發(fā)環(huán)境的配置和測試

OK6410A學(xué)習(xí)筆記二:嵌入式Linux驅(qū)動開發(fā)環(huán)境的配置和測試

作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
環(huán)境配置:

Window7 32-bit OS + VMware Workstation 6.5 + Ubuntu9.10

本文引用地址:http://m.butianyuan.cn/article/201611/319309.htm

FORLINX OK6410A開發(fā)板

嵌入式Linux驅(qū)動開發(fā)環(huán)境的搭建

1. 安裝arm-linux-gcc交叉編譯器,并設(shè)置環(huán)境變量

2. 將飛凌提供的FORLINX_linux-3.0.1.tar.gz拷貝到/usr/src,解壓并進入linux-3.0.1目錄

3. 執(zhí)行以下命令:#make oldconfig; #make prepare; 這兩個命令用來測試交叉編譯器和驅(qū)動開發(fā)需要的源文件包是否能正常使用,可能會出現(xiàn)提示arm-linux-gcc找不到的情況,這是因為步驟1中交叉編譯器沒有配置好。另外,可以修改頂層Makefile文件中的CROSS_COMPILE來設(shè)置交叉編譯器,然后執(zhí)行#make scripts/使能新的交叉編譯器。

嵌入式Linux驅(qū)動開發(fā)環(huán)境的測試

最好的方法莫過于用HelloWorld實例來測試一下。

//hello.c

#include

#include

MODULE_LICENSE("Dual BSD/GPL");

static int __init s3c6410_hello_init(void)

{

printk(KERN_EMERG "Hello World! This is the sample driver of S3C6410!n");

return 0;

}

static void __exit s3c6410_hello_exit(void)

{

printk(KERN_EMERG "Hello World exit!n");

}

module_init(s3c6410_hello_init);

module_exit(s3c6410_hello_exit);

//Makefile

obj-m:=hello.o

KERNELDIR?=/usr/src/linux-3.0.1

default:

$(MAKE) -C $(KERNELDIR) M=$(shell pwd) modules

clean:

rm -rf *.o *~ *.ko *.mod.c *.order *.symvers

以上部分是源碼和Makefile文件,執(zhí)行#make進行編譯,#make clean清除編譯生成的文件。


接下來,將hello.ko文件拷貝到SD卡中,給OK6410A開發(fā)板上電,進入sdcard目錄(使用DNW工具進行調(diào)試),執(zhí)行#insmod hello.ko加載hello.ko模塊進入內(nèi)核,執(zhí)行#lsmod查看系統(tǒng)當(dāng)前的驅(qū)動模塊。





評論


技術(shù)專區(qū)

關(guān)閉