linux第一个驱动helloword遇到的问题
来源:互联网 发布:冒泡排序法的代码c语言 编辑:程序博客网 时间:2024/05/17 22:14
开发板:TQ210 V4 coreB
虚拟机 fedora 9
由于TQ开发板附带光盘里没有linux2.6源码,只有出厂的烧录镜像,所以用的是友善之臂tiny210提供的源码去编译hello.c
make后生成hello.ko,放到开发板上 insmod hello.ko 报错,
hello: version magic '2.6.35.7-FriendlyARM preempt mod_unload ARMv7 ' should be '2.6.35.7-EmbedSky preempt mod_unload ARMv7 '
insmod: can't insert 'hello.ko': invalid module format
才知道是版本检测不匹配,
参照http://blog.sina.com.cn/s/blog_5d2a81780100mat6.html,网上有参照此种方法改了 utsrelease后发现再次编译后仍无法解决,原因是utsrelease是make后自动生成的,所以手动改没什么意义。
既然是make后生成,就修改源码目录下的Makefile 可以修改版本号,再查看.config配置文件CONFIG_LOCALVERSION="-FriendARM",开发板内核版本与生成的hello.ko内核版本就只有此处不同,所以将CONFIG_LOCALVERSION="-FriendARM改为CONFIG_LOCALVERSION="-EmbedSky"然后重新make ,再编译hello.c,生成hello.ko,使用/sbin/modinfo hello.ko查看,可以看到vermagic: 2.6.35.7-EmbedSky preempt mod_unload ARMv7 ,此时与开发板 vermagic一致
在开发板上insmod hello.ko出现了内存溢出的错误,也不知道怎么解决。
实在没辙,好不容易在网上找了天嵌公司提供的linux2.6源码,解压 拷贝配置文件到.config,make后却发现有错误,下了linux3.0源码 编译也有同样的错误,仔细看报错信息显示源码目录下drivers/media/video/samsung/tv20/ s5p_stda_grp.c 第594行有语法错误,也不知道怎么改,就将友善之臂提供的源码同样的文件打开对比了下,确实有不同,反正也不懂就干脆将这个文件用友善之臂提供的替换掉了,再次make 通过,然后修改hello.c的Makefile文件里的内核源码目录,再次make,开发板nfs挂载文件后,insmod hello.ko终于见到了久违的helloword
- linux第一个驱动helloword遇到的问题
- 第一个linux驱动代码遇到的问题的解决办法
- Linux下的第一个代码,HelloWord!
- 遇到的第一个问题
- 我的第一个Linux驱动hello world问题记录
- 第一个Silverlight的helloword教程
- Android的第一个程序--HelloWord
- 我的第一个abap程序 helloword!
- Android菜鸟的第一个helloword工程
- struts2下的第一个HelloWord
- C#2008的第一个程序HelloWord
- 我的第一个Java程序 helloword
- SpringMVC的第一个案例 Helloword 步骤
- HelloWord------我的第一个博客
- 编写第一个Spring 的helloword
- HelloWord你的第一个rainmeter皮肤
- 我的第一个java程序:HelloWord
- 第一个JQM HelloWord
- 每个人都应该知道的14个电脑使用技巧
- 封装一个日期时间选择器
- 关于table 、td设置边距的问题
- Android WebView 开发详解(三)
- 微信公众号开发---红包模块
- linux第一个驱动helloword遇到的问题
- 浏览器的类型
- iOSCocoaPods Updating local specs repositories
- Linux环境下段错误的产生原因及调试方法小结
- jquery 选项卡
- Android 各个版本WebView
- mysql 存储器
- 白手起家学习数据科学 ——梯度下降法之“优化步长和随机梯度下降篇”(六)
- IOS-35-NSAssert的使用