官方QQ群收藏本站

百问linux嵌入式论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2112|回复: 1

LED驱动源代码分析

[复制链接]

7

主题

15

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2011-9-21 18:22:00 | 显示全部楼层 |阅读模式
在学习"LED驱动源代码"章节时遇到编译不过的情况,内核版本:2.6.30.4;编译器(4.3.3)报告找不到 asm/arch/regs-gpio.h
我用Source Insight 追踪发现在2.6.30.4内核下,regs-gpio.h的有效位置应该在 arch/arm/mach-s3c2410/include/mach/,
于是,把s3c24xx_leds.c下#include <asm/arch/regs-gpio.h> 改为 #include <mach/regs-gpio.h>。
再编译,上述错误不在出现。但又出现asm/hardware.h文件不存在或找不到路径的错误,
用相同的方法追踪,发现有很多针对不同开发板的hardware.h,当然也有一个在 arch/arm/mach-s3c2410/include/mach/
所以,也把 include <asm/hardware.h>改为 #include <mach/hardware.h>。
然后编译,烧录,LED1~4可以按照命令行控制。OK了。

问题:
1,我也查看了2.6.22版本的内核,reps-gpio.h应该位于 include/asm-arm/arch-s3c2410/
    这个似乎也不是源码中的 #include <asm/hardware.h>,请版主确认。

2,在包含一些头文件时,是否有什么规律可循?我把arch/arm/mach-s3c2410/include/mach/regs-gpio.h 用#include <mach/regs-gpio.h>
    来包含,虽然编译pass,但是我自己都是在猜的。我的依据就是截取include目录下的内容,不管include目录在顶层还是其他地方。

3,为了简化内核,我可以删除arch/目录下,除了arm之外的所有路径吗?

谢谢楼主一直以来的耐心回复,前几天本论坛服务器到期,我还着实担心了一把!!
回复

使用道具 举报

56

主题

5186

帖子

7811

积分

超级版主

Rank: 8Rank: 8

积分
7811
QQ
发表于 2011-10-10 09:18:00 | 显示全部楼层

回复:LED驱动源代码分析

include 目录下的 asm 是一个链接文件,指向asm-arm
arch目录也是一个链接文件,
在配置内核时,才会生成asm、arch这些文件,指向具体的目录。


为了简化内核,我可以删除arch/目录下,除了arm之外的所有路径?
可以

回复 支持 反对

使用道具 举报

技术支持
在线咨询
咨询热线
0755-86200561
微信扫一扫
获取更多资讯!

Archiver|小黑屋|百问linux嵌入式论坛     

GMT+8, 2018-12-18 19:47 , Processed in 0.453674 second(s), 19 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表