设为首页 加入收藏

TOP

TQ2440的EmbedSky_hello模块编译内核问题及解决
2014-11-24 03:27:17 来源: 作者: 【 】 浏览:1
Tags:TQ2440 EmbedSky_hello 模块 编译 内核 问题 解决

已在内核代码中添加EmbedSky_hello驱动为例,进行内核编译时候出现了一下几个问题:


1、在 /opt/EmbedSky/linux 2.6.30.4/drivers/char目录下修改“Kconfig”文件,添加如下内容:


config EmbedSky_HELLO


tristate "TQ2440/SKY2440 Hello Driver"


depends on ARCH_S3C2440


help


EmbedSky TQ2440/SKY2440 Hello.


后,别忘了在同目录下的“Makefile”文件中添加如下内容:


obj-$(CONFIG_EmbedSky_HELLO) +=EmbedSky_hello.o


将原来的 obj-$(CONFIG_TQ2440_HELLO) +=EmbedSky_hello.o 一句删除。


然后,按照常理,在/opt/EmbedSky/linux 2.6.30.4/目录下运行#make menuconfig命令后在内核配置界面里选择Device Drivers -->....Character devices -->后会出现如下选项:


<>TQ2440/SKY2440 Hello Driver


但在刚解压的内核中进行上述工作,最后不会出现上面说的配置选项,这是为什么呢?原因在于没有进行系统类型的设置,也就是没有和上面的“depends on ARCH_S3C2440”搭配好。现在需要进行如下工作:


#make menuconfig命令进入内核配置界面,选择“Load an Alternate Configuration File”,输入路径“arch/arm/configs/s3c2440_defconfig”,回车进入到“System Type”选项配置菜单,将S3C2440 Machines选项下做如下选择:只选择SMDK2440和SMDK2440 withS3C2440 CPU module两个选项。然后退回最初的配置菜单,选择最下面的“Save an Alternate Configuration File”,将其保存为“.config”文件。在编译系统时会自动调用该文件。


再进行驱动配置就会出现“ <>TQ2440/SKY2440 Hello Driver”选项了。


2、在内核目录下运行命令“make SUBDIR=drivers/char/ modules”生成EmbedSky_hello.ko文件(在drivers/char/目录下),将其复制到开发板 /lib 目录下,按常理当运行“#insmod EmbedSky_hello.ko”加载模块命令后,会显示EmbedSky_hello.c文件中printk指令所定义的出输出内容。但是事与愿违,出现了如下错误提示:


EmbedSky_hello: version magic '2.6.30.4 mod_unload ARMv4 ' should be '2.6.30.4-EmbedSky mod_unload ARMv4 '


insmod: cannot insert 'EmbedSky_hello.ko': invalid module format


出错原因:模块版本与内核版本不匹配!


解决办法:导入预设配置信息,进入menuconfig 继续配置General config ->......Local version -> 加入如下内容:“-EmbedSky ”退出保存为 .config ,重新编译内核,将EmbedSky_hello.ko复制到板子,然后再“#insmod EmbedSky_hello.ko,然后就congratulations,you succeed啦!^_^


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux下共享内存(shm)使用示例 下一篇UNIX上的C语言向Android的JNI代码..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell脚本:Linux Sh (2025-12-25 05:50:11)
·VMware虚拟机安装Lin (2025-12-25 05:50:08)
·Linux学习教程,Linu (2025-12-25 05:50:06)
·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)