Welcome 微信登录

首页 / 操作系统 / Linux / 嵌入式Linux设备驱动编程环境搭建

终于搭建好了板子上的linux驱动开发环境,不容易呀,做个笔记。首先搭建PC上的编译环境,因为编译的驱动是在板子上运行的,第一步当然需要安装交叉编译器,即arm-none-linux-gnueabi-gcc等或者是arm-linux-gcc等。其实比较简单,可以从网上下载或者光盘中得到,给出一个网址 点击这里对照第一个来就对了,得到编译器的包后拷贝到/usr/loca/ 解压缩,关键的步骤是设置环境变量,即使其他程序能找到arm gcc,有好几方式设置环境变量:(1) 用文本编辑器打开/etc/profile在最后面加上ARM_PATH=/usr/local/arm-2009q1/bin/    #(这个是你编译器的路径)PATH=$ARM_PATH/bin:$PATHexport ARM_PATH需要注销重新登录(2)修改.bashrc文件 这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。加的东西和上面一样也需要注销重新登录,生效。(3)本人用的是第三种方法打开/etc/environment 在最后一项添加:/usr/local/arm-2009q1/bin/ 各项间以:分隔,还是注销重新登录。试验一下,在终端中输入arm- 然后tab键,如果能补全就ok了。编译器装好了,下一步就应该是目标机的库环境,因为最终驱动是运行在板子上,所以需要有板子的linux内核代码,构建库。板子是借同事的TQ2440,从天嵌论坛上下载内核源代码,放在/usr/src 目录下解压后进入代码目录,这里需要敲三个命令:make oldconfig;make prepare这个时候可能会提示出错,找不到arm-linux-gcc, 如果安装的是arm-none-linux-gnueabi-gcc的话 需要修改内核源码目录下的Makefile 中的CROSS_COMPILE = arm-linux-  改成CROSS_COMPILE = arm-none-linux-gnueabi 即可。最后 make scripts/这样编译环境就搭建好了,接下来就是测试一下,把《linux设备驱动程序》中的hello 程序拿来用,修改Makefileifneq ($(KERNELRELEASE),)# call from kernel build systemobj-m := hello.oelseKERNELDIR ?= /usr/src/linux-2.6.30.4/#KERNELDIR ?= /lib/modules/$(shell uname -r)/buildPWD     := $(shell pwd)default:$(MAKE) -C $(KERNELDIR) M=$(PWD) modulesendifclean:rm -rf *.o *~core .depend .*.cmd *.ko *.mod.c .tmp_versions红色标起来的地方就是以前编写本机驱动需要调库的路径,现在改成板上内核源码路径。#make得到hello.ko
  • 1
  • 2
  • 下一页
Ubuntu环境下OpenGrok的安装及使用Ubuntu 12.04安装使用Texlive2012相关资讯      嵌入式Linux 
  • 2015年嵌入式和移动Linux领域的几  (01月06日)
  • OpenWRT嵌入式Linux故障排除一例  (01/17/2015 13:04:14)
  • 10款专为嵌入式系统打造的Linux平  (06/27/2014 14:27:09)
  • 解决嵌入式Linux中的时区问题  (09/13/2015 13:49:19)
  • 嵌入式Linux开发环境搭建  (08/19/2014 05:49:14)
  • 嵌入式Linux中GPS信息读取与处理  (04/08/2014 19:31:47)
本文评论 查看全部评论 (1)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款