免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yyykkk1229
打印 上一主题 下一主题

rtc驱动的编写 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-08-22 16:30 |只看该作者
写了个davinci-rtc.c
然后./go.sh 4(这里执行老师写的一个脚本,目的就是为了编译内核的)
生成davinci-rtc.o
然后加载模块
[root@localhost char]# insmod davinci-rtc.o
davinci-rtc.o: ELF file davinci-rtc.o not for this architecture
说不符合这个结构
上面的步骤除了编译内核的一步,其他都是在/drivers/char目录下进行的
为什么加载不了呢,都已经能够成功编译出.o文件了,是不是加载的步骤也需要写一个脚本来完成...

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
12 [报告]
发表于 2008-08-22 16:39 |只看该作者

回复 #11 yyykkk1229 的帖子

晕,你这个编译出来的不是模块,模块编译出来是.ko,所以加载肯定不成功了。

论坛徽章:
0
13 [报告]
发表于 2008-08-22 16:46 |只看该作者

回复 #12 dreamice 的帖子

只有2.6的内核编译出来的模块才是.ko吧,我用的是2.4的核

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
14 [报告]
发表于 2008-08-22 17:08 |只看该作者

回复 #13 yyykkk1229 的帖子

davinci-rtc.o: ELF file davinci-rtc.o not for this architecture
看这个意思是体系结构不对,你是按模块编译的么?编译器对不对?

论坛徽章:
0
15 [报告]
发表于 2008-08-22 17:17 |只看该作者

回复 #14 dreamice 的帖子

编译器应该不会有问题,我按照老师写的脚本进行编译的
因为我是在板子内核里编译的,应用程序运行时arm_v5t_le-gcc hello.c是这样的
我怕是因为不能直接动态insmod

论坛徽章:
0
16 [报告]
发表于 2008-08-22 17:22 |只看该作者
同问,go.sh里的有关编译的部分怎么写的

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
17 [报告]
发表于 2008-08-22 17:23 |只看该作者

回复 #15 yyykkk1229 的帖子

直接insmod应该是可以的,从你的叙述,我看你这个编译的过程可能不对。

论坛徽章:
0
18 [报告]
发表于 2008-08-22 17:24 |只看该作者
3 cmd=$1
      4 if [ -z $cmd ]; then
      5     echo "Usage: go.sh 1/2/3/4/5"
      6 else
      7     if [ $cmd = 1 ]; then
      8         echo "start to use davinci config"
      9         make ARCH=arm CROSS_COMPILE=arm_v5t_le- davinci_dm644x_defconfig
     10     elif [ $cmd = 2 ]; then
     11         echo "start to use montavista default config"
     12         make ARCH=arm CROSS_COMPILE=arm_v5t_le- checksetconfig
     13     elif [ $cmd = 3 ]; then
     14         echo "start to use make menuconfig"
     15         make ARCH=arm CROSS_COMPILE=arm_v5t_le- menuconfig
     16     elif [ $cmd = 4 ]; then
     17         echo "starting to make kernel..."
     18         make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage
     19
     20         echo "copy uImage to /tftpboot"
     21         cp -f arch/arm/boot/uImage /tftpboot
     22     else
     23         echo "starting to make modules..."
     24         make ARCH=arm CROSS_COMPILE=arm_v5t_le- modules
     25     fi
     26
     27 fi

go.sh

论坛徽章:
0
19 [报告]
发表于 2008-08-22 17:25 |只看该作者
辛苦2位高手了,我也感觉直接insmod就行了...

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
20 [报告]
发表于 2008-08-22 17:28 |只看该作者

回复 #18 yyykkk1229 的帖子

可以明确的说,你这个肯定是交叉编译器选择不对。看看编译的时候,echo出来的东西。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP