主题 : 使用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: 36941
精华: 0
发帖: 102
金钱: 510 两
威望: 102 点
贡献值: 0 点
综合积分: 204 分
注册时间: 2011-01-24
最后登录: 2018-02-08
2楼  发表于: 2011-08-04 21:31

 回 2楼(gt945) 的帖子

  这个  我尝试了很多次  寄存器的定义从最原始的定义文件开始 都引入了 依然不好使!