色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          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://cafeforensic.com/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)當前的驅(qū)動模塊。





          評論


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

          關(guān)閉