嵌入式linux设备驱动编程环境搭建

嵌入式linux环境搭建

花了两天时间,终于搭建好了板子上的linux驱动开发环境,不容易呀,做个笔记。

首先搭建

对照第一个来就对了,得到编译器的包后拷贝到

(1)用文本编辑器打开/etc/profile

在最后面加上

ARM_PATH=/usr/local/arm-2009q1/bin/#(这个是你编译器的路径)

PATH=$ARM_PATH/bin:$PATH

exportARM_PATH

需要注销重新登录

(2)修改.bashrc文件  

这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。

加的东西和上面一样

也需要注销重新登录,生效。

(3)本人用的是第三种方法

打开

试验一下,在终端中输入

编译器装好了,下一步就应该是目标机的库环境,因为最终驱动是运行在板子上,所以需要有板子的

makeoldconfig;

makeprepare

这个时候可能会提示出错,虚拟主机,找不到

CROSS_COMPILE=arm-linux-改成

CROSS_COMPILE=arm-none-linux-gnueabi即可。

最后makescripts/

这样编译环境就搭建好了,接下来就是测试一下,服务器空间,把《

ifneq($(KERNELRELEASE),)

#callfromkernelbuildsystem

obj-m:=hello.o

else

KERNELDIR?=/usr/src/linux-2.6.30.4/

#KERNELDIR?=/lib/modules/$(shelluname-r)/build

PWD:=$(shellpwd)

default:

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

endif

clean:

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

红色标起来的地方就是以前编写本机驱动需要调库的路径,现在改成板上内核源码路径。

#make

得到hello.ko

接下来就是要把

但是奇怪的是,板子访问我的

看了下版本号是一致的呀,找呀找,网站空间,实在没办法,想到看一下日志.在板子上

敲mod_unloadARMv4’shouldbe’2.6.30.4-EmbedSkymod_unloadARMv4′

insmod:cannotinsert’./hello.ko’:invalidmoduleformat

应该是版本号名字不同,想想应该可以在内核源码配置中修改,于是又到

重新编译

hello:modulelicense’Dual/GPL’taintskernel.

Disablinglockdebuggingduetokerneltaint

hello,world

Hello,linux

成功了。

也许不是自己该去发挥的地方,还是让自己到最适合自己战斗的方面去吧!勇敢的接受自己的失败,

嵌入式linux设备驱动编程环境搭建

相关文章:

你感兴趣的文章:

标签云: