• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : 使用eclipse开发linux驱动(更新) 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 6350
精华: 2
发帖: 110
金钱: 895 两
威望: 486 点
贡献值: 2 点
综合积分: 260 分
注册时间: 2009-05-29
最后登录: 2016-10-11
楼主  发表于: 2011-08-04 11:52

 使用eclipse开发linux驱动(更新)

管理提醒: 本帖被 xoom 设置为精华(2011-09-16)
新建一个c project
在右侧project explorer列表中,右键单击刚才新建的项目,选择properties.
依次选择c/c++ general -> paths and symbols, 在右面选择includes选项卡,languages中选择 GNU C
此时在右侧会显示出编译器默认的include路径,好的添加以下内容(mini6410为例)
/path/of/kernel/dir/include
/path/of/kernel/dir/arch/arm/include
/path/of/kernel/dir/arch/arm/plat-samsung/include
/path/of/kernel/dir/arch/arm/mach-s3c64xx/include

再选择Symbols选项卡, 点击下方Export Settings,将设置导出为xml文件.
打开该xml文件, 在<language name="C Source File"> </language>标签中,添加
<macro><name>__KERNEL__</name><value>1</value></macro>

之后我们还需要将autoconf.h中的宏定义加入到Eclipse中,执行如下步骤
cd /path/of/kernel/dir/include/generated/
cat autoconf.h |grep define |awk '{print "<macro><name>" $2 "</name><value>" $3 "</value></macro>"}' > symbol.xml

打开symbol.xml, 将里面的全部内容复制到 刚才xml文件</macro>的后面

保存文件,点击Import Settings 导入该文件
点击OK退出properties,再右击项目,选择 Index -> Rebuild
[ 此帖被gt945在2011-09-19 16:48重新编辑 ]
级别: 侠客
UID: 36941
精华: 0
发帖: 102
金钱: 510 两
威望: 102 点
贡献值: 0 点
综合积分: 204 分
注册时间: 2011-01-24
最后登录: 2018-02-08
1楼  发表于: 2011-08-04 16:19
尝试了一下 初现了个问题    

        __raw_writel(tcnt, S3C_TCNTB(2)); //  没有报错
    __raw_writel(0, S3C_TCMPB(2));//没有报错
        __raw_writel(tcon, S3C_TCON);//报错
        __raw_writel(tcfg1, S3C_TCFG1);//报错

错误均是未找到寄存器  但是  这几个寄存器 是在一个文件里的
级别: 侠客
UID: 6350
精华: 2
发帖: 110
金钱: 895 两
威望: 486 点
贡献值: 2 点
综合积分: 260 分
注册时间: 2009-05-29
最后登录: 2016-10-11
2楼  发表于: 2011-08-04 21:05
引用第1楼728196于2011-08-04 16:19发表的  :
尝试了一下 初现了个问题    

        __raw_writel(tcnt, S3C_TCNTB(2)); //  没有报错
    __raw_writel(0, S3C_TCMPB(2));//没有报错
        __raw_writel(tcon, S3C_TCON);//报错
.......

有时候并不是你所看到的这个宏找不见,而是这个宏所嵌套的宏找不见
比如:
#define S3C_TCON        S3C_TIMERREG(0x08)
S3C_TIMERREG这个要是找不见的话会报错
级别: 侠客
UID: 36941
精华: 0
发帖: 102
金钱: 510 两
威望: 102 点
贡献值: 0 点
综合积分: 204 分
注册时间: 2011-01-24
最后登录: 2018-02-08
3楼  发表于: 2011-08-04 21:31

 回 2楼(gt945) 的帖子

  这个  我尝试了很多次  寄存器的定义从最原始的定义文件开始 都引入了 依然不好使!
级别: 侠客
UID: 6350
精华: 2
发帖: 110
金钱: 895 两
威望: 486 点
贡献值: 2 点
综合积分: 260 分
注册时间: 2009-05-29
最后登录: 2016-10-11
4楼  发表于: 2011-08-04 22:33

 回 3楼(728196) 的帖子

好吧,忘了说一点,如果发现有问题,在左侧项目名上点右键, index -> rebuild

总之我用得还是很舒服的,没有你那种问题
级别: 新手上路
UID: 53367
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
贡献值: 0 点
综合积分: 28 分
注册时间: 2011-08-06
最后登录: 2017-09-13
5楼  发表于: 2011-08-06 13:56
看看啊
级别: 新手上路
UID: 50628
精华: 0
发帖: 18
金钱: 95 两
威望: 19 点
贡献值: 0 点
综合积分: 36 分
注册时间: 2011-06-24
最后登录: 2011-09-23
6楼  发表于: 2011-09-09 13:06
Eclipse 确实好用,虽然没设置好通过 Eclipse 编译,不过用它来编辑,然后通过命令来编译也很好用了。
级别: 侠客
UID: 6350
精华: 2
发帖: 110
金钱: 895 两
威望: 486 点
贡献值: 2 点
综合积分: 260 分
注册时间: 2009-05-29
最后登录: 2016-10-11
7楼  发表于: 2011-09-19 16:48
更新一下
级别: 侠客
UID: 6350
精华: 2
发帖: 110
金钱: 895 两
威望: 486 点
贡献值: 2 点
综合积分: 260 分
注册时间: 2009-05-29
最后登录: 2016-10-11
8楼  发表于: 2011-09-19 16:52
引用第6楼bookong于2011-09-09 13:06发表的  :
Eclipse 确实好用,虽然没设置好通过 Eclipse 编译,不过用它来编辑,然后通过命令来编译也很好用了。

编译不是问题,关键是编辑的时候效率一定要高呀! Eclipse 的自动补全功能还是很给力的~~
级别: 新手上路
UID: 46263
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
贡献值: 0 点
综合积分: 44 分
注册时间: 2011-05-11
最后登录: 2013-04-26
9楼  发表于: 2013-01-22 11:13

 回 楼主(gt945) 的帖子

good!!!!
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go