如何用arm-linux-gcc编译驱动程序,Makefile文件怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用arm-linux-gcc编译驱动程序,Makefile文件怎么写?相关的知识,希望对你有一定的参考价值。

本人是新手,前天编写一个最简单驱动到嵌入式ARM板上时出现了错误,然后试了很多方法都不成功,不知道怎么写和配置。请各位先辈指点一下。参考本版精华贴,肯定会找到满意的回答

参考技术A 回复
http://bbs.chinaunix.net/viewthread.php?tid=1921952
上面说的方法我还是不是很明白啊,我现在简直没办法了,昨天晚我看到一个资料上面写的helloworld驱动的例子有两份Makefile,一份是x86机子上的,一份是arm平台上的,arm上的这样写:ifneq
($(KERNELRELEASE),)obj-m:=hello.oelseKDIR/usr/src/kernels/opt/EmbedSky/linux-2.6.30.4/all:
make
-C
$(KDIR)
M=$(PWD)
modules
ARCH=arm
CROSS_COMPLIE=arm-linux-clean:
rm
-f
*.ko
*.o
*.mod.o
*.mod.c
*.symversendif看到后我想应该是要用用于移植的内核来编译吧,于是我干脆把资料提供的内核拷贝到PC的Linux系统中然后解压、编译直至安装,然后就再模仿例子写了Makefile如上所示,然后make后终于通过编译成功了,然后我再下载到arm板上安装,却又出现下面的错误:insmod:
can't
insert
'hello.ko':
unknown
symbol
in
module,
or
unknown
parameter。我就又彻底晕了。到底是怎么回事,应该怎么办的呢?

以上是关于如何用arm-linux-gcc编译驱动程序,Makefile文件怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

我的数码相框.c文件用arm-linux-gcc交叉编译时出现错误,如tgzip.c:309:undefined reference to

用Linux编译程序时用到eXosip这个库,下载安装后,gcc编译程序能通过,arm-linux-gcc则不行,该怎么做?

如何用命令行编译c++程序

arm-linux-gcc 常用参数讲解 gcc编译器使用方法

如何用HDF5源代码编译c程序?

arm-linux-gcc怎么编译自己写的头文件