如何开始写嵌入式linux设备驱动程序

18 篇文章 0 订阅

一,开发环境的建立:

 

  1.准备内核:

 

   将开发板上的linux内核解压到一个目录如linux2410

   #make menuconfig 配置内核

   #make  zImage  编译内核,如果不编译,是无法通过驱动程序的编译的,请记住。

 

  2.准备交叉编译工具

 

  将arm-linux编译工具解压到/usr/local/arm下,或者你自己的任何一个目录.

 

 

  3. 编写设备驱动程序。

 

 

 

  4.写编译的Makefile.,如下:(注意make行要用TAB键后退,这是makefile的常识)

 

 

  ifeq ($(KERNELRELEASE),)

 

KERNELDIR:=  /media/data/data/2410/linux2410/                #这是你编译的内核目录.

 

PWD := $(shell pwd)

 

 

 

CROSS_COMPILE := /usr/local/arm/3.3.2/bin/arm-linux-

 

CC := $(CROSS_COMPILE)gcc

 

LD := $(CROSS_COMPILE)ld

 

 

 

modules:

 

$(MAKE) -C $(KERNELDIR) M=$(PWD) modules

 

modules_install:

 

$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install

 

clean:

 

rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions

 

.PHONY:

 

modules modules_install clean

 

else

 

obj-m := gpio.o

 

endif 

 

///

 

5. 编译内核.

 

6.加载内核

 

#insmod xxx.ko

#mknod  "device name"  c 33 0  //后面的参数 c表示字符设备, 33表示主设备号,0表示次设备号。自己订吧.

 

7. 写测试程序测试驱动.

 

 

特别注意事项:

 

     编译的环境一定要同板一致.可以用modinfo xxx.ko  查看相关的版本信息。否则insmod 时会说格式出错!!!!!!!!!!!!

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值