TQ2440驱动-hello world(入门,注意事项)
2013-10-25 19:02
399 查看
入门 2011-06-28 20:32
703人阅读 评论(0)
收藏
举报
module编译器linux内核makefilepathubuntu
驱动开发使用的是tq2440的开发板,linux内核版本为linux-2.6.30.4。
开发平台:
虚拟机下UBUNTU,内核2.6.38.10
交叉编译编译器:天嵌公司提供的arm-linux-gcc 4.3.3
内核树:/opt/EmbedSky/linux-2.6.30.4
目标平台:
TQ2440,内核是ARM9
OS内核:配套光盘中的linux-2.6.30.4
1.首先将 linux-2.6.30.4解压到 /opt/EmbedSky/ 文件夹中
2. sudo -s 切换到root下。此时环境变量改变,make时会提示找不到arm-linux-gcc,echo $PATH会看到没有交叉编译器的路径,于是 执行命令export PATH=$PATH:/usr/local/arm/2.95.3/bin,注意,终端关闭后会失效。此时即可找到交叉编译器。
3.拷贝配置文件cp -f config_EmbedSky_W35 .config config_EmbedSky_W35在内核源码包中
4.make menuconfig 退出保存
make -j2
5. make后可以编译驱动程序
Makefile为:
[cpp]
view plaincopy
KERNELDIR=/opt/EmbedSky/linux-2.6.30.4
PWD:=$(shell pwd)
INSTALLDIR=/home/shake/NFS
CC=arm-linux-gcc
obj-m := hello.o
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
cp hello.ko $(INSTALLDIR)
clean:
rm -rf *.o *.ko *.mod.c *.markers *.order *.symvers
.PHONY:modules modules_install clean
hello.c 源代码
[c-sharp]
view plaincopy
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("GPL"); //添加这句话,否则在PC上编译的时候会出现
#include <linux/kernel.h> //添加了这个头文件printk函数在里面
static int hello_init(void)
{
printk(KERN_INFO " Hello World enter/n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_INFO " Hello World exit/n ");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_AUTHOR("Song Baohua");
MODULE_DESCRIPTION("A simple Hello World Module");
MODULE_ALIAS("a simplest module");
/home/shake/NFS目录通过nfs挂载
开发板端执行insmod
rmmod
相关文章推荐
- TQ2440驱动-hello world(入门,注意事项)
- R语言入门1---R语言介绍以及学前注意事项
- 黑马程序员_java基础(一):Java简介和入门注意事项
- 实体框架 (EF) 入门 => 六、性能注意事项
- ObjectArx自定义实体入门(C++)及注意事项
- Struts 入门及常见注意事项
- struts入门配置文件注意事项
- 嵌入式linux入门之编写shell脚本应注意的事项
- swift入门- UITableview注意事项
- 嵌入式linux入门之c语言学习注意事项总结(一)
- 软件汉化:OllyDBG 入门之五-- 破解注意事项(转)
- 关于Unicode和URL encoding入门的一切以及注意事项
- 嵌入式系统开发入门二:C语言的几个注意事项
- EBAY入门阶段注意事项
- JQuery Hello World及注意事项
- moss部署学习入门及注意事项
- iReport+JasperReport系列文章:iReport入门和注意事项
- Netty4.X学习(一) 入门级Demo--简单C/S端与注意事项及常用方法
- 入门训练:写程序应注意的事项
- iOSweex集成入门,weex快速上手教程,weex集成到iOS工程注意事项(一)